RK 打包脚本 make_ext4fs system.img 、RK3399 Google编译

https://blog.csdn.net/ttxgz/article/details/7542380

一.打包到system.img 报的问题 生成镜像时提示Out of space

1.1.mkimage.sh

1.2.这个错误是由于增加了预置apk,导致system.img超过了分配的空间大小导致的

1
2
3
4
make loader...done.
create parameter...done.
create system.img... ./mkimage.sh: line 151: 12094 Segmentation fault      (core dumped) make_ext4fs -l $system_size MAKE_EXT4FS_ARGS > /dev/null 2>&1
done.

1.3.解决办法 给system加536M 

1
2
3
4
5
6
7
8
9
--- a/device/rockchip/common/BoardConfig.mk
+++ b/device/rockchip/common/BoardConfig.mk
@@ -79,7 +79,7 @@ TARGET_PROVIDES_INIT_RC ?= false
 BOARD_HAL_STATIC_LIBRARIES ?= libdumpstate.$(TARGET_PRODUCT) libhealthd.$(TARGET_PRODUCT)
  
 //MAX-SIZE=512M, for generate out/.../system.img
-BOARD_SYSTEMIMAGE_PARTITION_SIZE ?= 1073741824
+BOARD_SYSTEMIMAGE_PARTITION_SIZE ?= 1610612736
 BOARD_FLASH_BLOCK_SIZE ?= 131072

 二编译Google包 分区不足

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
error: ext4_allocate_best_fit_partial: failed to allocate 139 blocks, out of space?
Creating filesystem with parameters:
    Size: 1199996928
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 8144
    Inode size: 256
    Journal blocks: 4577
    Label: system
    Blocks: 292968
    Block groups: 9
    Reserved block group size: 71
Out of space? the tree size of out/target/product/rk3399_box/system is (MB):
1189    out/target/product/rk3399_box/system
The max is 1144 MB.

 加大system     2147483648 ->2G

1
2
3
4
5
6
7
8
--- a/device/rockchip/rk3399/BoardConfig.mk
+++ b/device/rockchip/rk3399/BoardConfig.mk
@@ -76,7 +76,7 @@ BOARD_OPENGL_AEP := true
  
  
 //MAX-SIZE=2G, for generate out/.../system.img
-BOARD_SYSTEMIMAGE_PARTITION_SIZE := 1610612736
+BOARD_SYSTEMIMAGE_PARTITION_SIZE := 2147483648

 三.RK3399 Google GMS包编译、Google服务

1
2
3
4
5
6
7
8
9
10
--- a/device/rockchip/rk3399/rk3399_all.mk
+++ b/device/rockchip/rk3399/rk3399_all.mk
@@ -33,7 +33,7 @@ endif
 BOARD_USE_APP_ALARM_ALIGNMENT ?= false
  
 # google apps
-BUILD_WITH_GOOGLE_MARKET := false
+BUILD_WITH_GOOGLE_MARKET := true
 BUILD_WITH_GOOGLE_MARKET_ALL := false
 BUILD_WITH_GOOGLE_FRP := false

 3.1.device\rockchip\common\device.mk  gms.mk 编译的谷歌服务

1
2
3
4
5
6
7
ifeq ($(strip $(BUILD_WITH_GOOGLE_MARKET)), true)
ifeq ($(strip $(BUILD_WITH_GOOGLE_MARKET_ALL)), true)
$(call inherit-product-if-exists, vendor/partner_gms/products/gms.mk)
else
$(call inherit-product-if-exists, vendor/partner_gms/products/gms-mandatory.mk)
endif
endif

vendor\partner_gms\products\gms.mk 

 

 

posted @   CrushGirl  阅读(1531)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示