JetPack5.1.5 massflash error

hi,
软件JetPack5.1.5, 模组为Orin 32GB,板载为custom board,在massflash时出现了问题,拜托帮忙看一下。

生成massflash package命令为

BOARDID=3701 FAB=501 BOARDSKU=0004 BOARDREV=G.0 ./tools/kernel_flash/l4t_initrd_flash.sh --no-flash --network usb0 --massflash 6 jetson-agx-orin-devkit mmcblk0p1

massflash cmd命令为

sudo ./tools/kernel_flash/l4t_initrd_flash.sh --flash-only --network usb0 --massflash 6 --showlogs

出现的报错log为

tar: Read checkpoint 470000
tar: Read checkpoint 480000
tar: Read checkpoint 490000
tar: Read checkpoint 500000
writing item=75, 1:3:secondary_gpt, 63585631744, 16896, gpt_secondary_1_3.bin, 16896, fixed-<reserved>-0, 59afaf07f987a6db5b8c0c67896ac28390c28e27
[ 157]: l4t_flash_from_kernel: Successfully flash the emmc
[ 157]: l4t_flash_from_kernel: The device size indicated in the partition layout xml is smaller than the actual size. This utility will try to fix the GPT.
[ 157]: l4t_flash_from_kernel: Error flashing qspi
Flash failure
Cleaning up...

massflash和串口log如下
serial.log (77.9 KB)
flash_3-1_0_20250417-143403.log (18.5 KB)

Hi,

請嘗試Dump 所有device的FAB 看看 (參考 JP6.2
確認有沒有 FAB=502

Place the Jetson target into recovery mode.

Run this command to generate bootloader/cvm.bin and bootloader/chip_info.bin_bak:

$ sudo ./flash.sh --no-flash --no-systemimg <board> mmcblk0p1
Retrieve the environment variables above using these commands:

$ cd bootloader
$ BOARDID=$(./chkbdinfo -i cvm.bin)
$ BOARDSKU=$(./chkbdinfo -k cvm.bin)
$ FAB=$(./chkbdinfo -f cvm.bin)
$ BOARDREV=$(./chkbdinfo -r cvm.bin)
$ CHIP_SKU=$(./chkbdinfo -C chip_info.bin_bak)
$ RAMCODE_ID=$( ./chkbdinfo -R chip_info.bin_bak)
$ RAMCODE=$(echo "ibase=2; ${RAMCODE_ID//:/}" | bc)

謝謝

hi,
验证了一下没有FAB502的device
但是我现在发现
使用FAB=501生成的massflash package在FAB=500 的device上就会有上述报错,但是在FAB=501的device就没有报错,是正常的。

所以我有两点疑问
1、JP513上我可以使用FAB=501的massflash package为FAB=500和501 device批量刷机,但JP515却不可以。
2、JP515 如果要区分开FAB 500和501的话,是需要分开make package吗?能不能做到一个package既可以给500和501 device使用呢?
thanks

hi,
请问有进展吗?

Hi,

我們認為是emmc storage size 問題。
請嘗試看看apply patch 能否解決問題
Linux_for_Tegra/p3701.conf.common 修改 num_sectors

diff --git a/p3701.conf.common b/p3701.conf.common
--- .a/p3701.conf.common
+++ .b/p3701.conf.common
@@ -157,8 +157,8 @@
 	# Update "num_sectors" in local cfgfile for the device
 	# with FAB=501 and BOARDSKU=0004/0005
 	local local_cfgfile="${1}"
-	if [ "${board_FAB}" == "501" ] && [[ "${board_sku}" == "0004" || "${board_sku}" == "0005" ]]; then
-		sed -i 's/num_sectors=\"124321792\"/num_sectors=\"124190720\"/' "${local_cfgfile}"
+	if (( board_FAB >= 501 )) && [[ "${board_sku}" == "0004" || "${board_sku}" == "0005" ]]; then
+		sed -i 's/num_sectors=\"124321792\"/num_sectors=\"119537664\"/' "${local_cfgfile}"
 	fi
 }


如果想確認 也可以嘗試以下方法把 FAB=500的 sector size 資訊提供給我們

  • Use flash.sh 去 flash FAB=500
$ sudo ./flash.sh jetson-agx-orin-devkit internal
  • 在 device 中執行以下命令並提供給我們
