Fedora on Jetson AGX Orin

I’m working with a Jetson AGX Orin (64 GiB) Dev-Kit. Our use case requires installing a more up to date OS like Fedora (more precise Fedora Silverblue).

I dug through all docs and noticed in theory the Jetson AGX Orin supports installing a custom OS. So I went through installing Fedora (Silverblue) on it. It works but now I need drivers for e.g. the ethernet card, cpu/gpu etc.
So I’m currently digging through the ref root file system porting what I can find.

Since this is a lot of work, is there a way to get the drivers for Ubuntu not backed in to the ref linux image so I can port them more easily?

For all that are interested, here is a installation guide for Fedora 38 that should work for a bunch of other distros as well.
I will keep this post updated with my latest findings.

===

Installing Fedora on the NVIDIA Jetson AGX Orin

This is not supported by NVIDIA. It is a DIY solution for our use case and requirements. The installation can target either the internal eMMC flash or an installed M.2 (NVME) SSD.

Limitations

  • No visual boot screen (rhgb/playmouth).
  • No Ethernet driver out of the box. Wifi works!
  • Usability feels a bit sluggish. This is caused by the nouveau driver/software rendering. No, installing xorg-x11-drv-nvidia-cuda does not fix this since the Jetson is not supported by this driver (Jetson won’t boot).

Preparing the Image

  1. Install the Fedora Media Writer (sudo dnf install mediawriter on Fedora).
  2. Plug in an USB-Sick with at least 8 GiB. This USB-Stick will be flashed with the fedora image for installing.
  3. Start the Fedora Media Writer.
  4. Click Next and Next. Now you should be on the Write Options screen. There select as Hardware Architecture AArch64. Under USB Drive select the one you want the image to be written to. Then click Write to start flashing.
  5. Once flashing is done, eject and unplug the USB-Stick.

Preparing the NVIDIA Jetson Orin

  1. Plug in a monitor, keyboard and mouse to the Jetson module.
  2. Plug in the USB-C power cable so the Jetson powers up.
  3. Start pressing esc again and again until you land in the Jetson system configuration screen.
  4. Select Device Manager and hit enter.
  5. Select O/S Hardware Description Section and hit enter. Select ACPI as O/S Hardware Description.
  6. Hit F10 and then Y to save your changes.
  7. Go back one level by pressing esc.
  8. [OPTIONAL BUT SUGGESTED FOR NOW] Enter the Secure Boot Configuration and set Current Secure Boot State to Disabled.
  9. Hit F10 and then Y to save your changes. Then exit this section by hitting esc.
  10. Hit esc again to exit the Device Manager.
  11. Now the Jetson is ready for installing Fedora.
  12. Before selecting Reset, plug in your flashed USB-Stick, then select the Reset option.

Installing

  1. On boot press F11 until you land in the Please select boot device: screen. There select your USB-Stick and hit enter to boot from it.
  2. Grub should show up now. There navigate to the Start Fedora 38 Workstation-Live option and press e to change kernel parameters. Please make sure, you do not select the Test this media & start Fedora 38 Workstation-Live option since it does not boot based on my experience. Do not know why right now.
  3. Inside the Grub parameter configuration remove quiet rhgb from the text displayed. If you do not remove rhgb it will not boot. Right now I did not debug why exactly.
  4. Once removed, press F10 to boot with this configuration. This will take some time! Don’t worry. For my Jetson Orin 64GiB Dev-kit it takes roughly 1 minute to get to the Fedora desktop without any visual feedback.
  5. Once on the Fedora Desktop start the Discs program.
  6. Format the storage media (eMMC flash or an installed M.2 (NVME) SSD) with GPT as partitioning standard. The internal eMMC flash is identified as SD Card Reader. Most likely when formatting the disk, you will see some kind of error and it does not look like anything changed. This is expected. Wait ~3 minutes and then reboot Fedora. Follow steps 1. to 5. again for rebooting.
  7. Once rebooted the eMMC flash should be formatted (empty). The installed installed M.2 (NVME) SSD might still be unchanged. In this case retry or plug the SSD in to your computer and format it there.
  8. Now you are ready for installing Fedora using the installer without anything special.
  9. Once installed reboot the Jetson and Fedora should start up without any special kernel parameter required. This might take a few minutes (~4 min) without any useful output on the screen. Depending on the media you installed Fedora to, you might want to change the boot order via the Jetson configuration (esc when booting).

Installing Cuda

  • TODO. Requires graphics drivers or porting the Cuda Jetson .deb package to a rpm/Fedora.

https://developer.nvidia.com/embedded/jetson-linux-archive but not in the best shape/needs an NV kernel for a good experience right now. Stay tuned for a future BSP release, things will become better.

We are announcing JetPack 6 which is targeted for Q3 2023 and will become our new feature codeline supporting Jetson Orin based modules. It will include Kernel 5.15 and Ubuntu 22.04 based root file system. Outlined in last year’s roadmap announcement, NVIDIA will finish upstreaming Jetson support to the Linux Kernel by JetPack 6 and pave the way for greater choice of Linux based distributions on Jetson.

from Jetson Software Roadmap for 2023

I’d also advise to look at OpenEmbedded for Tegra · GitHub, they have a lot of useful bits including tegra-udrm-gbm.

@never_released thanks for your reply and I’m looking forward to Jetpack 6.0 then.

Yes, this is the way I’m currently porting drivers over by extracting them from the Jetson Linux Archive while looking at the work from OpenEmbedded.

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