Current System: Jetson Xavier AGX, Jetpack 4.6.2, L4T 32.7.2
–Current system has a custom carrier board with a carrier board EEPROM at i2c@3160000/eeprom@56.
–CBoot works flawlessly to pull the “ids” from the EEPROM and apply overlays in the plugin-manager section of the device tree.
New System: Jetson Xavier AGX, Jetpack 5.1.1, L4T 35.3.1
–New system has a custom carrier board with a carrier board EEPROM at i2c@3160000/eeprom@56
–We ensured that EEPROM is specified under the correct I2C bus
i2c@3160000 {
eeprom@56 {
reg = <0x56>;
compatible = "atmel,24c04";
pagesize = <0x10>;
};
–We ensured that the eeprom-manager was enabled and has an entry for our carrier board EEPROM
eeprom-manager {
status = "ok";
data-size = <0x100>;
bus@2 {
i2c-bus = <0x2cf>;
eeprom@1 {
slave-address = <0x50>;
};
eeprom@0 {
slave-address = <0x52>;
label = "cvm";
};
};
bus@0 {
i2c-bus = <0x2cd>;
eeprom@1 {
slave-address = <0x56>;
};
–We put a simple test fragment in the device tree as follows:
fragment@0 {
target = "/eeprom-manager";
board_config {
ids = "10640171496 A.0";
sw-modules = "kernel";
};
__overlay__ {
favname = "Oliver";
};
};
When we booted the system favname was unchanged. So the fragment was not applied by the UEFI bootloader.
The bootloader has virtually no output to debug with so we attempted to build the bootloader with debug output using the instructions found here:
We performed the Build with docker version of the instructions on Ubuntu 22.04.1 and the compilation ended with an error
We performed the Build without docker version of the instructions on Ubuntu 22.04.1 and the compilation ended with an error
We performed the Build with docker version of the instructions on Ubuntu 20.04.6 VM and the compilation ended with an error
We performed the Build without docker version of the instructions on Ubuntu 20.04.6 VM and the compilation ended with an error
All compilation errors were virtually the same, see following compiler output.
undefined reference to __aarch64_ldadd4_sync' undefined reference to __aarch64_cas4_sync’
The build with docker version commands used on both 22.04 and 20.04 follow:
- edk2_docker echo hello
- edk2_docker init_edkrepo_conf
- edk2_docker edkrepo manifest-repos add nvidia GitHub - NVIDIA/edk2-edkrepo-manifest: NVIDIA fork of tianocore/edk2-edkrepo-manifest main 1n nvidia
- cd /build
- edk2_docker edkrepo clone nvidia-uefi NVIDIA-Platforms r35.3.1
- cd nvidia-uefi
- edk2_docker edk2-nvidia/Platform/NVIDIA/Jetson/build.sh
Questions:
-
Can you see anything wrong with our JetPack 5 fragment?
-
Why won’t the boot loader build when using the exact instructions provided?
Does version R35.3.1 no longer build? Should we try a different version that will work with 35.3.1? -
What would you suggest as a next step to getting the carrier board eeprom device tree overlays working?
