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?
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.
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.
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.
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.