Boot from USB

Hi,

TL;DR:

Identical images on a USB drive on /dev/sda1 and on the sd card /dev/mmcblk0p1 only changing extlinux.conf.
First boot from mmcblk0p1 runs the oem-config just fine but first boot from /dev/sda1 fails with ‘installation failed’

The long version:

I’ve used sdkmanager to flash my devkit and it works fine.
But, I want to be able to boot from usb

So I used: flash.sh with /dev/sda1 instead of mmcblk0p1 and then I copied the rootfs on an fresh ext4 partition on the USB drive.

The nano boots correctly and then goes into the oem-config firstboot with the beaver background image…

BUT instead of the first system configuration setup window it says:
Installation failed
The installer encountered an unrecoverable error. A desktop session will now be run…

After dismissing the dialog it flashes back to text mode a few times until I get a black screen. A subsequent reboot just stops part way through the boot.

I even tried generating the system.img using flash.sh --no-flash and copying the resulting system.img.raw to the USB drive using dd. The result was the same.

Finally I flashed only the APP partition with the idendical system.img that I used above using flash.sh -k APP --no-systemimg which puts the identical image I created above on mmcblk0p1 and as expected the device boots correctly and goes through the oem-config.

Oh I also tried editing the boot/extlinux/extlinux.conf and pointing it back to /dev/sda1 and re copying the image to the USB drive and I get the same ‘installation failed’ message

Is there something else I need to change on the rootfs?

I can answer my own question.

I found this in /var/log/oem-config.log:

Exception in GTK frontend (invoking crash handler):

subprocess.CalledProcessError: Command ‘[’/usr/lib/nvidia/resizefs/nvresizefs.sh’, ‘-m’]’ returned non-zero exit status 3

Removing nvresizefs.sh made the oem-config happy

Hi npross,

Actually the official way to boot rootfs from external device is in this page.

https://elinux.org/Jetson/L4T/Boot_From_External_Device

Not sure if you would still hit this error again. Please try it.