I am using a jetson nano on which I am using a 256 GB SD card. I am to change the boot logo that appears at the boot screen, which I am doing so using the instructions in this thread: Hello! How can I change the Nvidia boot logo to my own? - #27 by hoanganhv1svm
However, whenever I force my Jetson into recovery mode and flash it, the message comes that the BMP change was successful (I am only changing the BMP partition). But my Jetson does not reboot and gets stuck in recovery mode. The only way to get it out of recovery was to flash the entire image altogether and that leads to L4T being installed in a small partition of 16 GB and automatically leaves 240 GB on the SD card vacant. I am not able to overcome this problem. How do I force my Jetson nano out of recovery ?
Also why does flashing the entire thing again force my OS into a tiny partition of 16 GB and not use the whole space ?
Any help is appreciated.
It is abnormal to see the board get stuck in recovery mode after flashing a single partition. I would suggest you to try few times and see if this error could be reproduced or not.
Please make sure that the board is really “in recovery mode” when error happens, but not just get stuck in some boot status with no monitor output.
The partition size of sdcard should be configured during the first boot up on GUI. Only emmc module is not able to configure that. So, please tell us why you cannot configure it in the GUI?
The error has happened multiple times and even on different boards. This makes me think the problem may lie in the flash script of the host PC.
Also, the board is really in recovery mode when the error happens. I confirmed this by entering lsusb on the host PC and I saw the following in the output : ID 0955:7f21 Nvidia Corp… Also I am able to re-flash the board which would not have been possible in a non-recovery mode.
The partition size is configured correctly initially (takes the whole 256 GB). It re-configures after a full flash to 16 GB partition. We can re-configure the partition from the GUI but it is a pain to do it every time we flash a board. What do mean about the emmc module here ? What is its purpose ?
Could you share us the full steps and release version about this error? Also, when “different boards” are reproducing this error. Do you mean the whole devkit (module +carrier) or just replacing the modules?
Never mind. There are two kinds of modules. One is based on development kit which has a sdcard on module. Another one is called production module which only has emmc storage on module. All the custom carrier boards should be used with emmc module.
Make sure there is an output file named “bmp.blob”
Copy “bmp.blob” into [path_to_your_bsp]/Linux_for_Tegra/bootloader/
cd [path_to_your_bsp]/Linux_for_Tegra/
Finish installation by the command: sudo ./flash.sh -k BMP --image bootloader/bmp.blob jetson-nano-qspi-sd mmcblk0p1.
These steps work and I can see the changed bootscreen logo once I get the Jetson nano out of recovery. But getting it out of recovery is the pain, due to the aforementioned reasons.
Thanks for providing the path. I remember trying to follow those steps from the readme but was unsuccessful. This github method worked though.
Let me try and explain the timeline of my problem.
I force my board into recovery.
I perform the steps for logo change and flash it.
It gets stuck in recovery mode now
Only way out (as I found out) was to re-flash the entire image file and then the board gets out of recovery mode.
At this point I can confirm that the boot logo change was successful, but now I realize the partition size got messed up for some reason.
question : How do I properly get it out of recovery mode without needing to flash the entire image ?
If you just want to leave out of the recovery mode and don’t want us to help check why the BMP flash would cause this error. Then the answer is simple, just remove the power cable, connect it back again and power on the board. This should make the board leave the recovery mode. If it does not, then this board may have problem because the recovery mode is mostly triggered by hardware.
If you want to figure out the cause, please share us the release version you are using. We will check with official tool. Also, you may tell us what kind of error you saw when you use the official tools.
You can also check just one command with default jetpack environment.
the answer is simple, just remove the power cable, connect it back again and power on the board. This should make the board leave the recovery mode. If it does not, then this board may have problem because the recovery mode is mostly triggered by hardware.
I have tried this step. I removed and re-connected the power several times both with a jumper and the 5V supply as well as a micro usb cable without the jumper, yet no luck. But I wonder whether its a hardware issue because this has happened on two different boards that have otherwise always worked fine up until this point.
My release version is 4.9.140-tegra. Is this what you needed or have I misunderstood ?
I ran the command you suggested and it works, but I haven’t tested it for a default Jetpack environment. The bootloader/bmp.blob is changed. I can replace it with the nvidia logo similar to how I changed it to my custom logo, but I don’t think that means it’s back to “default”. Can you advise how i can reset my host PC Jetpack environment back to default ?
Thank you for your help so far.
No, I need to know which jetpack release you are using. For example, jetpack4.4 or jetpack4.3.
I ran the command you suggested and it works, but I haven’t tested it for a default Jetpack environment. The bootloader/bmp.blob is changed. I can replace it with the nvidia logo similar to how I changed it to my custom logo, but I don’t think that means it’s back to “default”. Can you advise how i can reset my host PC Jetpack environment back to default ?
Do you mean command (1) is working while comamnd (2) will cause the board stuck in recovery mode?
I made a notable realization that my devkit target is running Jetpack-4.4.1 while my host is running Jetpack-4.4. This is because I flashed the image on the SD card using a separate image file and the fletcher app as mentioned in the guide. This could be the reason for the problem I am having. I am trying to upgrade Jetpack on my host PC to 4.4.1 using sdkmanager, while making sure I do not flash my sd card. I have used the sdkmanger with the options given in the screenshot.
The target boxes are unchecked because I did not want the SD card to be flashed. However, this hasn’t updated Jetpack in my host and the bmp.blob is still in the Jetpack4.4 directory. I don’t know how to update the Jetpack in my host PC. Any help is appreciated.
It is simple. Just click that option back and do not connect any micro usb cable to your board.
It will upgrade the files on host and stop when it detects there is no usb cable connected.
That solved my problem. The mismatch of the two jetpack releases was the issue. Now I am able to flash the BMP partition and change the logo successfully, immediately after which the Jetson reboots out of recovery mode.
Thank you so much for your help. You are amazing.