A bit of a story background you might find of use…
Jetsons all have custom boot software. Mostly this is required because there is no actual BIOS, it is just software performing the equivalent. Most embedded systems tend favor lower power consumption, lower cost, and smaller/lighter physical size by removing that extra hardware. This has been inherited and has influenced design since the early Tegra device days (well over a decade old, probably up to two decades ago). This worked well in more dedicated 32-bit days.
The TK1 was the first embedded system with a GPU, and this was 32-bit. It used U-Boot. When the TX1 came out U-Boot limitations were apparent, e.g., the compression of the kernel image became an issue in 64-bit land. No ARM 64-bit system had yet been built, it was completely new. Functionality of 32-bit U-Boot software started being ported into NVIDIA’s CBoot stage. Still, it was entirely custom. There is no BIOS, so standard bootloaders couldn’t work.
NVIDIA started adding in UEFI support. Not entirely, but in in pieces. What this does is abstract the hardware dependent boot content to make a uniform (more object-oriented) interface that regular bootloaders could work with.
L4T is what gets flashed, and this is Ubuntu plus NVIDIA drivers. In L4T R35.x (JetPack 5; JetPack is the GUI front end to the flash software which installs L4T) this has a lot of UEFI added, but it isn’t complete. One still needs to use NVIDIA’s kernel with out-of-tree content, and some incomplete UEFI support. At L4T R36.x (JetPack 6) this is more or less complete, and other bootloaders which understand UEFI should work with this despite the BIOS only being a software emulation (the same API is present, so it doesn’t matter if it is a hardware BIOS or a software equivalent; the kernel is now mainline without the same out-of-tree content).
However, L4T R36.x is still a developer preview. I think it is really close to being a full release.
Even so, what NVIDIA provides on L4T R36.x is still Ubuntu. What this does though is allow someone with the documentation to be able to adapt to plug in other distributions, e.g., Fedora. Basically, you won’t have the ability to use other distributions with JetPack 5, and even with JetPack 6 the mainline kernel won’t be supported unless you get a valid kernel version.
You can find documentation here:
https://developer.nvidia.com/embedded/downloads
Also, if you have a specific L4T release, you can look for docs specific to that here:
https://developer.nvidia.com/linux-tegra