Remove or replace Khadas boot logo

Originally, no, I wasn’t rebooting into flashboot, because the original instructions I was given didn’t specify that.
However, this time I did.

adb connect 192.168.1.120
adb devices
adb reboot fastboot
fastboot reboot

When I entered

adb reboot fastboot

The VIM3L reboots, and stays on the Khadas logo page

When I then entered

fastboot reboot

I still get

< waiting for any device >

and it stays there forever

@gar1234 ensure you run the command in an terminal with administrator privileges otherwise it may not detect the device.

HI, yes I am running a command window with Admin privileges.
My last post implied I was using adb over Wi-Fi.
I am not.
I have a direct USB-C connection.
These are my commands, with the appropriate responses:

adb devices

Response is 12-digit number and “device”
e.g.

123456789012 device

Next:

adb reboot fastboot

I waited 30 seconds before next command:

fastboot reboot

  • < waiting for any device >

Check device manager of windows to see if devices is being detected or not you might be missing the Android fastboot/adb drivers.

Hi
I think the fastboot drivers were missing.
I installed these and got further.
Using these commands I tried to replace the logo:

adb devices
adb reboot fastboot
fastboot flashing unlock
fastboot flash logo logo.img
fastboot flashing lock
fastboot reboot

Here is the full operation:

C:\dev\android adb\platform-tools>adb devices
List of devices attached
123456789012 device

C:\dev\android adb\platform-tools>adb reboot fastboot

C:\dev\android adb\platform-tools>fastboot flashing unlock
OKAY [ 0.047s]
Finished. Total time: 0.047s

C:\dev\android adb\platform-tools>fastboot flash logo logo.img
Sending ‘logo’ (4050 KB) OKAY [ 0.216s]
Writing ‘logo’ OKAY [ 0.200s]
Finished. Total time: 0.564s

C:\dev\android adb\platform-tools>fastboot flashing unlock
OKAY [ 0.053s]
Finished. Total time: 0.053s

C:\dev\android adb\platform-tools>fastboot reboot
Rebooting OKAY [ 0.000s]
Finished. Total time: 0.000s

When the VIM3L is now re-booted, there is no boot logo - just a blank/black screen for a few seconds, and then the boot animation starts.

I have tried re-creating the boot logo/img three times - as specified earlier in this post - each time an image size 1920 x 1080px.
I export the image as 16bit BMP file (using GIMP: Export Image as BMP: 16 bits / R5 G6 B5)
I use the aml-imgpack-master to pack the image.

SO all I have succeeding in doing so far is “deleting” the boot logo

Is the bmp file name “bootup.bmp” ?

Yes it is - and I have tried this three times

Also, I am really running out of time to get a solution for my customer

@gar1234 there must be some error in your steps, I have perfectly described every step necessary to do so and can replicate from my side as well.

@xiong.zhang do you have any additional ideas ?

This post may be helpful to you

1 Like

Here, again, are the entire steps that I perform to try and replace the boot logo on the VIM3L

Step 1 - create the logo
I used Microsoft Paint to create a simple logo
Create bootup1.bmp, size is 1920 x 1080 px - size is 5.93 mB
Step 2 - convert the logo
In GIMP, export this image 1920 x 1080px size, 16bit BMP file
The exported file is named bootup.bmp - size is 3.95 MB
Step 3 - pack the logo
Use the aml-imgpack Python2 script to pack the image, as follows:
c:\Python27\python.exe aml-imgpack.py --pack logo.img bootup.bmp
Result is: logo.img - size is 3.95 MB
Step 4 - load the image to the Khadas device
open a command window (run as Administrator)

adb devices
c8631473ccca device
adb reboot fastboot
fastboot flashing unlock
OKAY [ 0.038s]
Finished. Total time: 0.053s
fastboot flash logo logo.img
Sending ‘logo’ (4050 KB) OKAY [ 0.231s]
Writing ‘logo’ OKAY [ 0.200s]
Finished. Total time: 0.563s
fastboot flashing lock
OKAY [ 0.047s]
Finished. Total time: 0.047s
fastboot reboot
Rebooting OKAY [ 0.000s]
Finished. Total time: 0.000s

When the VIM3L reboots, I get nothing - just a blank screen, instead of the original boot logo. And then maybe 10 seconds later, the boot animation starts.

Your link to this post, seems to imply that I also need to replace the following two files:

bootup_rotate.bmp
bootup_rotate_secondary.bmp
in this directory:

device/khadas/kvim3/logo_img_files/

I cannot find these files:

Here is what I tried:

adb pull device/khadas/kvim3/logo_img_files/bootup_rotate.bmp
adb: error: failed to stat remote object ‘device/khadas/kvim3/logo_img_files/bootup_rotate.bmp’: No such file or directory
adb pull /device/khadas/kvim3/logo_img_files/bootup_rotate.bmp
adb: error: failed to stat remote object ‘/device/khadas/kvim3/logo_img_files/bootup_rotate.bmp’: No such file or directory
adb pull device/khadas/kvim3/logo_img_files/bootup_rotate_secondary.bmp
adb: error: failed to stat remote object ‘device/khadas/kvim3/logo_img_files/bootup_rotate_secondary.bmp’: No such file or directory
adb pull /device/khadas/kvim3/logo_img_files/bootup_rotate_secondary.bmp
adb: error: failed to stat remote object ‘/device/khadas/kvim3/logo_img_files/bootup_rotate_secondary.bmp’: No such file or directory

