Jetson Xavier NX freezes when installer writes bootloader with UEFI

I’ve flashed my Xavier NX board with latest UEFI firmware (using sudo ./flash.sh jetson-xavier-nx-uefi-acpi external), then I booted latest Fedora RawHide (35).

While it detected everything perfectly (NVME drive, NIC, Wireless, Video) in DT mode, I followed the “Install to disk” process to install it to my NVME drive.

Right at the end (close to 98%) when it shows “Installing boot loader”, the board freezes totally even the console connected to the GPIO pins via serial.

I then tried a Debian install and the same happened. I later tried re-flashing the firmware with sudo ./flash.sh jetson-xavier-nx-uefi-acpi nvme0n1p1 but same happens.

Might be something related to the OS writing to the UEFI boot parameters?

Any help is appreciated.

To be clear, you’re using the ACPI version of the firmware in DT mode right?
For Fedora, did you use the fedora-arm-image-installer?
Which “Install to disk” process are you following?

Exactly, I tried first the jetson-xavier-nx-uefi-acpi firmware in “DT” mode. Then I tried also the jetson-xavier-nx-uefi firmware.

I downloaded the latest RawHide ISO for ARM64 and wrote it to a USB drive. It’s a Live ISO so I booted it (worked pretty well) and run the “Install to disk” application.

Gotcha. First, the ACPI mode is pretty much non-functional at this point so stick with DT mode. If you’ve installed the ACPI firmware, you can keep it installed and just run it in DT mode.

I haven’t used live ISO in a long while so I’m not sure what “Install to disk” actually does these days. I’d try a few things though… With the Live ISO booted, try running fedora-arm-image-installer manually…

Grab the Fedora-.aarch64.raw.xz image of your choice.
Connect a serial console to the 40-pin header UART.
Connect a display to the HDMI port. There are messages that show up here that don’t show up on the serial console. :( Don’t need a mouse or keyboard.

Try writing to an sdcard first.

$ sudo fedora-arm-image-installer --image=<fedora_image>.xz --media=/dev/mmcblk0 --addconsole --showboot --sysrq --target=rpi4

The ‘rpi4’ target just says “don’t install uboot”.
Now shut down, remove the USB stick with the live image, and reboot.
In the UEFI console, navigate to the Boot Manager and see if the SD card install shows up.
If that works, you can either try running the installer again with --media=/dev/nvme0n1 or prepare your nvme stick with the partition layout and filesystems you like and rsync the contents from the sdcard to the nvme stick. After the copy, edit /etc/fstab and the files in /boot/loader/entries on the nvme to make sure they have the new root filesystem UUIDs.

Of course if you’re already running Fedora on a desktop, you can run the fedora installer from there instead of the Live ISO. That’s actually what I do. I write it to a scratch device first. Then I prepare an SDcard or nvme stick in a USB adapter with the partition layout and filesystems I like, then rsync everything to it. Just have to make sure the file system UUIDs are correct on the kernel command line and in fstab.

Hello!

I have not tried the ‘Install to disk’ option either. I can ask about this and will let you know what I find out. However, instead of using the Live ISO, I have simply downloaded the raw image (either minimal or everything) and then unxz the image and used ‘dd’ to write the USB, NVMe or whatever storage device you are using on my Linux host. The UEFI bootloader should then detect the device once connected and you should be able to boot.

https://alt.fedoraproject.org/alt/

Regards,
Jon

Thanks Jon, gonna give a try!

Unfortunately, I don’t get graphics booting from the USB drive with both Fedora 34 and rawhide images.

Hello!

Did you try the Fedora Workstation raw image? I said the ‘everything’ image before, but I meant the workstation image.

Jon

Yep, that’s the ones I tried: Fedora-Workstation-34-1.2.aarch64.raw.xz and Fedora-Workstation-Rawhide-20210623.n.0.aarch64.raw.xz.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.

Hello!

I was able to get the desktop to start up by adding ‘cma=512M’ to the kernel command line. You can do this by pressing ‘e’ when the GRUB menu appears for booting Fedora and appending to the end of the linux command line …

load_video                                                                                                                                                                                                                                    
set gfxpayload=keep                                                                                                                                                                                                                           
insmod gzio                                                                                                                                                                                                                                   
linux ($root)/vmlinuz-5.11.12-300.fc34.aarch64 root=UUID=13846802-672b-4a5d-9f\                                                                                                                                                               
0a-22d13957add3 ro rootflags=subvol=root rhgb quiet console=tty0 cma=512M                                                                                                                                                                     
initrd ($root)/initramfs-5.11.12-300.fc34.aarch64.img   

Please note that the desktop is not currently accelerated by the GPU and so performance is not expected to be great.

Regards,
Jon