openharmony源码编译之 修改分区大小指南
RK3588 OpenHarmony 分区大小修改指南概述修改系统分区大小需要修改两处配置必须保持一致否则会导致烧录失败。一、涉及的配置文件序号文件路径作用单位1vendor/kaihong/khp_rk3588_ic816/image_conf/system_image_conf.txt编译时生成镜像的大小字节2device/board/kaihong/khp_rk3588_ic816/loader/parameter.txtEMMC 硬件分区表普通烧录扇区512字节3device/board/kaihong/khp_rk3588_ic816/loader/parameter_secure.txtEMMC 硬件分区表安全烧录扇区512字节二、单位换算2.1 常用大小换算表大小字节 (Byte)扇区 (Sector)扇区十六进制512MB53687091210485760x001000001GB107374182420971520x002000001.5GB161061273631457280x003000002GB214748364841943040x004000002.5GB268435456052428800x005000003GB322122547262914560x006000002.2 计算公式字节 GB * 1024 * 1024 * 1024 扇区 字节 / 512示例2.5GB字节 2.5 * 1024 * 1024 * 1024 2684354560 扇区 2684354560 / 512 5242880 0x00500000三、修改步骤以 system 分区从 2GB 改为 2.5GB 为例3.1 第一步修改镜像大小配置文件vendor/kaihong/khp_rk3588_ic816/image_conf/system_image_conf.txt修改前/ 2147483648 # 2GB --fs_typeext4 ...修改后/ 2684354560 # 2.5GB --fs_typeext4 ...直接修改第二行的数字为目标大小字节。3.2 第二步修改分区表配置文件device/board/kaihong/khp_rk3588_ic816/loader/parameter.txt分区表格式说明大小偏移(名称) 例如0x004000000x00040000(system) ↑ ↑ 大小 起始位置原始分区表...(ramdisk),0x004000000x00040000(system),0x001000000x00440000(vendor),0x000C00000x00540000(sys-prod),...修改内容system 大小0x00400000→0x00500000增大 0x00100000 512MB后续所有分区偏移都要 0x00100000分区原偏移新偏移说明system0x000400000x00040000起始位置不变vendor0x004400000x005400000x00100000sys-prod0x005400000x006400000x00100000chip-prod0x006000000x007000000x00100000recovery0x006800000x007800000x00100000factory0x006900000x007900000x00100000userdata0x008000000x009000000x00100000修改后分区表...(ramdisk),0x005000000x00040000(system),0x001000000x00540000(vendor),0x000C00000x00640000(sys-prod),...3.3 第三步修改安全烧录分区表文件device/board/kaihong/khp_rk3588_ic816/loader/parameter_secure.txt修改方法与 parameter.txt 完全相同包括后续所有分区的偏移调整。安全烧录模式多了 rvt、security 等分区这些分区的偏移也要同步调整。四、验证修改4.1 检查配置一致性# 检查镜像大小配置catvendor/kaihong/khp_rk3588_ic816/image_conf/system_image_conf.txt# 检查分区表grepsystemdevice/board/kaihong/khp_rk3588_ic816/loader/parameter.txtgrepsystemdevice/board/kaihong/khp_rk3588_ic816/loader/parameter_secure.txt确认字节数 扇区数 × 512两个 parameter.txt 中 system 大小相同4.2 编译验证./build.sh --product-name khp_rk3588_ic816编译完成后检查ls-lhout/arm64/khp_rk3588_ic816/packages/phone/images/system.img应该显示2.5G五、其他分区修改参考5.1 修改 vendor 分区vendor 分区在 system 之后修改 vendor 大小vendor 大小变更sys-prod 及后续分区偏移同步调整5.2 修改 userdata 分区userdata 是最后一个分区用-表示占满剩余空间...-0x00900000(userdata:grow)只需调整前面分区userdata 自动适配。六、常见问题Q1: 烧录提示 “system partition not enough to store image”原因parameter.txt中的 system 分区大小 system_image_conf.txt中的镜像大小解决两处配置保持一致Q2: 编译后镜像大小还是原来的原因增量编译没有重新打包镜像解决make clean后重新编译或删除out目录Q3: 改大了 system 分区userdata 变小了正常现象EMMC 总空间固定system 大了 userdata 就小了根据实际需求平衡。Q4: 改大了 system 分区为什么 df -h 显示 userdata 还是 111G 没变原因分析比例太小显示不明显512MB 相对于 111GB 仅占 0.46%df -h四舍五入后看不出变化原始分区表有空隙factory 结束位置0x00792000到 userdata 开始0x00900000之间本来就有约 732MB 空隙增大的 512MB 先吃掉了这个空隙精确验证方法# 1. 查看分区精确大小1K 块为单位df# 2. 查看内核分区表确认 system 实际扇区数cat/proc/partitions# 3. system 分区扇区数验证# 2GB: 4194304 块# 2.5GB: 5242880 块确认 system 确实是 2.5GB 即表示配置生效userdata 微小变化不影响使用。七、大小设置建议分区推荐大小说明system实际内容 300~500MB 余量不要太大够用即可vendor512MB一般不需要改sys-prod384MB一般不需要改chip-prod256MB一般不需要改userdata剩余全部用户数据区越大越好先编译一次查看实际内容大小mount -o loop system.img /mnt du -sh /mnt附磁盘分区修改前磁盘分区修改后
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2590006.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!