我之前的提问在这里是同样的问题:无法工厂批量烧写镜像
我在简单叙述下:基于36.4.3版本。使用devkit载板,使用原版SDK,没有改动任何内核文件系统等。
我制作的工厂烧写镜像,无法烧写成功,请帮忙指导下。
如果使用./flash.sh jetson-agx-orin-devkit internal 可以烧写,正常启动没问题。
我是按照这里来操作的:Flashing Support — NVIDIA Jetson Linux Developer Guide
我之前的提问在这里是同样的问题:无法工厂批量烧写镜像
我在简单叙述下:基于36.4.3版本。使用devkit载板,使用原版SDK,没有改动任何内核文件系统等。
我制作的工厂烧写镜像,无法烧写成功,请帮忙指导下。
如果使用./flash.sh jetson-agx-orin-devkit internal 可以烧写,正常启动没问题。
我是按照这里来操作的:Flashing Support — NVIDIA Jetson Linux Developer Guide
Please share the exact steps to reproduce this issue on Devkit.
And also the logs.
Do we have to use your image or I can do this even with just pure devkit image?
$ tar xf Jetson_Linux_r36.4.3_aarch64.tbz2
$ sudo tar xpf Tegra_Linux_Sample-Root-Filesystem_r36.4.3_aarch64.tbz2-C Linux_for_Tegra/rootfs/
$ cd Linux_for_Tegra/
$ sudo ./tools/l4t_flash_prerequisites.sh
$ sudo ./apply_binaries.sh
$ sudo tools/l4t_flash_prerequisites.sh
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)
echo "BOARDID=$BOARDID BOARDSKU=$BOARDSKU FAB=$FAB BOARDREV=$BOARDREV CHIP_SKU=$CHIP_SKU RAMCODE_ID=$RAMCODE_ID RAMCODE=$RAMCODE "
BOARDID=3701 BOARDSKU=0004 FAB=500 BOARDREV=J.0 CHIP_SKU=00:00:00:D2 RAMCODE_ID=00:00:00:00 RAMCODE=0
制作工厂烧写包:
sudo BOARDID=3701 FAB=500 BOARDSKU=0004 BOARDREV=J.0 CHIP_SKU=“00:00:00:D2” ./tools/kernel_flash/l4t_initrd_flash.sh --no-flash --network usb0 --massflash 5 --showlogs jetson-agx-orin-devkit mmcblk0p1
之后开始烧写:
root@sensoro-110:/data2/R36.4.3/temp/Linux_for_Tegra/mfi_jetson-agx-orin-devkit# sudo ./tools/kernel_flash/l4t_initrd_flash.sh --flash-only --network usb0 --massflash 5
rpcbind: another rpcbind is already running. Aborting
Export list for localhost:
/data2/workspace/hzz *
/data2/workspace/lhz/rk3588/rk3588_linux_241112/debian *
/data2/workspace/gsq *
rpcbind: another rpcbind is already running. Aborting
Export list for localhost:
/data2/workspace/hzz *
/data2/workspace/lhz/rk3588/rk3588_linux_241112/debian *
/data2/workspace/gsq *
/data2/R36.4.3/temp/Linux_for_Tegra/mfi_jetson-agx-orin-devkit/tools/kernel_flash/l4t_initrd_flash_internal.sh --network usb0 --usb-instance 3-10 --device-instance 0 --flash-only --network usb0 jetson-agx-orin-devkit mmcblk0p1
Start flashing device: 3-10, rcm instance: 0, PID: 1644489
Log will be saved to Linux_for_Tegra/initrdlog/flash_3-10_0_20250612-101554.log
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes: 1644489
Ongoing processes:
Flash complete (WITH FAILURES)
附件是,flash_3-10_0_20250612-101554.log
以及串口打印:串口.txt
串口.txt (59.7 KB)
flash_3-10_0_20250612-101554.log (9.5 KB)
Do we have to use your image or I can do this even with just pure devkit image?
能請你盡量完全回答完問題嗎?
好的,你看我制作的烧写镜像流程,就是用的官方的压缩包,从解压开始,没有任何改动,所以你完全可以用官方的给的Jetson_Linux_r36.4.3_aarch64.tbz2和Tegra_Linux_Sample-Root-Filesystem_r36.4.3_aarch64.tbz2 ,去复现实验。
請問如果從頭到尾就只用一台機器是能複製出問題的嗎?
我看你一開始就已經有現成的cvm.bin. 這裡面的內容跟你後來生成pakcage跟燒錄的機器是完全同一台嗎?
是可以复现问题的,我开始用的我们自己定制的载板,后来拿到devkit 载板,但是核心板使用的都是同一个。
就是说,我一直用的同一个核心板,然后使用了自己定制载板,还有 nv的devkit 载板。都是同样的结果。
bootloader/cvm.bin 生成的这个cvm.bin,就是使用的同一个核心板生成的,只是忘记写到我的流程里了。
而且,后来我使用devkit载板去制作工厂烧写镜像的时候,还使用了在线制作的方法。先让板子进入recovery模式,然后如下命令制作:sudo ./tools/kernel_flash/l4t_initrd_flash.sh --no-flash --network usb0 --massflash 5 jetson-agx-orin-devkit mmcblk0p1
我认为,在线制作的包,不需要在读取BOARDID FAB BOARDSKU等。
Hi,
我們剛才拿Orin AGX + rel-36.4.3照你的步驟做燒錄但無法複製到問題.
不論是online mode還是offline mode都嘗試了.
Online mode:
$ sudo ./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
Offline mode:
$ sudo BOARDID=3701 FAB=500 BOARDSKU=0004 BOARDREV=G.0 CHIP_SKU="00:00:00:D2" ./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
我又换了台电脑,还是不行。 有没有一个可以确认OK的docker 镜像呢,确认可以烧写的docker 镜像?
就都在同一个dokcer镜像里烧写就可以了。
先確認一下步驟, 你的製作+ 燒錄 image全部都用同一台NV devkit製作這樣也不能燒嗎?
如果是的話你有嘗試一下其他台NV devkit嗎?
另外我有發現你一直提到"使用./flash.sh jetson-agx-orin-devkit internal 可以烧写". flash.sh跟initrd flash的燒錄方式本來就不一樣. 比較這兩個東西沒有意義.
請問你用initrd flash指令燒能成功嗎? 我是指一般的燒錄, 不是massflash的情況.
是的,我就是用同一台,devkit,都无法烧写。
我现在只有一台devkit。
我说的"使用./flash.sh jetson-agx-orin-devkit internal 可以烧写".代表板子没有硬件问题,数据线没问题。
我使用sudo ./tools/kernel_flash/l4t_initrd_flash.sh jetson-agx-orin-devkit mmcblk0p1,烧写,依然无法成功,完整日志见附件
log.txt (231.1 KB)
:log.txt
你這台電腦有燒錄過任何的orin nano/orin nx過嗎?
没有烧写过orin nano/orin nx,但是烧写过Jetson AGX Xavier。
如果沒有燒過Orin NX/Nano, 那請問你的host PC在用flash.sh燒完之後正常開機起來之後有偵測到Jetson的usb device mode過嗎?
我把你的問題更簡化一點好了, 簡單來說就是你這台host PC沒辦法用initrd flash 燒錄. 跟什麼massflash或是custom board都無關
問Orin Nano/NX只是因為你一定得用initrd flash燒, 這兩種機器沒辦法用flash.sh.
也換句話說如果你有host PC是確定可以燒Orin NX/Nano的, 那你拿那台機器來燒應該也可以過.
root@sensoro-110:/data2/R36.4.3/temp/Linux_for_Tegra/bootloader# lsusb
Bus 002 Device 002: ID 8087:8002 Intel Corp.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:800a Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 008: ID 0955:7020 NVIDIA Corp. L4T (Linux for Tegra) running on Tegra
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
我能看到这个nvUSB设备。如果正常进入系统的话
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…
Waiting for target to boot-up…
Waiting for target to boot-up…
Waiting for target to boot-up…
Waiting for target to boot-up…
請問你在host PC不斷印以上log的狀況下看lsusb有辦法看到Jetson USB裝置嗎?
不断打印“Waiting for target to boot-up…”的时候,可以看到如下:
root@sensoro-110:/data2/R36.4.3/temp/Linux_for_Tegra/bootloader# lsusb
Bus 002 Device 002: ID 8087:8002 Intel Corp.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:800a Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 031: ID 0955:7035 NVIDIA Corp. Linux for Tegra
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
一直到,不再打印“Waiting for target to boot-up…”,烧写程序报错退出了,还是存在:
Bus 003 Device 031: ID 0955:7035 NVIDIA Corp. Linux for Tegra
我看到你之前有貼
usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::1 prefixlen 128 scopeid 0x20
inet6 fe80::d0e2:13ff:fe66:87b8 prefixlen 64 scopeid 0x20
inet6 fc00:1:1::2 prefixlen 64 scopeid 0x0
ether d2:e2:13:66:87:b8 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
請問你的host PC在燒錄階段能ping到fc00:1:1::2嗎?
我看,如果用./flash.sh 去烧写的话,使用的一直是usb2.0。
请问,如果使用initrd flash去烧写的话,是否使用了usb3.0呢?我看在打印“Waiting for target to boot-up…”,出现的是一个usb3.0的设备?
为什么问这个问题呢,是因为我们最新的定制载板,去掉了usb3.0的口。