Boot Logo Customization on NVIDIA Jetson Modules
Updated: Feb 15
In this tutorial we used NVIDIA Jetson Xavier (8GB) module on MILBOARD-XV, but you can use all types of Jetson module.
Prerequisities
24 bit BMP images (x3) (640x480, 1280x720, 1920x1080)
PNG image (1920x1080)
JetPack installer host PC
Jetson module with carrier board
In our host PC, SDK Manager creates nvidia folder in HOME directory (~). After booting image, SDK Manager saves flashing files. Your blob file generator's full path is:
~/nvidia/nvidia_sdk/<JetPack_Version>_Linux_<Jetson_Module>/Linux_for_Tegra/tools/bmp-splash
Our Xavier (8GB) boards full path is (for JetPack 4.5):
~/nvidia/nvidia_sdk/JetPack_4.5_Linux_JETSON_AGX_XAVIER_8GB/Linux_for_Tegra/tools/bmp-splash
Generate bmp.blob File
We copied bmp-splash folder into ~/Desktop. (It's up to you.)

(Hint: All details are in bmp-blob-README.txt file)
First of all, add 24 bit BMP images into bmp-splash folder.

Secondly, change config_file.example's name to config_file and change inside like that:


Install liblz4-tool and get its full path.


Next, learn Jetson module's chip in this table:

Now, open terminal and generate bmp.blob file with one of these commands:
For Xavier NX or Xavier series:
OUT=$PWD ./genbmpblob_L4T.sh t194 ./config_file ./BMP_generator_L4T.py /usr/bin/lz4c bmp.blob
For Nano or TX1:
OUT=$PWD ./genbmpblob_L4T.sh t210 ./config_file ./BMP_generator_L4T.py /usr/bin/lz4c bmp.blob
For TX2 series:
OUT=$PWD ./genbmpblob_L4T.sh t186 ./config_file ./BMP_generator_L4T.py /usr/bin/lz4c bmp.blob


Flash bmp.blob File
Change original bmp.blob file with your custom file. The full path of this file is:
~/nvidia/nvidia_sdk/<JetPack_Version>_Linux_<Jetson_Module>/Linux_for_Tegra/bootloader/bmp.blob

Open your module in Recovery Mode. Change current directory and flash BMP file:
~/nvidia/nvidia_sdk/<JetPack_Version>_Linux_<Jetson_Module>/Linux_for_Tegra
sudo ./flash.sh -r -k BMP --image ./bootloader/bmp.blob <your_board_config> <your_target_flash>


Change Login Logo
Copy 1080p PNG login logo into module and move into /usr/share/backgrounds. Then, change two xsessionrc files with sed command:
sudo mv FORECR_Login_Logo.png /usr/share/backgrounds/FORECR_Login_Logo.png
sed -i 's/NVIDIA_Login_Logo/FORECR_Login_Logo/g' ~/.xsessionrc
sudo sed -i 's/NVIDIA_Login_Logo/FORECR_Login_Logo/g' /etc/skel/.xsessionrc
cat ~/.xsessionrc | grep logo_path
cat /etc/skel/.xsessionrc | grep logo_path

[Optional] Disable Blinking Text Cursor
Open /boot/extlinux/extlinux.conf file. Remove "console=tty0" and add "vt.global_cursor_default=0"


Thanks for reading.
This file contains 3 types of blob files and boot logo.