q7223124 2024-04-18 15:08 采纳率: 0%
浏览 1

关于H618新增分区的问题,如何解决?(标签-ide)

全志H618ROM修改 需求:根目录新增 ider 目录,为2G大小,给完整读写权限,三清需要保留此文件夹,即恢复出厂时,此文件夹不能做变化. 但ota时需要覆盖。

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-04-18 15:08
    关注

    引自免费微信小程序:皆我百晓生

    要实现这个需求,你需要进行以下几个步骤:

    1. 创建一个新的分区: 首先,你需要在Android系统的device/qcom/board-h618/BoardConfig.mk或者对应的配置文件中添加一个新分区。这通常涉及到创建一个新的partition table entry。例如,增加以下内容:
    PRODUCT_PROPERTY_OEMPartition:="ider=2M:rw:"
    

    这里,ider=2M:rw: 表示分区名称是 ider,大小是 2MB(对于你的需求,可能需要调整为2GB),并设置了读写权限。

    1. 编译内核和系统镜像: 在修改了配置文件后,你需要重新编译Android的内核和系统镜像。执行以下命令(确保你已经在AOSP源码目录中):
    source build/envsetup.sh
    lunch <your_device_config>
    make -j$(nproc)
    

    替换 <your_device_config> 为你的设备配置名,比如 h618-userdebug

    1. 安装新镜像: 编译完成后,安装新的系统镜像到开发板上。使用fastboot工具进行刷机:
    fastboot flash system $(find . -name "system*.img")
    
    1. 修改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
    
    1. 处理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目录并设置其权限。

    1. 重新打包OTA: 修改完OTA脚本后,你需要重新打包OTA文件。可以使用mkbootimg命令创建新的boot.img,使用zipalign对系统映像进行对齐,然后将它们放入out/target/product/<your_device>/incremental/目录下的相应文件夹中。

    完成上述步骤后,你应该有一个满足要求的定制版Android系统,它会在根目录下创建一个名为ider的新分区,大小为2GB,具有完全的读写权限,并且在三清或OTA更新后保持不变。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月18日

悬赏问题

  • ¥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驱动开发环境