Change cboot boot logo (L4T 28.2)

@haroon_alam,

Your flash.sh command line is correct for reflashing CBoot, but note that if your intent is to rework the BMP blob binary (bmp.blob) and reflash it, you just need to replace the bmp.blob in Linux_for_Tegra/bootloader with your new one, and do a full flash. That will pick up the bmp.blob binary and place it in the BMP partition on eMMC, which is where CBoot will look for it. Unless you’ve modified CBoot, there’s no need to specifically reflash CBoot as you are doing above, and any -k partition flash doesn’t send all of the partitions, just the one specified.

HTH

@snarky,
I can tell you that I’ve tried your code to create a blob (following your steps) and finally flashed the device: ./flash.sh mmcblk0p1

This is working all right as I can see my custom blob for a second at boot. Thanks!

@snarky,
It works on my TX2 board too. Thanks!

Hi,

It seems like replace bmp.blob is not working on L4T R32.1.
Does anyone know how to change or disable nvidia boot logo on R32.1?

Thx
Yen

Yen,

What’s not working with your bmp.blob? I assume it was working with the stock (as-shipped) BMP blob on your board w/R32.1? What board, BTW? I assume TX2, but the bmp.blob we supply is universal to all Jetson boards (TX1, TX2, AGX).

If you want to disable the BMP splash, just delete (or rename) bootloader/bmp.blob in your unpacked BSP. CBoot will give a warning about not finding it, but no harm, no foul. You shouldn’t see a splash screen on HDMI then.

As to changing it, find the thread that NicoD refers to where snarky described how to edit the bmp.blob binary to add a custom BMP file.

Let me know if you have any other CBoot or bmp.blob questions.

Tom

Hi twarren,

1.I’m working on our customize TX2 board with R32.1.
2.I followed snarky’s thread to create my own bmp.blob(see attachment) and copied to Linux_for_tegra/bootloader,
but it still showing nvidia logo when system enter ubuntu 18.04.
3.I also removed Linux_for_tegra/bootloader/bmp.blob, but it showed some error message and stop flashing.
error message:

[220.3976 ] File to be written cannot be of zero size, pFileName=bmp.blob
[220.3999 ]
Error: Return value 10
Command tegradevflash_v2 --pt flash.xml.bin --create
Failed flashing t186ref

Could you help to check if my bmp.blob has any problem?
How should I flash OS without bmp.blob?

Thx
Yen
bmp.blob.txt (9.45 MB)

Yen,

Yeah, sorry, I didn’t think it through. You need to remove the BMP partition filename info from your flash XML file (usually flash_l4t_t186.xml in bootloader/t186ref/cfg), just remove the " bmp.blob " line. You can leave the bmp.blob (old or new) in ./bootloader, it won’t be used.

That will disable BMP splash for you on your TX2.

I tried your attached bmp.blob on my TX2, and I just get a black screen. No errors from CBoot. It’s a huge file, so I can’t easily compare it to our stock bmp.blob, but the header looks OK. What were the characteristics/properties of the BMP file you added? size, format, etc.?

At some point, we’re going to release a toolset to help people create their own BMP blobs more easily. I’ll check on where that effort is and get back to you.

Hi twarren,

After commenting out " bmp.blob " partition and deleting Linux_for_tegra/bootloader/bmp.blob.
It still showing nvidia boot logo!!(see attachment)
Did you verify this on R32.1?

Thx
Yen

Hi twarren,

Any update?

Thx
Yen

Yen,

If you have indeed removed the filename for the BMP partition, and removed bmp.blob from /bootloader, AND reflashed the system (so that CBoot doesn’t see the BMP partition, and won’t load the bmp.blob), then there is no way you should be seeing a BMP splash on your TX2, regardless of the release (R28, R31, R32). Please check that you’ve done all 3 of those things - edit your original flash_l4t_t186.xml, deleted bmp.blob, and reflashed. Post your flash*.xml if it still doesn’t work.

Tom

The above method works for L4T 31.1. Here, I summarize the steps needed to install L4T 31.1 with custom logo.

git clone https://github.com/jwatte/jw_boot_logo.git
cd jw_boot_logo
git clone https://github.com/nothings/stb.git
g++ -o jw_boot_image main.cpp
./jw_boot_image [path_to_your_logo]
  • Make sure there is an output file named “bmp.blob”
  • Copy “bmp.blob” into “Xavier/Linux_for_Tegra/bootloaders/”
  • Finish installation by the command:
sudo ./flash.sh jetson-xavier mmcblk0p1

Thanks, so does this instruction only work for Xavier, not for Jetson TX2?

Thanks, so does this instruction only work for Xavier, not for Jetson TX2?

The bmp.blob we provide is generic, it will work on all L4T platforms (TX1, Nano, TX2, AGX). I haven’t looked at this utility, but if it produces a bmp.blob that will work with Xavier, it will also work with TX2, TX1 and Nano.

Tom

Hello Lib5y15,

I just tested to change the BLOB image on TX2 32.1.0

I don’t know if you have succeeded:

  • Creat 3 PNG with Gimp2.8 (save as)
  • use GIT: jw_boot_logo + stb
  • command : “jw_boot_logo image_1080p.png image_720p.png image_480p.png”
  • Copy “bmp.blob” result into “Linux_for_Tegra / bootloaders /”
  • sudo ./apply_binaries.sh
  • I use Uart0 and Minicom in order to use the Uboot command “enterrcm” and switch to “reovery” mode.
  • sudo ./flash.sh -k BMP --image ./bootloader/bmp.blob jetson-tx2 mmcblk0p1

Thanks! It works in Jetson tx2.

Hi,
I followed your steps but when I enter this command:
sudo ./flash.sh -k BMP --image ./bootloader/bmp.blob jetson-xavier mmcblk0p1

I get this error: Error: Return value 8
Command tegrarcm_v2 --download bct_bootrom br_bct_BR.bct --download bct_mb1 mb1_bct_MB1_sigheader.bct.encrypt --download bct_mem mem_rcm_sigheader.bct.encrypt
Failed to flash/read t186ref.

Also, I tried this on jetson TX2, and the logo changed. But, after my logo nvidia logo appears on the screen.
Is it normal? Can I remove Nvidia logo completely?

For jetson xavier I get this:
./flash.sh: eval: line 341: syntax error near unexpected token (' ./flash.sh: eval: line 341: soft_fuses=/home/amin/Downloads/Tegra186_Linux_R32.4.3_aarch64(1)/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-soft-fuses-l4t.cfg’
./tegraflash.py --chip 0x19 --applet “Downloads/Tegra186_Linux_R32.4.3_aarch64(1)/Linux_for_Tegra/bootloader/mb1_t194_prod.bin” --skipuid --soft_fuses --bins “mb2_applet nvtboot_applet_t194.bin” --cmd “dump eeprom boardinfo cvm.bin;reboot recovery”
Welcome to Tegra Flash
version 1.0.0
Type ? or help for help and q or quit to exit
Use ! to execute system commands

Does anyone know what should I do?!

thanks
Using your method, the blob file generated is too large to write in 9.9MB, so how can you make it smaller, preferably under 100KB

Hi TWarren,

We develp on our customize TX2 board with R32.4.3
How to show the boot logo on DSI display at cboot?
Thanks,
Frank Cheng