Can't access UEFI menu

I know that, to access the UEFI menu on the Jetson Orin Nano computer, you’re supposed to repeatedly press the ESC key on the keyboard while it’s booting up, but I’ve tried this a number of times and it just doesn’t seem to work. I’ve tried restarting the computer, waiting for it to boot up, then pressing the ESC key, both before and after the NVIDIA splash screen appears, but it just won’t seem to boot up. If it helps to know, I use a wireless USB keyboard. Please help!

Is this actually a Nano, and not an Xavier Nano or Orin Nano? If so, then that means you using L4T R32.x (L4T is just what they call the flashed content; L4T R32.x is Ubuntu 18.04 plus NVIDIA drivers). Check via “head -n 1 /etc/nv_tegra_release”). For this release, there is no UEFI, and the keyboard activity to find boot prompt is from serial console and not the regular monitor.

If this is Xavier, then this could be L4T R35.x, which has a lot of UEFI in it, although it isn’t 100%. This could use the regular monitor and keyboard. Orin, when running L4T R36.x (there will probably be another release soon, which Orin will likely work with) this becomes truly all UEFI. This is easy to interrupt boot on.

Do you have serial console setup? Is this the original Nano, or is it one of the newer ones, e.g., Xavier or Orin?

Thank you for the response… I’m still struggling with this. The box that my Jetson came in says that it’s an NVIDIA Jetson AGX Orin 64GB developer kit. I’ve attached a picture of the response I got when I tried entering the prompt you suggested into a terminal on my Jetson; it seems to indicate that I have an L4T R35.4.1.

Yes, I have a serial console setup, and I use Windows PowerShell on my administering machine (iMac laptop using Windows OS). I think I have the newer Orin.

I would really appreciate any advice you could give me as to how to check and see if my firmware needs to be upgraded and, if so, how I would go about doing so. I have been trying to figure this out for over a week now.

Thanks again, I really appreciate your help.

As this is AGX Orin, which is neither Nano nor TX1, this should be moved to the AGX Orin category. Maybe @DaveYYY or @WayneWWW or @KevinFFF could move this to the AGX Orin forum.

For your case, the serial console may not matter, but I’ll add some notes before continuing: The system which sees or uses a serial console should not matter, but if you ever decide to flash, then you’ll need Linux for the host PC which flashes the Jetson. Some people use VMs, like WSL2, but this can have a steep learning curve and isn’t actually recommended.

It sounds like your installation is a compatible release. However, R35.x was not entirely UEFI yet. You won’t have full UEFI unless you migrate to L4T R36.x. On the other hand, when you say it doesn’t boot, are you going by what you see on a monitor directly attached, or are you going by what comes from the serial console? It is really important to try from serial console. If you have used serial console, then is it set to 115200 8N1 (speed 115200, 8-bit, no parity, and one stop bit; flow control is not CTS/RTS)? Do you see anything at all via serial console? Incidentally, here is some information on serial console:
https://developer.ridgerun.com/wiki/index.php/NVIDIA_Jetson_Orin/In_Board/Getting_in_Board/Serial_Console

Incidentally, here is a list of L4T releases and their compatibility with different dev kits:
https://developer.nvidia.com/linux-tegra

Hi @mikoro97,

Could you update the the latest Jetpack5.1.4(R35.6.0) or Jetpack 6.2(r36.4.0) and check if you would still hit the similar issue?

What exactly am I supposed to update and how?

Are you using the devkit or custom board?

Why your topic is in AGX Orin category, but you seem using Orin Nano?

Do you know how to flash the board?

Here is my setup if it helps


No, I don’t think I know how to flash it

Here is my setup if it helps


I think I’ve realized that, when I repeatedly press escape on my keyboard (either with the keyboard I have directly connected to it or using my host Mac laptop), the Jetson boots up, but the screen just stays black the whole time. That makes me think that it is working to an extent, but something must still be wrong and I cannot figure out what.

Okay, it seems you are using AGX Orin devkit rather than Orin Nano.
Please refer to NVIDIA Jetson Orin AGX - In Board - Getting in Board - Serial Console to get serial console log from Micro-USB port for us to check what’s happening inside.

