1- UEFI Sources Installation
2- Updating Files and Flashing the Jetson Module
3- Changing the Login Logo
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.
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
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.
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.