New device, tried to upgrade, won't boot

Hello,

New Jetson device. Worked fine out of the box. Needed a flash to latest version. The flash seemed to complete without problems but no matter what I try, it just won’t boot. I did get R19.X to load the kernel and then panic that it can’t find rootfs, anything newer just gives me a blank hdmi console.

I’ve tried loading on mmcblk0p1 and mmcblk1p1 but it doesn’t seem to like either. Suggestions??

This was the output on the serial console:

TEGRA124
Board: NVIDIA Jetson TK1
I2C: ready
DRAM: 2 GiB
MMC: Tegra SD/MMC: 0, Tegra SD/MMC: 1
*** Warning - bad CRC, using default environment

tegra-pcie: PCI regions:
tegra-pcie: I/O: 0x12000000-0x12010000
tegra-pcie: non-prefetchable memory: 0x13000000-0x20000000
tegra-pcie: prefetchable memory: 0x20000000-0x40000000
tegra-pcie: 2x1, 1x1 configuration
tegra-pcie: probing port 0, using 2 lanes
tegra-pcie: link 0 down, retrying
tegra-pcie: link 0 down, retrying
tegra-pcie: link 0 down, retrying
tegra-pcie: link 0 down, ignoring
tegra-pcie: probing port 1, using 1 lanes
In: serial
Out: serial
Err: serial
Net: RTL8169#0
Warning: RTL8169#0 using MAC address from net device

Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1…
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0…
(Re)start USB…
USB0: USB EHCI 1.10
scanning bus 0 for devices… 1 USB Device(s) found
USB1: USB EHCI 1.10
scanning bus 1 for devices… 3 USB Device(s) found
scanning usb for storage devices… 0 Storage Device(s) found
scanning usb for ethernet devices… 0 Ethernet Device(s) found

USB device 0: unknown device
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3

The original software the TK1 ships with isn’t very reliable, but what you flashed is quite reliable if it is recent.

It is common for video to not configure and have people thinking it didn’t boot, when in reality the only thing going on is that the monitor doesn’t show up. ssh and serial console should work (if you have a serial cable it is set to 115200 8N1…since you got those boot messages it seems like you probably already do have a serial cable).

Do you have wired ethernet connected to a router? You should see what address is assigned and be able to ssh to “ubuntu@”.

In the case of SD card boot failing what you are seeing is that everything worked as it should up to the boot loader trying to find a root partition…it couldn’t find the SD card version of extlinux.conf and so it fell back to testing for defaults.

There are many things which can cause the root partition to not be found even though flash and hardware are doing as they should. When you flashed what Linux o/s version were you using? Ubuntu 14.04 and 16.04 have compatible ext4 settings by default, but I think 17.04 and several of the other newer Linux systems have 64-bit extensions which flash software fails to detect…those 64-bit extensions are not a problem for the Linux kernel, but U-Boot does not understand them, and thus anything flashed from such a system (without adjusting) will fail to find the root partition. In particular check the ext4 section of file “/etc/mke2fs.conf”, look for either of these which would cause boot failure via U-Boot not knowing the extensions:

metadata_csum
64bit

17.04. Both metadata_csum and 64bit are set for ext4 and ext4dev. Are there any workarounds for this? It’s a testing/hacking laptop, I can downgrade to 16.04 if necessary.

Thanks for the very helpful reply.

It’s fairly easy to work around. One choice is to temporarily edit those options out of the ext4 section of the mke2fs.conf file, or edit the flash.sh script file.

To edit the line of the flash.sh script look for:

mkfs -t $4 ${loop_dev} > /dev/null 2>&1;

…this should be at line 486 on the R21.6 release, or close by.

Edit to include option “-O ^metadata_csum,^64bit”:

mkfs -t $4 -O ^metadata_csum,^64bit ${loop_dev} > /dev/null 2>&1;

After this your flash.sh script should generate images without the 64-bit issues. I suspect more and more people will be running into this problem as more people modernize their work stations. Right now though the only official support is for Ubuntu 14.04.

It’s up and running now! Thanks again!