The AGX orin module uses JP5.1.1 system to start slowly

We use the AGX ORIN module with our self-developed carrier board.
Found that the ORIN module has a high probability of slow startup, the following is the corresponding log.
orin_boot_slowly.log (134.6 KB)

It took about two minutes from booting to entering the system.


I looked at the log and it took me about a minute to load UEFI.


We have compared about ten sets of the same board and module, and only three sets can be started quickly at present. Is there any way to solve this problem?

The current system does not add any self-starting program, just modify the BSP after the use of flash burning system.

Hi chen.xi,

Could you update the UEFI with latest r35.3.1-updates branch from GitHub?
It should include all necessary fixes.
If the slow boot time issue still exist, please use uefi_Jetson_DEBUG.bin instead to enable debug message and check where it gets stuck.

What do I need to do? I want to look at the details first before I think about refactoring UEFI.

Please refer to the following instruction to setup the build environment and build the uefi binary.
Build without docker · NVIDIA/edk2-nvidia Wiki · GitHub

$ edkrepo clone nvidia-uefi-r35.3.1-updates NVIDIA-Platforms r35.3.1-updates

Meaning, if I just want to enable the debug message and check where it’s stuck. Do you also need to follow this step to refactor UEFI?

Yes, you should use uefi_Jetson_DEBUG.bin to enable debug messages in UEFI.

I intend to build UEFI using docker, but now I have a problem, I use a command to run the docker image.

sudo docker run -it --name=edkrepo-plink -w "$(pwd)" -v "/build":"/build" -v "/home/cx":"/home/cx" -e EDK2_DOCKER_USER_HOME="/home/cx" "ghcr.io/tianocore/containers/ubuntu-20-dev:latest" /bin/bash

Refer to the steps linked below.
Build with docker · NVIDIA/edk2-nvidia Wiki (github.com)
I need to install the unzip toolkit with root privileges,

But I don’t know the root password of this docker image, so I can’t install it. Is there any good way?

Do you refer to the following instruction to setup docker for your current user?
Build with docker · NVIDIA/edk2-nvidia Wiki · GitHub

Or are you using standalone Ubuntu 18.04 or 20.04 as your host PC?
You could try using the method - Build without docker · NVIDIA/edk2-nvidia Wiki · GitHub.

cx@ubuntu:~/build/edk2-edkrepo-manifest-main/edk2-nvidia$ ./Platform/NVIDIA/Jetson/build.sh 
nvidia: building from workspace rooted at: /home/cx/build/edk2-edkrepo-manifest-main
nvidia: found command: python3.
nvidia: found command: virtualenv.
nvidia: found command: mono.
nvidia: found command: aarch64-linux-gnu-gcc.
nvidia: Activating Python virtual environment.
nvidia: Building from tarball
nvidia: Updating build environment (edk2-nvidia/Platform/NVIDIA/Jetson/PlatformBuild.py).
edk2-nvidia/Silicon/NVIDIA/scripts/prepare_stuart.sh: line 49: stuart_update: command not found

After downloading the zip package through github, the first execution did not report this error, the second execution, there is this error.

This error is currently covered with or without docker.
edk2-pytool-extensions/docs/user/using/install.md at master · tianocore/edk2-pytool-extensions (github.com)
Using this method has not been fixed either.

I downloaded these four packages in total, Is there anything missing?
tianocore/edk2: EDK II (github.com)
tianocore/edk2-edkrepo-manifest: Platforms manifests used by the edkrepo utility (github.com)
NVIDIA/edk2-nvidia at r35.3.1-updates (github.com)
NVIDIA/edk2-edkrepo-manifest: NVIDIA fork of tianocore/edk2-edkrepo-manifest (github.com)

This is another error message.

cx@ubuntu:~/nvidia-uefi/edk2-edkrepo-manifest-main/edk2-nvidia$ ./Platform/NVIDIA/Jetson/build.sh 
nvidia: building from workspace rooted at: /home/cx/nvidia-uefi/edk2-edkrepo-manifest-main
nvidia: found command: python3.
nvidia: found command: virtualenv.
nvidia: found command: mono.
nvidia: found command: aarch64-linux-gnu-gcc.
nvidia: Creating Python virtual environment in /home/cx/nvidia-uefi/edk2-edkrepo-manifest-main/venv...
Already using interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /home/cx/nvidia-uefi/edk2-edkrepo-manifest-main/venv/bin/python3
Also creating executable in /home/cx/nvidia-uefi/edk2-edkrepo-manifest-main/venv/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
nvidia: Installing required Python packages...
ERROR: Could not find a version that satisfies the requirement edk2-pytool-library==0.14.1 (from versions: 0.9.0, 0.9.1, 0.9.2, 0.10.0, 0.10.1, 0.10.2, 0.10.3, 0.10.4, 0.10.5, 0.10.6, 0.10.7, 0.10.8, 0.10.9, 0.10.10, 0.10.11, 0.10.12, 0.10.13, 0.10.15, 0.11.0, 0.11.1, 0.11.2, 0.11.4, 0.11.5, 0.11.6, 0.12.0, 0.12.1, 0.15.0, 0.15.1, 0.15.2, 0.15.3, 0.15.4)
ERROR: No matching distribution found for edk2-pytool-library==0.14.1

Could you use the following command to download all the necessary packages?

$ edkrepo clone nvidia-uefi-r35.3.1-updates NVIDIA-Platforms r35.3.1-updates

We changed the network and now have a UEFI image built.

AGX-ORIN-BOOT.log (558.2 KB)
Attached is the startup log, could you please help analyze it?


I compared the logs with normal startup time and found that this part took the longest time. The left side is the log with abnormal startup time, and the right side is the log with normal startup time.

May I ask what kind of problems may have caused this part?

We did a comparison test, the system with our BSP, version JP5.1.1, when starting on devkit, there was no PHY error in the log, but there was PHY error on our board.

In addition, according to the log, the kernel is not running yet, and it is only detected in the UEFI phase.

The difference between our carrier board and devkit is that the network chip is not the same. May I ask how to turn off this phy or optimize this problem?

It needs to be clear that our BSP can work normally after the system starts normally, USB, PCIE, and network.

Could you help to remove the network stack in UEFI for your use case to check if it could help for the boot time issue?

Please remove lines #187 to #209 in https://github.com/NVIDIA/edk2-nvidia/blob/main/Platform/NVIDIA/NVIDIA.fvmain.fdf.inc#L185

We found in the recent shipment that without any modification of UEFI, some modules do not appear in this situation, may I ask what causes it?

Do you mean the latest JP5.1.2(R35.4.1)?
Which module do you refer to?

Yes, the latest JP5.1.2 also has this problem, using the AGX ORIN module, currently only this model has this problem.

Have you tried to removed the network stack in UEFI to check if it could help with your PhyDexInitialization issue?