I did ‘adb shell’, to see what directory / files were on the VIM3L:

kvim3l:/ $ ls
acct cache data init init.usb.configfs.rc lost+found oem sdcard ueventd.rc
bin charger default.prop init.environ.rc init.usb.rc metadata proc storage vendor
boot config dev init.rc init.zygote32.rc mnt product sys
bugreports d etc init.recovery.amlogic.rc init.zygote64_32.rc odm sbin system

SO my questions:

Q1: Can you see anything that I am doing wrong when I am creating, converting and sending the boot logo image?
Q2: Do I have to replace the bootup_rotate.bmp and bootup_rotate_secondary.bmp?
Q3: If so, where are these images located in the VIM3L - I cannot find them?
Q4: How do I replace these images? Do I just the the push command?
Q5: Do I just copy/rename the bootup.bmp file that I created to these two files (bootup_rotate.bmp and bootup_rotate_secondary.bmp) or do I have to do something else?

Please answer all my questions and answer them clearly / precisely.
My customer is getting very frustrated because I cannot deliver a solution

Thank you

@gar1234 I believe you are not understanding what the steps prescribed do.

The provided tool, is used to convert the bmp logo without the need of the entire android sdk needing to be recompiled.

Within the android sdk resides the section of data related to the board in
device/khadas/kvim3/ -for VIM3,
device/khadas/kvim3l/ for VIM3L

Inside that folder we have related files for the bootlogo as follows

  • bootup.bmp
  • bootup_rotate.bmp
  • bootup_rotate_secondary.bmp

Since we are not using the android SDK, we don’t need those directories, we just need these files.
You need to make sure you have all 3 of these files with the boot logo you wish to display.
after placing those logos in the aml-imgpack script folder, you can try to pack all the images together.

aml-imgpack.py --pack out.img *.bmp

here this will iterate all the images in that folder with file type .bmp and pack them into a logo.img file.
You can now flash this logo.img file and have the bootlogo visible on the mipi-dsi display.

Regards.

What I just tried.

I copied my bootup.bmp to two more files, and renamed them bootup_rotate.bmp and bootup_rotate_secondary.bmp.
So now I have 3 bmp files in the same folder.

Then I ran the python script:

python.exe aml-imgpack.py --pack out.img *.bmp

Here is the result:

Packing files in out.img:
Traceback (most recent call last):
File “aml-imgpack.py”, line 211, in
main()
File “aml-imgpack.py”, line 207, in main
pack_image_file(args.pack, args.assets)
File “aml-imgpack.py”, line 190, in pack_image_file
img.items = map(AmlResItem.from_file, assets)
File “aml-imgpack.py”, line 106, in from_file
with open(file) as fp:
IOError: [Errno 22] invalid mode (‘r’) or filename: ‘*.bmp’

@xiong.zhang can you please confirm dimensions of each logo file.

*.bmp means all the bmp files, you need to space separate them, also you need logo.img not out.img
so your command may be this.

aml-imgpack.py --pack logo.img bootup.bmp bootup_rotate.bmp bootup_rotate_secondary.bmp

Point 1: As I said at least three times before, the image sizes are 1920 x 1080.

Point 2: I did the following:

python.exe aml-imgpack.py --pack logo.img bootup.bmp bootup_rotate.bmp bootup_rotate_secondary.bmp

Here is the response:

Packing files in logo.img:
Traceback (most recent call last):
File “aml-imgpack.py”, line 211, in
main()
File “aml-imgpack.py”, line 207, in main
pack_image_file(args.pack, args.assets)
File “aml-imgpack.py”, line 190, in pack_image_file
img.items = map(AmlResItem.from_file, assets)
File “aml-imgpack.py”, line 106, in from_file
with open(file) as fp:
IOError: [Errno 2] No such file or directory: ‘bootup_rotate.bmp’

You can contact our after-sales staff and ask them if you want to customize the boot logo and animation. They will connect with us according to the process. I will make exclusive firmware for you, but the premise is that you need to contact the after-sales staff.

Is there anything else yo can suggest, before I contact the after-sales staff, since I now can update the animation and I just need to update the logo.
Can you re-read the steps I made to create the bootup.bmp logo etc., and see if I missed anything?

@gar1234 I have sent you.a personal message, can you please check.

Thanks

@gar1234 what is the orientation of your touchscreen usage, which side is the thicker border pointed to when viewing your display
left or right ?

this will affect the orientation of the bootloader logo.

I checked the SDK documentation of Android 9.0. The logo of Android 9.0 is written into the logo.img image. It can only take effect by replacing the bmp file in the source code and then compiling logo.img and burning it into the logo partition of the device. Android 11.0 Only by replacing the bmp file under /mnt/vendor/odm_ext/logo_files/bootup.bmp can the boot logo be modified.