Boot Logo Customization on JetPack 5.0.2 for NVIDIA Jetson Modules - Forecr.io

Boot Logo Customization on JetPack 5.0.2 for NVIDIA Jetson Modules

Jetson AGX Xavier | Jetson Xavier NX

05 December 2022
WHAT YOU WILL LEARN?

1- UEFI Sources Installation

2- Updating Files and Flashing the Jetson Module

3- Changing the Login Logo

ENVIRONMENT

Hardware: DSBOARD-NX2

OS: Ubuntu 20.04


In this tutorial we used NVIDIA Jetson Xavier-NX module on DSBOARD-NX2 but you can use all types of Jetson module.

UEFI Source Installation

First we need to download UEFI source files from GitHub. Follow instructions below to do so.


sudo apt-get install git python3 python3-setuptools python3-pip


mkdir edkrepo
cd edkrepo


wget https://github.com/tianocore/edk2-edkrepo/releases/download/edkrepo-v2.1.2/edkrepo-2.1.2.tar.gz


tar xvf edkrepo-2.1.2.tar.gz


sudo ./install.py --user ${USER}


cd
sudo chown -R ${USER}. ~/.edkrepo


edkrepo manifest-repos add nvidia https://github.com/NVIDIA/edk2-edkrepo-manifest.git main nvidia


edkrepo clone nvidia-uefi NVIDIA-Jetson main


cd nvidia-uefi
more edk2-nvidia/Platform/NVIDIA/Jetson/Build.md


Follow steps as described in the Build.md file.


After that install required packages and mono.


sudo apt-get update


sudo apt-get install build-essential uuid-dev git gcc python3 virtualenv gcc-aarch64-linux-gnu device-tree-compiler


sudo apt install gnupg ca-certificates


sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 –recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF


echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list


sudo apt update


sudo apt install mono-devel

Updating Files and Flashing the Jetson Module

After installation process we need to place our logo image to inside UEFI files and configure following file.

Copy logo image to nvidia-uefi/edk2-nvidia/Silicon/NVIDIA/Assets. File format should be .bmp.


sudo cp forecr-1080.bmp nvidia-uefi/edk2-nvidia/Silicon/NVIDIA/Assets


After that edit nvidia-uefi/edk2-nvidia/Platform/NVIDIA/NVIDIA.fvmain.fdf.inc file. We need to change highlighted part with our bmp file’s name. If you are not using 480p and 720p versions you can simply comment that lines.


Afterwards, save the file and close it. Go to nvidia-uefi file and open a terminal there. 

Run following command to build UEFI. It will take some time.


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


Go to the images directory under nvidia-uefi. Copy the uefi_Jetson_DEBUG.bin file to Linux_for_Tegra/bootloader/uefi_Jetson.bin


For Xavier NX, the full path of this file is:

 ~/nvidia/nvidia_sdk/JetPack_5.0.2_Linux_JETSON_XAVIER_NX_TARGETS/Linux_for_Tegra/bootloader/uefi_Jetson.bin

Finally, flash the module.

Changing the 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



Thank you for reading our blog post.