Jetson Orin NX 16GB initrd flash failed: host cannot connect to fc00:1:1:0::2 via SSH

Hello,

I am trying to flash a Jetson Orin NX 16GB module on a custom carrier board from an Ubuntu host PC.

Environment

Host:

  • Ubuntu PC

  • Jetson Linux / L4T R36.4

  • Flashing from Linux_for_Tegra

  • The Jetson module is connected to the host through the USB recovery port

Target:

  • Jetson Orin NX 16GB

  • Custom carrier board

  • Storage target: NVMe SSD

The board can enter recovery mode correctly. On the host, I can see the NVIDIA APX device:

Bus 003 Device 118: ID 0955:7323 NVIDIA Corp. APX

Kernel build before flashing

Before flashing, I build the kernel with the following script:

INSTALL_PATH=/home/laizy/ZQY-Jetson6/r36.4
export CROSS_COMPILE=$HOME/l4t-gcc/aarch64--glibc--stable-2022.08-1/bin/aarch64-buildroot-linux-gnu-
export INSTALL_MOD_PATH=$INSTALL_PATH/Linux_for_Tegra/rootfs/
​
cd $INSTALL_PATH/Linux_for_Tegra/source
./generic_rt_build.sh "disable"
export KERNEL_HEADERS=$PWD/kernel/kernel-jammy-src
export KERNEL_OUTPUT=$PWD/kernel_out_S1059
​
make -C kernel -j8
sudo -E make install -C kernel -j8
​
cp $KERNEL_OUTPUT/arch/arm64/boot/Image \
  $INSTALL_PATH/Linux_for_Tegra/kernel/Image
​
make dtbs -j8
cp kernel-devicetree/generic-dts/dtbs/* $INSTALL_PATH/Linux_for_Tegra/kernel/dtb/
​
if [ "$1" == "m" ]; then
    export KERNEL_HEADERS=$PWD/kernel/kernel-jammy-src
    make modules -j8
    sudo -E make modules_install -j8
fi
​
cd $INSTALL_PATH/Linux_for_Tegra
sudo ./tools/l4t_update_initrd.sh

I have also tried running the script with the module build option:

./Build_kernel_S1059.sh m

Flash command

Then I run the following flash command:

sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 \
  -c tools/kernel_flash/flash_l4t_t234_nvme.xml \
  -p "-c bootloader/generic/cfg/flash_t234_qspi.xml" \
  --showlogs --network usb0 jetson-orin-nano-devkit-super internal

Error

The flashing process fails at the initrd SSH stage:

Waiting for target to boot-up...
Waiting for device to expose ssh ...
Run command: flash on fc00:1:1:0::2
Debug log saved to /tmp/tmp.tvcx6gQ94T.
Device should have booted into initrd kernel now. However, the host cannot connect to its ssh server
Error: Command failed: sshpass -p root ssh root@fc00:1:1:0::2.
Check your network setting (VPN, firewall,...) to make sure the device can ssh root@fc00:1:1:0::2

The host network interface information at that time is:

79: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
    link/ether 8e:0d:f6:cb:2a:38 brd ff:ff:ff:ff:ff:ff
    inet6 fc00:1:1::1/64 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::8c0d:f6ff:fecb:2a38/64 scope link
       valid_lft forever preferred_lft forever
    inet6 fe80::2/64 scope link
       valid_lft forever preferred_lft forever

I am not sure whether this issue is related to my custom kernel, DTB, or initrd update.

Question

What are the common reasons why the target does not expose SSH at fc00:1:1:0::2 during initrd flashing, and what should I check next?

Any suggestions would be appreciated.

Thanks.

I can ping the initrd IPv6 address fc00:1:1::2 successfully, but SSH to port 22 is refused.

laizy@laizy:~/Jetson/Jetpack6/r36.4/Linux_for_Tegra$ ping6 fc00:1:1::2
PING fc00:1:1::2(fc00:1:1::2) 56 data bytes
64 bytes from fc00:1:1::2: icmp_seq=1 ttl=64 time=0.443 ms
64 bytes from fc00:1:1::2: icmp_seq=2 ttl=64 time=0.493 ms
64 bytes from fc00:1:1::2: icmp_seq=3 ttl=64 time=0.478 ms
64 bytes from fc00:1:1::2: icmp_seq=4 ttl=64 time=0.494 ms
64 bytes from fc00:1:1::2: icmp_seq=5 ttl=64 time=0.496 ms
^C
--- fc00:1:1::2 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4091ms
rtt min/avg/max/mdev = 0.443/0.480/0.496/0.019 ms
laizy@laizy:~/Jetson/Jetpack6/r36.4/Linux_for_Tegra$ ssh root@fc00:1:1::2
ssh: connect to host fc00:1:1::2 port 22: Connection refused

The filesystem type is ext4.

laizy@laizy:~/Jetson/Jetpack6/r36.4/Linux_for_Tegra$ df -T .
Filesystem     Type  1K-blocks       Used Available Use% Mounted on
/dev/sdb       ext4 2884079320 1897625280 839924328  70% /home/laizy/Jetson