Orin:Flashing to Multiple Jetson Devices:RCM Mode

Hello,
I am operating the Flashing to Multiple Jetson Devices feature of the jetson-agx-orin-devkit device.
I need to burn an image to multiple Orin at the same time.

sudo BOARDID=3701 FAB=TS4 BOARDSKU=0004 BOARDREV=A.0 ./tools/kernel_flash/l4t_initrd_flash.sh --no-flash --network usb0 --massflash 5 jetson-agx-orin-devkit mmcblk0p1

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

How do I get Orin into rcm-boot.
[ 0.4674 ] Sending bct_mem
[ 0.4947 ] Sending blob
[ 3.5861 ] RCM-boot started

~/Work/Orin/EAORA07/src/orin_A/L4T_EAORA07G_V_1_2_1_Release


  •                                 *
    
  • Step 3: Start the flashing process *
  •                                 *
    

Waiting for target to boot-up…
Waiting for target to boot-up…
Waiting for target to boot-up…
Waiting for target to boot-up…
Waiting for target to boot-up…
Waiting for target to boot-up…

I have only found the way to hook up the display and configure it to enter rcm-boot via UEFI boot configuration, I don’t know if this is correct. Is there any other way to get orin into rcm-boot?
We have a customized L4T image with modified dtb. can’t use the devkit display and usb.

Hi,

搞不太清楚你們的目的是什麼,是flash到後面會失敗嗎?
initrd flash的流程應該是先開進recovery mode,把initrd燒進去之後重開進initrd,再用USB device mode把rootfs燒進去,為什麼你們後面還要手動進recovery mode?

Hi,
我们需要同时烧录多个Orin设备,参考的Flashing Support — Jetson Linux Developer Guide documentation

我们通过devkit RCM按键进入烧录模式,但是此时执行 sudo ./tools/kernel_flash/l4t_initrd_flash.sh --flash-only --network usb0 --massflash 5 --showlogs
会一直卡在Waiting for target to boot-up…直到:
Waiting for target to boot-up…
Timeout
Cleaning up…
需要手动在显示器UEFI操作一下。

关于您说的“把initrd燒進去之後重開進initrd,再用USB device mode把rootfs燒進去” 这一步骤是否有操作文档。

Hi,

所以你們正常操作會timeout,但是用UEFI進recovery mode就可以成功?

這個只是initrd flash運作的原理而已

你們可以試試看用initrd flash把default BSP單獨燒進一台機器會不會也timeout嗎

是的,根据链接里面的操作执行,会timeout,附上一个log
flash_1-3_0_20230713-160700.log (7.3 KB)

用UEFI进入一下之后,根据打印信息来看他是开始执行烧录过程了。

尝试过单独烧录一台机器,问题是一样的。

Hi,

可以附上timeout時候的UART log嗎?

这个连接是timeout log

不是,你們這個是host上的flash log,我們需要的是device上的UART log。
還是你們不知道怎麼抓UART log?

只烧录一台设备的log信息:
error_uart.txt (27.9 KB)

Hi,

再請問一下,你們massflash一次燒五台的時候,手動開進RCM是五台都重複這樣做?
因為這個RAS error應該是還沒開進UEFI就卡住了,可能是某幾台有問題,但是讓全部機器都timeout
可以試試看其他台單獨燒會不會這樣嗎

都是通过devkit底板上的RCM按键进入烧录模式。

第二台设备烧录,uart信息不会有error,但是还是会卡在boot-up
error_uart_devkit_2.txt (26.5 KB)

Hi,

你這兩台是用initrd flash燒的嗎?還是flash.sh?是燒到eMMC還是NVMe SSD?
失敗之後再重開可以進到UEFI嗎?
其他三台有沒有一樣的問題?

都是使用的sudo ./tools/kernel_flash/l4t_initrd_flash.sh --flash-only --network usb0 --massflash 5 --showlogs命令。
正常的烧录过程使用flash.sh脚本是没有问题可以正常烧录的。
烧录到emmc

我目前只有两台devkit+Orin设备。

Hi,

所以你前面的UART log是在massflash的時候抓的嗎?
那你如果有SSD能不能試試看單獨用initrd flash燒會不會有一樣的錯誤

是的,之前的log都是执行命令后uart打印的信息。
SSD指的是烧录到外部的NVMe SSD硬盘吗?

另外我有一些问题请教一下您:

  1. 根据串口信息来看initrd flash的烧录好像是需要依赖于UEFI?由于我的UEFI进不去导致timeout吗?
  2. 使用initrd flash最终的烧录结果和使用flash.sh烧录执行的烧录结果是相同的吗?

對,或者USB隨身碟應該也可以。
反正你試試看這兩台機器單獨用initrd flash燒會不會有一樣的問題。

  1. 可以這樣說,因為過程是先過了UEFI、開進initrd才能繼續後面的燒rootfs,但是你現在連UEFI都進不去,所以後面一定失敗。
  2. 有可能不一樣,因為initrd flash的流程比較複雜,所以有些問題可能只有用initrd flash的時候會遇到、flash.sh不會。

我在论坛找到一个帖子:Jetson AGX Orin RAS error when booting
我的uart log里面也存在这个问题,RAS error这个error可能是影响我进入UEFI的原因吗?

initrd flash烧录并不会像flash.sh烧录所有的固件吗?initrd flash只烧录rootfs?

對,如果你還是一直碰到這個問題的話,可能要等到下一版的L4T才能解決。

不是,只是initrd flash把整個flash的流程分成兩步,先燒bootloader和initrd,從initrd開機之後才燒rootfs。