You can simply refer to the steps in Install Jetson Software with SDK Manager — SDK Manager to use SDK Manager to flash the devkit.

Is there any way you could give me live help? I’m having trouble finding out how to do anything you’re asking me to; when I try to open Powershell (I’m using Windows OS) and paste the command the link you gave me tells me to in, I get an error message.

Sorry that we don’t have such support from forum, but I can guide you here instead.

Do you have standalone Ubuntu as host PC?
We would suggest getting an Ubuntu host to develop Jetson.

It seems your board can boot successfully (since I can see the desktop in your image).
So, you can also refer to the instruction in Updating from the NVIDIA APT Server to perform debian-based OTA update for your devkit to update from r35.4.1 to r35.6.0.

Some details which might help…

Jetsons don’t have an actual BIOS, but they do have the equivalent in software. A full flash is essentially a simultaneous flash of the o/s, bootloader, and BIOS equivalent. Because of the lack of an actual BIOS flash is a bit different than installing to a PC; the PC can “self install” from media (the BIOS is running during an o/s install on a PC), but the Jetson cannot and needs a separate host PC. The Jetson is put into recovery mode, and it becomes a custom USB device. The host PC has a device driver (the flash software) on it, and thus can flash the recovery mode Jetson.

Incidentally, if you look at the docs, the recovery button is mentioned. By itself this does nothing. However, if you treat it like a shift key on a keyboard when trying to get a capital letter, it is similar, but it is power on or power reset which it modifies. You can hold the recovery button down, and then tap the power on (or add power) button (if powered off), and let go, and it is in recovery mode. Or you can hold the button down, and tap the power reset button, and let go of the recovery button, and this too will put the Jetson in recovery mode. Recovery mode in and of itself does not change anything other than to temporarily put the Jetson into that mode. To make actual changes the host PC must run the flash software when the recovery mode Jetson has the correct USB connection (if you face the 40-pin header, then the USB on the right is the one which flash can run over). During flash the Jetson will complete the actual flash, and then self-reboot; flash will appear to continue running, but what it is really doing is using ssh to the admin account to install optional software like CUDA (you will need to perform first boot account setup at that point since ssh over the network requires such an account; the USB cable happens to provide a virtual wired Ethernet device during normal boot).

So far as terminology goes, L4T (“Linux for Tegra”) is what actually gets flashed. This is just what you would call Ubuntu after the NVIDIA content is added. Orin can currently use L4T R35.x or R36.x, and you have R35.x at the moment; R36.x switches to the mainline kernel and also full UEFI, and so this might be what you are interested in. JetPack is just the GUI front end to the software performing the flash, and SDK Manager is a “smart” network layer on top of JetPack. If starting with certain command line options JetPack/SDKM can flash a number of releases, but by default one release of JetPack is tied to a given release of L4T (naming one release version is more or less naming the other’s version). JetPack 5.x flashes L4T R35.x, and JetPack 6.x flashes L4T R36.x.

Since the actual flash software is a driver which runs only on a Linux system with desktop PC architecture you cannot do this with Windows. Some people use a VM or WSL2, but this can be a pain and it is up to you to learn that, so it isn’t recommended. During flash USB will disconnect and reconnect, and if you have not dedicated that USB device (the recovery mode Jetson) to the VM, flash will fail. Also, the filesystem type of the host must be ext4; if you use something like NTFS, the flash will look like it worked, and your Jetson will barely function. It is much easier to add a second hard drive and dual boot to Ubuntu on that second hard drive. For an Orin, you could probably use either Ubuntu 20.04 or 22.04 as your host PC. Command line flash lacks a few features, but would work with more Linux distributions (command line is the actual driver package).

If you pick an L4T release, then all the software listed there will also include the JetPack/SDKM. If you were to find a JetPack/SDKM release, then the information for that would lead to the L4T release. These are more or less paired together. You can look at either of these, but I prefer the L4T release URL with its compatibility list: