My flashing procedure isn’t working. I am working with a Orin Nano on a custom board with an NVMe/SSD (512GB) on the PCIe bus. The flashing procedure is not completing.
I programming the nano with the following command:
From the flash log, it fails at Step 3: Start the flashing process, which is waiting for your board to boot up.
In serial console log, you hit the following error which blocks the boot.
E> I2C: slave not found in slaves.
E> I2C: Could not write 0 bytes to slave: 0x00ae with repeat start true.
E> I2C_DEV: Failed to send register address 0x00000000.
E> I2C_DEV: Could not read 256 registers of size 1 from slave 0xae at 0x0000000.
E> eeprom: Failed to read I2C slave device
C> Task 0x0 failed (err: 0x1f1e050d)
E> Top caller module: I2C_DEV, error module: I2C, reason: 0x0d, aux_info: 0x05
I> Busy Spin
It is trying to read the EEPROM(address: 0xae) on the carrier board.
Do you have the EEPROM on your custom carrier board?
If not, please refer to EEPROM Modifications to update the device tree.
[ 400]: l4t_flash_from_kernel: Successfully flash the external device
[ 400]: l4t_flash_from_kernel: Flashing success
[ 400]: 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.
Flash is successful
Reboot device
Cleaning up...
Log is saved to Linux_for_Tegra/initrdlog/flash_1-2_0_20250819-151950.log
Okay, it seems the flash process is successful.
[ 20.146432] Please complete system configuration setup on the serial port provided by Jetson's USB device mode connection. e.g. /dev/ttyACMx where x can 0, 1, 2 etc.
And your board has booted up and waited you to perform system configurations in first boot.
Please simply connect a monitor and keyboard to proceed.
Alternative, you can also refer to Skipping oem-config before flash to pre-configure them and skip this step.
Thanks for your help. The board is booting and I ran l4t_create_default_user.sh. However, I don’t have a login console. When I worked with the NX, the console was on ttyACM0, but when booting the nano there is no ttyACM0. Is there another tty port? I see the login on the debug console outout, which is attached.
I do see the jetson login: prompt in the latest log you shared.
Since you are using the custom carrier board, I’m not clear how you design for the serial console.
For Orin NX/Nano on the devkit, we would use a serial console cable as the following instruction to access serial console. Jetson Nano & NX Style - Serial Debug Console - JetsonHacks
I see in the jetson-orin-nano-devkit.conf there are DTB file settings at line 63:
elif [ “${board_sku}” = “0003” ] || [ “${board_sku}” = “0005” ]; then
BPFDTB_FILE=“tegra234-bpmp-3767-0003-3509-a02.dtb”;
DTB_FILE=“tegra234-p3767-0003-p3768-0000-a0.dtb”;
This is the default DTB specified in board config.
This is included in update_flash_args_common, which is called during the flashing process to update the correct DTB based on the Board SKU read from your module.
I’d suggest checking the flash log to determine the exact DTB used in your case.