After I reflash the uefi compile with docker, device not working correctly

After I reflash the uefi 2023.05 stable. It can’t not working correctly.
flash command:
sudo ./flash.sh --no-systemimg -c bootloader/t186ref/cfg/flash_t234_qspi.xml jetson-orin-nano-devkit internal

It can be login with debug console. but got mc-err and the monitor just show a white screen.


Boot information is no CPU freq information. It work with uefi r35.4.1.

boot information as below.
uefi.txt (93.3 KB)

Any suggestion for uefi version for orin nano and NX?

Hi rex.ch.lin,

Are you using the devkit or custom board for Orin Nano?

Could you share the full steps how you build the UEFI binary?

Hi KevinFFF,

I’m using custom board for develop.

I follow this to build uefi binary.
Build with docker · NVIDIA/edk2-nvidia Wiki · GitHub

  1. export setting
    export EDK2_DEV_IMAGE=“Package containers/ubuntu-20-dev · GitHub

Required

export EDK2_USER_ARGS=“-v "${HOME}":"${HOME}" -e EDK2_DOCKER_USER_HOME="${HOME}"”

Required, unless you want to build in your home directory.

Change “/build” to be a suitable build root on your system.

export EDK2_BUILD_ROOT=“/home/rd/build”
export EDK2_BUILDROOT_ARGS=“-v "${EDK2_BUILD_ROOT}":"${EDK2_BUILD_ROOT}"”

Create the alias

alias edk2_docker=“docker run -it --rm -w "$(pwd)" ${EDK2_BUILDROOT_ARGS} ${EDK2_USER_ARGS} "${EDK2_DEV_IMAGE}"”

  1. cd /build

  2. edk2_docker edkrepo clone nvidia-uefi NVIDIA-Platforms stable202305

  3. cd nvidia-uefi

  4. edk2_docker edk2-nvidia/Platform/NVIDIA/Jetson/build.sh

  5. copy file from image folder.

Actually, I would suggest getting a standalone Ubuntu 18.04 or 20.04 as your host PC with the instruction of Build without docker.

Please use r35.4.1 branch for R35.4.1.

edk2_docker edkrepo clone nvidia-uefi-r35.4.1 NVIDIA-Platforms r35.4.1

Hi KevinFFF,

I tried R35.4.1 branch, and this one fixed the cpu freq not correctly issue.
But with this branch, our carried board can’t boot up correctly.
And the prebuild binary in BSP didn’t have this issue.
When carried board boot-up will show the UEFI FW version.
Branch r35.4.1 uefi that we build, the version will be 2022.10.3.
Prebuild binary in BSP will show version as 4.1.

Any different for this?

They should be the same.

Do you flash the whole board to apply the change?

Could you also try if r35.4.1-updates works for your custom board?

$ edk2_docker edkrepo clone nvidia-uefi-r35.4.1-updates NVIDIA-Platforms r35.4.1-updates

Hi KevinFFF,

I also try r35.4.1-updates, but seem no different with r35.4.1.
Just change the minor version.

And that you really think Build without docker will be solution of this issue?
It take more resuorces for this environment.

Yes, you could also try Build without docker, which has been verified from my side.

Could you also share the steps how you update UEFI binary?

Do you have the devkit could reproduce the same issue? (after updating the custom build uefi binary, it could not boot up)

Hi KevinFFF,

We tried flashing to devkit Orin Nano but it still can’t boot up correctly .
(R35.4.1)
Flash step:

  1. Replace “uefi_jetson.bin” and “BOOTAA64.efi” to we built.
  2. Start flash with the command: sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c tools/kernel_flash/flash_l4t_external.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml" --showlogs --network usb0 jetson-orin-nano-devkit internal
    boot log as below:
    stable202305.log (93.8 KB)
[   23.184977] exFAT-fs (nvme0n1p1): failed to recognize exfat type
[   23.199540] ERROR: PARTUUID=ae28cafa-1f6a-438f-ab61-00e9c9b01d08 mount fail...

It seems you failed while mount the rootfs rather than the issue from UEFI.

Could you use SDKM to flash original R35.4.1 and confirm it could boot up successfully?

Hi @KevinFFF ,

I can use the commend to flash original R35.4.1 and boot normally.
I just failed to flash the customized uefi file (@rex.ch.lin built).

We tried another one with devkit Orin Nano and the same command.
We replace the uefi_jetson.bin+BOOTA64.efi+L4TConfiguration.dtbo
Result: monitor didn’t show uefi but it can show login page.
boot log as below:
uefi.txt (89.0 KB)

Thanks.

Are you working with rex?

From this log, it seems you could boot up the board successfully.

Could you just try to replace <Linux_for_Tegra>/bootloader/uefi_jetson.bin with the uefi_Jetson_RELEASE.bin you built?
(i.e. do not update BOOTA64.efi+L4TConfiguration.dtbo to verify)

Hi @KevinFFF ,

Yes, I am working with Rex.
I tried only replacing the uefi_jetson.bin but the result is same as last time.
I can open the uefi using putty but it cannot show on monitor.

And i found another problem. It can show the login page and enter to OS in normal 1920x1080 monitor but it not work in my 4K monitor. (both are not showing the uefi in monitor)

boot log as below:
4K:
uefi_loginFail.txt (78.0 KB)
1920x1080:
uefi_loginSuccess.txt (91.3 KB)

Thanks.

From both of your uploaded log, it seems you could boot up to the log-in prompt…

Could you replace the <Linux_for_Tegra>/bootloader/uefi_jetson.bin with the following binary and re-flash the board?
uefi_Jetson_RELEASE.bin (2.5 MB)

Hi,

I’m sorry for getting back to you after some time.
I tried the attachment and the result still cannot see UEFI on monitor.
It will pass it and enter to login page and OS.
Is there are need to change other things else, or other flash command ?
boot log as below:
uefi.txt (87.0 KB)

Thanks.

Hi,

Can you please try connecting the monitor while flashing?

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