专栏底层软件OTA升级完成,检查结果失败,失败原因是bootcount大于等于4怎么解决?

OTA升级完成,检查结果失败,失败原因是bootcount大于等于4怎么解决?

已解决
默认708482024-10-08
50
2

用户您好,请详细描述您所遇到的问题,详细的描述有助于帮助我们快速定位,解决问题~Thanks♪(・ω・)ノ

1. 硬件获取渠道及型号: J6E 供应商购买

2. 系统镜像版本: 061

3. 问题模块: OTA升级

4. 问题描述: OTA升级完成后,检查结果时从/proc/cmdline获取bootcount时=5或6,代码中判断>=4为失败,导致检查结果失败,是什么原因,为什么是>=4时为失败判断条件,这些值有什么意义?怎么避免失败?

5. 示例代码:

6. log文件(目前暂不支持附件上传,请通过百度网盘上传后贴链接):

底层软件
征程6
评论1
0/1000
  • 费小财
    Lv.5

    代码中判断>=4为失败表明HSM等主备分区是从备份分区启动的,主分区无法启动,表明升级的HSM这类主备分区镜像有问题

    ota估计是不行了,要整刷了


    2024-10-08
    0
    1
    • 默认70848回复费小财:

      用ota_tool升级all_in_one_full.zip时才会出现上面的情况,打包all_in_one_full.zip的时候把device/horizon/j6/partition_config_files/sub_config/middleware.json中的ota_is_update:true,把mk_otapackage.py文件中HBOTAPGK.__init__里的黑名单black_list_sys,black_list_full都置空了,把app.img和middleware.img等都加到进all_in_one_full.zip里面了,包含如下文件:

      # ls all_in_one_full

      HSM_FW.img                 MCU_J6M_Matrix_V1.0.img     SBL.img        data.json      scp.img

      HSM_RCA.img                MCU_J6M_Matrix_V1.1.img     acore_cfg.img  gpt.conf       spl.img

      MCU_J6E_Galaxy_V1.0.img    MCU_J6M_Matrix_asw_V1.0.img app.img        keyimage.img   system.img

      MCU_J6M_Brandy_V1.0.img    MCU_J6M_Matrix_asw_V1.1.img basesystem.img middleware.img system_verity.img

      MCU_J6M_EVM_V1.0.img       MCU_J6M_SIP_Matrix_V1.0.img bl31.img       optee.img      uboot.img

      MCU_J6M_Matrix_LX_V1.1.img MCU_J6M_SIP_Matrix_V1.1.img boot.img       ota_process    vbmeta.img


      MCU打印启动失败信息:

      [0741.373772 0] [SCP] SCMI_SYS_POWER: scmi_sys_power_state_set_handler @414

      [0741.374608 0] [SCP] SCMI_SYS_POWER: scmi_sys_power_state_set_handler @426

      [0741.375443 0] [SCP] system shutdown with 1

      [0741.375943 0] [SCP] reset mode: 0x5242c300?sE:Image:0x1f header verify crc32, size:156, crc_ref:0xff4c27b7 failed

      E:Image:0xd5 load header failed

      E:Image Load tag:0xd5 header failed

      E:target image perpare failed!

      E:Exception ID: 17?sE:Image:0x1f header verify crc32, size:156, crc_ref:0xff4c27b7 failed

      E:Image:0xd5 load header failed

      E:Image Load tag:0xd5 header failed

      E:target image perpare failed!

      E:Exception ID: 17?sE:Image:0x1f header verify crc32, size:156, crc_ref:0xff4c27b7 failed

      E:Image:0xd5 load header failed

      E:Image Load tag:0xd5 header failed

      E:target image perpare failed!

      E:Exception ID: 17?sE:Image:0x1f header verify crc32, size:156, crc_ref:0xff4c27b7 failed

      E:Image:0xd5 load header failed

      E:Image Load tag:0xd5 header failed

      E:target image perpare failed!

      E:Exception ID: 17?se

      [00.000016 0]mcu_pll_init: pll base 0x23070000 enable, rate 6000M

      [00.000819 0]BOOTSTRAP_REG value 0x47bf0

      [00.001097 0]BOOTROM_BOOTINFO_REG value 0x0

      [00.016718 0]Adc read Channel:0 AdcVal: 1153 AdcCode: 0x6!

      [00.017203 0]Adc read Channel:1 AdcVal: 254 AdcCode: 0x2!

      [00.017843 0]Adc read Channel:2 AdcVal: 1755 AdcCode: 0x8!

      [00.018486 0]SBL Version is:J6E_SBL_DEBUG_V0.1.0


      SOC查看/proc/cmdline:

      root@hobot:~# cat /proc/cmdline

      console=ttyS0,921600n8 hobot.kernel_in=scsi0 hobotboot.socname=J6M board.hwname=SIP_Matrix board.ver=V1.1 board.pcie_mode=rc hobotboot.reason=kreboot hobotboot.slot_suffix=_b hobotboot.mode=normal hobotboot.bootcount=5 systemd.unified_cgroup_hierarchy=0 clk_ignore_unused earlycon=uart8250,mmio32,0x394B0000 no_console_suspend root=/dev/ram0 rdinit=/init rootwait net.ifnames=0 root=/dev/sda17 rw rootfstype=ext4 rootwait


      从以上信息是否是说fpt分区校验失败啊,all_in_one_full.zip里面没有fpt分区镜像不应该会刷写fpt分区啊,请问以上做all_in_one_full.zip有问题吗?想把所有分区镜像做成一个zip包升级,上面修改是否正确,不正确的话需要怎么修改啊?



      2024-10-09
      0