q7223124 2024-04-18 15:13 采纳率: 0%
浏览 13
已结题

全志H618ROM新增分区

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

  • 写回答

21条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-04-18 15:13
    关注
    获得0.45元问题酬金

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

    针对您提出的全志H618 ROM修改需求,即在根目录下新增一个名为“ider”的分区,大小为2GB,并赋予其完全读写权限,确保三清时该文件夹得以保留,但在进行OTA更新时允许其被覆盖,以下是详细的解决方案步骤:

    步骤一:修改设备树(DTB)

    1. 定位设备树源文件:首先找到与您的全志H618 SoC对应的设备树源文件(.dts.dtsi)。通常,这些文件位于Linux内核源码的arch/arm/boot/dts/目录下,具体路径可能因设备型号而异。

    2. 添加新分区节点:在设备树中添加一个新的分区节点,定义其名称、类型、起始地址、大小等属性。例如:

      &__dtb_fdt_begin {
          partitions {
              compatible = "fixed-partitions";
              #address-cells = <1>;
              #size-cells = <1>;
      
              ider_partition: partition@100000000 {
                  label = "ider";
                  type = "ider";
                  reg = <0x100000000 0x8000000>; /* 2GB starting from 0x100000000 */
              };
          };
      };
      

      请根据实际的内存映射情况调整分区的起始地址(reg属性中的第一个值),确保新分区不会与其他已存在的分区冲突。

    步骤二:更新内核配置

    1. 启用必要的内核选项:确保内核编译时启用了对EXT4文件系统的支持以及所需的块设备驱动程序(如SD/MMC控制器驱动等)。

    2. 配置MTD分区支持:确保内核中已启用CONFIG_MTD_PARTITIONS选项,以便系统能够识别并管理新的分区。

    步骤三:构建定制内核与设备树

    1. 编译内核:使用修改后的设备树源文件和配置选项重新编译内核。

    2. 编译设备树:将修改后的设备树源文件编译为.dtb文件。

    3. 打包固件:将新编译的内核镜像、设备树文件以及其他必要的组件打包成最终的ROM固件。

    步骤四:修改启动脚本

    1. 挂载新分区:在系统启动过程中,需要在适当的启动脚本(如init.rcfstab)中添加对新分区的挂载指令。例如,在fstab中添加以下行:

      /dev/block/mmcblk0pX    /ider    ext4    defaults    0    0
      

      其中,mmcblk0pX应替换为实际的分区设备节点,可通过fdisk -l或类似命令在启动时查询确定。设置文件系统类型为ext4,并给予默认的挂载选项。

    2. 赋予读写权限:确保在启动过程中或首次挂载后为“ider”目录设置正确的权限,以允许完全读写:

      chmod 777 /ider
      

    步骤五:处理OTA更新

    1. OTA包制作:在生成OTA更新包时,确保包含对“ider”分区内容的更新。这通常由OTA打包工具自动完成,只要确保在打包时指定包含“ider”分区即可。

    2. OTA更新逻辑:在OTA更新过程中,系统应识别到“ider”分区并执行覆盖操作。大多数OTA机制会自动处理所有已定义的分区更新,无需额外处理。

    综上所述,通过上述五个步骤,您可以成功在全志H618 ROM中新增一个名为“ider”的2GB分区,赋予其完全读写权限,确保在三清时保留该文件夹,同时在进行OTA更新时允许其被覆盖。请注意,实际操作中需根据您的硬件平台、内核版本和现有启动脚本的具体情况进行适当调整。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 4月26日
  • 创建了问题 4月18日

悬赏问题

  • ¥15 Centos7 / PETGEM
  • ¥15 csmar数据进行spss描述性统计分析
  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿
  • ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗
  • ¥15 运动想象脑电信号数据集.vhdr
  • ¥15 三因素重复测量数据R语句编写,不存在交互作用
  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