$ sudo parted /dev/mmcblk0 unit B print free
$ sudo sgdisk -p /dev/mmcblk0

謝謝

hi,
我使用之前的JP512 software,可以吗?

mogo@mos:~/work$ sudo parted /dev/mmcblk0 unit B print free
[sudo] password for mogo:
Model: MMC G1M15M (sd/mmc)
Disk /dev/mmcblk0: 63652757504B
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start         End           Size          File system  Name                                                                                  Flags
        17408B        20479B        3072B         Free Space
 2      20480B        134238207B    134217728B                 A_kernel                                                                              msftdata
 3      134238208B    135024639B    786432B                    A_kernel-dtb                                                                          msftdata
 4      135024640B    168185855B    33161216B                  A_reserved_on_use                                                                  r  msftdata
 5      168185856B    302403583B    134217728B                 B_kernel                                                                              msftdata
 6      302403584B    303190015B    786432B                    B_kernel-dtb                                                                          msftdata
 7      303190016B    336351231B    33161216B                  B_reserved_on_use                                                                  r  msftdata
 8      336351232B    420237311B    83886080B                  recovery                                                                              msftdata
 9      420237312B    420761599B    524288B                    recovery-dtb                                                                          msftdata
10      420761600B    487870463B    67108864B     fat32        esp                                                                                   boot, esp
11      487870464B    571756543B    83886080B                  recovery_alt                                                                          msftdata
12      571756544B    572280831B    524288B                    recovery-dtb_alt                                                                      msftdata
13      572280832B    639389695B    67108864B                  esp_alt                                                                               msftdata
        639389696B    639401983B    12288B        Free Space
14      639401984B    1058832383B   419430400B                 UDA                                                                                   msftdata
15      1058832384B   1561624575B   502792192B                 reserved                                                                              msftdata
 1      1561624576B   60617424895B  59055800320B  ext4         APP                                                                                   msftdata
        60617424896B  63652740607B  3035315712B   Free Space

mogo@mos:~/work$ sudo sgdisk -p /dev/mmcblk0
Disk /dev/mmcblk0: 124321792 sectors, 59.3 GiB
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 34B49297-894D-469E-96BE-A20569EB3A41
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 40, last usable sector is 124321759
Partitions will be aligned on 8-sector boundaries
Total free space is 5928376 sectors (2.8 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1         3050048       118393407   55.0 GiB    0700  APP
   2              40          262183   128.0 MiB   0700  A_kernel
   3          262184          263719   768.0 KiB   0700  A_kernel-dtb
   4          263720          328487   31.6 MiB    0700  A_reserved_on_user
   5          328488          590631   128.0 MiB   0700  B_kernel
   6          590632          592167   768.0 KiB   0700  B_kernel-dtb
   7          592168          656935   31.6 MiB    0700  B_reserved_on_user
   8          656936          820775   80.0 MiB    0700  recovery
   9          820776          821799   512.0 KiB   0700  recovery-dtb
  10          821800          952871   64.0 MiB    EF00  esp
  11          952872         1116711   80.0 MiB    0700  recovery_alt
  12         1116712         1117735   512.0 KiB   0700  recovery-dtb_alt
  13         1117736         1248807   64.0 MiB    0700  esp_alt
  14         1248832         2068031   400.0 MiB   0700  UDA
  15         2068032         3050047   479.5 MiB   0700  reserved

apply patch 可以使用FAB=501 make package之后,同时兼容500和501 device吗?

Hi,

這是會造成flash失敗的module嗎?

理論上可以。
當apply patch之後 請先嘗試只 flash 500 device 並 record serial log.
如果還是失敗,請再把 flash.log and serial.log 提供給我們

謝謝

不是同一块module,但是这都是FAB 500 同批次的

好的了解,那請嘗試看看

謝謝

我试了一下,使用 FAB=500 make package 可以为FAB500和501 正常massflash

那有 apply patch 嗎?

謝謝

是的,有 apply patch

了解 很高興patch works。那可以close the topic嗎?

謝謝

请问这个的意思是FAB500 设置num_sectors=124321792
FAB501和502 设置为119537664
为什么要这么设置呢? num_sectors的大小影响了什么?是什么导致的呢?

Orin 64GB 模组也需要apply patch吗?

對,這是storage的實際大小。

影響 APP partition 大小。

一樣看FAB,請apply patch來做判斷。

謝謝

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.