I would like to change the boot logo and start up Jetson in the following environment.
Jetson Orin NX
JetPack 6.2
Display resolution 800*600
To change the Jetson boot logo, I replaced the bitmap image and built it with reference to the following.
I download UEFI source from GitHub - NVIDIA/edk2-nvidia: NVIDIA EDK2 platform support.
The downloaded source “combo” was specified as “r36.4.3-updates”.
When I write uefi_jetson.bin and start up Jetson, the new boot logo was displayed and the OS also started.
However, after the new boot logo disappeared during startup, the screen remained black and the boot log was not displayed until the OS started.
So I changed to the other display(resolution 19201080). New boot logo and boot log were displayed on the screen.
I also changed back to 800600 display and wrote the NVIDIA original UEFI. Boot log was displayed.
I downloaded UEFI from the following link: https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v4.3/release/Jetson_Linux_r36.4.3_aarch64.tbz2
How can I do for changing the boot logo and displaying the boot log on the display with resolution 800*600?
Are you using the devkit or custom board for Orin NX?
Do you mean that your custom boot logo + boot log can only work with 1920*1080 display?
Do you just change the bmp file and use the exact same name for nvidiagray480.bmp, nvidiagray720.bmp, nvidiagray1080.bmp?
How do you flash the board to apply the change for Orin NX?
Are you using the devkit or custom board for Orin NX?
I use Seeed Studio reComputer J4012.
Do you mean that your custom boot logo + boot log can only work with 19201080 display?
800600 1920*1080
custom logo: ok ok
boot log: ng ok
Do you just change the bmp file and use the exact same name for nvidiagray480.bmp, nvidiagray720.bmp, nvidiagray1080.bmp?
yes
How do you flash the board to apply the change for Orin NX?
I use flash.sh.
I try 2 ways.
sudo ./flash.sh -c bootloader/generic/cfg/flash_t234_qspi.xml jetson-orin-nano-devkit mmcblk0p1
sudo ./flash.sh -k A_cpu-bootloader -c bootloader/generic/cfg/flash_t234_qspi.xml jetson-orin-nano-devkit nvme0n1p1
I replace nvidia orginal uefi_jetson.bin under /nvidia/nvidia_sdk with my original uefi_jetson.bin. And flash it with nvidia sdk manager.
My Boot logo is displayed on the screen. But boot log in not displayed.
Sorry, I mistake the display resolution. It was 1280x800, not 800x600.
The resolution of my LCD module is 1280x800, and the resolutions other than 1280x800 cannot be displayed.
With NVIDIA standard bootloader, the startup screen → boot sequence → desktop can all be displayed. In other words, the Jetson always outputs the resolution of 1280x800.
When flashing my custom, the startup screen (display OK) > boot sequence (NG) > desktop (display OK), and it appears that the resolution is other than 1280x800 only during the boot sequence.
Sorry. Logo size is 640480, 1280720,19201080. (same size as original bitmap)
I don’t add 1280800 logo.
Should I add 1280*800 logo?
I change 640480, 1280720,1920*1080 bitmap to my custom logo(same size). I get the source from GitHub - NVIDIA/edk2-nvidia: NVIDIA EDK2 platform support.
And I build the source after only bitmap update.
Boot sequence log don’t be displayed.(Custom logo is displayed)
I think you just need to replace these 3 files with the correct resolution respectively.
And I don’t think it should affect the log printed on the display(framebuffer) since they are from different boot stage.
Please check framebuffer related messages during boot up in both cases.
I would suggest only updating UEFI binary to prevent other factors.
You can refer to the following steps to debug this issue:
flash clean JP6.2 with NVIDIA default logo + boot log through frambuffer
save full serial console log
replace custom boot logo and build UEFI binary
replace UEFI binary and run the command to flash UEFI partition only
boot up and check if there’s custom boot logo and boot log displayed
I can solove the problem.
I flash uefi_jetson twice like below.
flash NVIDIA original uefi_jetson.bin
sudo ./flash.sh -c bootloader/generic/cfg/flash_t234_qspi.xml jetson-orin-nano-devkit mmcblk0p1
Replacing “mmcblk0p1” with “internal”, error occure at last stage. So I use “mmcblk0p1”.
This command will flash whole QSPI.
Using internal should be more reasonable since there’s no internal eMMC in Orin NX module.
This command will flash only UEFI partition(A_cpu-bootloader).
Could you elaborate on your solution?
Do you mean updating UEFI binary only can help for your issue while updating whole QSPI will cause boot log not printed on the display?
With my custom uefi, updating whole QSPI will cause boot log not printed on the display.
With NVIDIA original uefi, updating whole QSPI will cause boot log printed on the display.
The flash environment is the same and only the uefi binary is replaced.
While log is displayed in flashing NVIDIA original uefi, I flash only uefi (it’s my custom uefi). So custom logo and boot log is displayed.
I don’t know why this causes both the logo and the log to be displayed.