全志H618ROM修改 需求:根目录新增 ider 目录,为2G大小,给完整读写权限,三清需要保留此文件夹,即恢复出厂时,此文件夹不能做变化. 但ota时需要覆盖。
4条回答 默认 最新
关注 引自免费微信小程序:皆我百晓生
要实现这个需求,你需要进行以下几个步骤:
- 创建一个新的分区:
首先,你需要在Android系统的
device/qcom/board-h618/BoardConfig.mk
或者对应的配置文件中添加一个新分区。这通常涉及到创建一个新的partition table entry。例如,增加以下内容:
PRODUCT_PROPERTY_OEMPartition:="ider=2M:rw:"
这里,
ider=2M:rw:
表示分区名称是ider
,大小是 2MB(对于你的需求,可能需要调整为2GB),并设置了读写权限。- 编译内核和系统镜像: 在修改了配置文件后,你需要重新编译Android的内核和系统镜像。执行以下命令(确保你已经在AOSP源码目录中):
source build/envsetup.sh lunch <your_device_config> make -j$(nproc)
替换
<your_device_config>
为你的设备配置名,比如h618-userdebug
。- 安装新镜像: 编译完成后,安装新的系统镜像到开发板上。使用fastboot工具进行刷机:
fastboot flash system $(find . -name "system*.img")
- 修改init.rc:
为了保证三清操作后
ider
目录仍然存在,并且具有完整的读写权限,你需要修改system/etc/init/.rc
文件,在其中加入以下内容,以便在系统启动时自动创建目录:
# 在 init.rc 文件中的适当位置(通常是其他挂载点之后) mkdir /data/data/ider chmod 0777 /data/data/ider mount -t tmpfs tmpfs /data/data/ider
- 处理OTA更新:
当处理OTA更新时,系统会默认覆盖所有的用户数据分区。为了防止
ider
目录被覆盖,你需要在OTA脚本中排除它。找到位于out/target/product/<your_device>/update.zip
中的update-script
文件,然后在其中添加以下行以跳过ider
目录:
if [ "$TYPE" = "system" ]; then if [ ! -e "/data/data/ider" ]; then mkdir -p /data/data/ider chmod 0777 /data/data/ider fi fi
这会在每次OTA升级后重新创建
ider
目录并设置其权限。- 重新打包OTA:
修改完OTA脚本后,你需要重新打包OTA文件。可以使用
mkbootimg
命令创建新的boot.img,使用zipalign
对系统映像进行对齐,然后将它们放入out/target/product/<your_device>/incremental/
目录下的相应文件夹中。
完成上述步骤后,你应该有一个满足要求的定制版Android系统,它会在根目录下创建一个名为
ider
的新分区,大小为2GB,具有完全的读写权限,并且在三清或OTA更新后保持不变。解决 无用评论 打赏 举报 编辑记录- 创建一个新的分区:
首先,你需要在Android系统的
悬赏问题
- ¥30 STM32 INMP441无法读取数据
- ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
- ¥15 用visualstudio2022创建vue项目后无法启动
- ¥15 x趋于0时tanx-sinx极限可以拆开算吗
- ¥500 把面具戴到人脸上,请大家贡献智慧
- ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
- ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
- ¥30 c#打开word开启修订并实时显示批注
- ¥15 如何解决ldsc的这条报错/index error
- ¥15 VS2022+WDK驱动开发环境