Custom initramfs on Jetpack 5.1.1 for AGXI

Given JetPack releases are tied to specific L4T releases. R28.x was flashed by JetPack 3.x. Even the documentation of that release is quite wrong when mixed with JetPack 4.x, and further incorrect for JetPack 5.x. Because of the boot chain differences from one release to another, there is almost nothing useful from a JetPack 3.x document. If you are using any R32.x code (tied to JetPack 4.x), and mixing it with anything from JetPack 5.x (L4T R35.x), then this too will be wrong, although it will be “less wrong”. Mostly this is about the boot chain setup before handing over to the kernel.

Are you working purely with R35.3.1? This is what corresponds to JetPack 5.1.1. This is the only documentation that has any guarantee of working. This includes documentation regarding the initrd since that is used for handing over from boot chain to kernel. It is true though that if you are just talking about the initrd as a cpio archive, then such information is probably correct on all releases (but the setup and prior to handing over to initrd, and the actual content within the initrd, will change with release).

This URL is about a debug branch of UEFI, which you might find useful since failures during boot will become more verbose:

This is more about a simple “Hello World” application in UEFI:
https://forums.developer.nvidia.com/t/how-can-i-compile-nvidia-uefi-edk2-mdemodulepkg-application-helloworld/262400/3

Although you might be interested in changing parts, this is about cloning the UEFI repo:

See also this about the edk2:
https://forums.developer.nvidia.com/t/jetson-agx-orin-uefi-test/232846/2

This is a UEFI adaptation guide, and is using L4T R34.x (which is the developer preview release before R35.x that you are using; this mostly applies to your case, although some changes were made);
https://forums.developer.nvidia.com/t/uefi-menu-on-agx-orin-devkit/212973/5https://forums.developer.nvidia.com/t/re-jp5-0-and-uefi-bootloader/211000/2


Here is an excerpt from a thread you won’t have access to:

As for the question here, our current UEFI is based on edk2
GitHub
EDK II · tianocore/tianocore.github.io Wiki

Tianocore website. Contribute to tianocore/tianocore.github.io development by creating an account on GitHub.

With tag = edk2-stable202111

and below one is our fork.
GitHub
GitHub - NVIDIA/edk2: NVIDIA fork of tianocore/edk2

NVIDIA fork of tianocore/edk2. Contribute to NVIDIA/edk2 development by creating an account on GitHub.

Thanks,
Wayne

This might be of interest:
https://forums.developer.nvidia.com/t/feedback-on-experimental-uefi-firmware/175586/43

This would be useful to you, although it is about the very first UEFI implementation (things have changed, but I think most of this applies):
https://forums.developer.nvidia.com/t/feedback-on-experimental-uefi-firmware/175586

1 Like