Hi NVIDIA,
I would like to change the UEFI boot splash screen logo on my Xavier NX production module. I have looked into the information provided in the following posts:
echo “[INFO]: Add custom UEFI splah screen images to:”
echo “[INFO]: ~/Downloads/nvidia-uefi/edk2-nvidia/Silicon/NVIDIA/Assets/”
echo “”
echo “[INFO]: Modify Open the following file for editing:”
echo “[INFO]: ~/Downloads/nvidia-uefi/edk2-nvidia/Platform/NVIDIA/NVIDIA.fvmain.fdf.inc”
echo "[INFO]: Search for ‘logo files’ and change the image names to point to "
echo “[INFO]: the new UEFI splash screen images.”
Build the Jetson platform with Stuart
echo “”
echo “[INFO] Execute the following command to build the new UEFI image:”
echo “[INFO] bash edk2-nvidia/Platform/NVIDIA/Jetson/build.sh”
Rename release image
echo “”
echo “[INFO]: Copy the new image file:”
echo “[INFO]: ~/Downloads/nvidia-uefi/images/uefi_Jetson_RELEASE.bin”
echo “[INFO]: to:”
echo “[INFO]: <base_dir>/Linux_for_Tegra/bootloader/uefi_jetson.bin”
echo “”
echo “[INFO]: Now the bootloader partition can be flashed using:”
echo “[INFO]: sudo ./flash.sh -r -k cpu-bootloader jetson-xavier-nx-devkit-emmc mmcblk0p1”
I have attached the two logo files that I have been using, and the modification in “NVIDIA.fvmain.fdf.inc” looks like:
Logo Files
FILE FREEFORM = gNVIDIAPlatformLogoGuid {
SECTION RAW = Silicon/NVIDIA/Assets/frontmatec-logo-480.bmp
SECTION RAW = Silicon/NVIDIA/Assets/frontmatec-logo-720.bmp
# SECTION RAW = Silicon/NVIDIA/Assets/nvidiagray480.bmp
# SECTION RAW = Silicon/NVIDIA/Assets/nvidiagray720.bmp
# SECTION RAW = Silicon/NVIDIA/Assets/nvidiagray1080.bmp
Could you build the UEFI image successfully and replace uefi_jetson.bin in Linux_for_Tegra/bootloader/uefi_jetson.bin after you finish the above steps?
Could you also help to add the logo image with 1080p?
SECTION RAW = Silicon/NVIDIA/Assets/frontmatec-logo-1080.bmp
Hi KevinFFF,
As suggested, I added a third image to the “…/nvidia-uefi/edk2-nvidia/Silicon/NVIDIA/Assets” folder and added the suggested line in the “…/nvidia-uefi/edk2-nvidia/Platform/NVIDIA/NVIDIA.fvmain.fdf.inc”.
After removing the “Build”, “Conf” and “images” folders in the “nvidia-uefi” root, I executed the “build.sh” again and then copied the new “…/nvidia-uefi/images/uefi_Jetson_RELEASE.bin” to “…/Linux_for_Tegra/bootloader/uefi_jetson.bin” as previously described.
I then did a new flash, initially only flashing the “cpu-bootloader” partition, and then a full flash, but the result remains the same:
An initial delay with a black screen
A short flicker of a completely white screen
And then the normal boot messages
I then tried to remove “-” from image file names - long shot, but maybe that could make a difference, but it didn’t. So in short, it still doesn’t work.
Could you replace nvidiagray480.bmp with your frontmatec-logo-480.bmp (and also720 and 1080)?
In other words, use the original name(nvidiagrayXXX.bmp) for your logo file.
I tried to rename my logo files/overwrite original files as suggested. But the result remains the same - no splash screen just a flicker of a blank screen.
And to answer the second question: Yes, it otherwise boots normally!
Wanting to verify that it is not a glitch in the flash-process, I reverted back to the original “…/Linux_for_Tegra/bootloader/uefi_jetson.bin” file and flashed the device. Now the original NVIDIA splash screen is show. So the flashing itself works as expected.
As a third test, I now completely deleted the “…/nvidia-uefi” directory and cloned it again, and WITHOUT CHANGING ANYTING, I executed the build-script, updated the “uefi_jetson.bin” file in the “bootloader” folder and then flashed my device again. And as before, I see a white flash instead of the (NVIDIA) splash screen.
Clearly something in the UEFI-build process is no working as expected. I have attached the “BUILDLOG_Jetson.txt” (as a ZIP-file), in case any useful information can be extracted from this. BUILDLOG_Jetson.zip (167.5 KB)
Please find all three splash logo images attached. As you can see, the file sizes are identical to those of the original files. fmt_logo_files.zip (37.0 KB)
Regarding the logo-files, please keep in mind, that i my previous reply, I tried to build the “uefi_jetson.bin” using the ORIGINAL NVIDIA LOGO FILES. And still it didn’t work when I had flashed the device. So I think it is not my logo-files that are the problem.
I had all the same issues. I tracked down a solution. The NVIDIA logos are BMP3 images. I was making BMP images. I was taking a png, and converting it with imagemagick.
Thank you for your suggestion, @jake6.
I checked my image-files info using ImageMagic “identify -verbose” and compared them to the matching “nvidiagray.bmp” files. My files looks to be BMP3, but apart from colors there are still some minor differences (Nvidia image file to the left, and my image file to the right:
I don’t know if these difference are important, but I will try to create new images, using the suggested method, and then see if that makes any difference.
@KevinFFF, what you suggest I have tried multiple times, both using my own file names, and updating the “NVIDIA.fvmain.fdf.inc” in the “Platform” folder, as well as copying my files to the original Nvidia file names in the “Silicon” sub-folder. Regardless, the result has remained the same.
I will try to create new image files, as suggested by @jake6, and then see if I can make it work with these (even thought it sounds like you have been successful changing the splash screen with my images).
Should it make any difference if it is a SD-card devkit-version, or the eMMC production version? I have not had the opportunity to test with the SD-card devkit-version.
@hetfood6 , I have only tested with Jetson 5.1 (flashing from Ubuntu18 and 20), to the emmc. I cant get my m.2s to work, so im not going to even try haha.
So I tried it all again, as described including an attempt when I don’t change anything (regarding images). And the short version is: I am never able to build a “uefi_Jetson_RELEASE.bin” that works! So there is something with build-environment which is not right!!!
I don’t know if anything useful can be extracted from it, but starting from scratch (deleting and re-cloning “nvidia-uefi”) and NOT making any changes at all, I have attached the build log files (along with a dump of the complete build output): build_logs.zip (513.5 KB)
Unfortunately (or not) I am going on vacation for the next week, so after today I won’t be able to do any more testing before Monday Feb.20.
Reading through the above script, it just struck me, that I am adding “secureboot” to my system. Is that part of my problem? Is there a signature or something that is missing/needs to be updated prior to flashing???
I figured I could answer my own question, by starting from scratch with the above script, but removing all references to “secureboot”.
But again, the result remains the same - still now working.
@KevinFFF: Have you had time to inspect the above script where I create a “minimal file system” and whether that has any relation to the issues that I am experiencing. I am still not able to change the boot-splash image.
Thanks.
I then extracted the BSP and and the sample file system to the “rootfs” folder. Finally I:
“applied binaries”
copied “bootloader/uefi_jetson.bin” to “bootloader/uefi_jetson.bin.bak”
substituted “bootloader/uefi_jetson.bin” with your “uefi_jetson.bin” file (MD5: 24d03352f21af7a9a20fd3fab79b3030)
I then flashed the my device: sudo ./flash.sh jetson-xavier-nx-devkit-emmc mmcblk0p1
As before, this “broke” the boot splash screen!
If I “restore” uefi_jetson.bin" using the “.bak” file, and then flash the device using: sudo ./flash.sh -r -k cpu-bootloader jetson-xavier-nx-devkit-emmc mmcblk0p1
it again works as expected.
So no, I am not able to use your “uefi_jetson.bin” file to change the boot splash screen.