Table of Contents

Change Boot Logo

Introduction

This document mainly introduces how to Change Boot Logo. The document is divided into two parts, the first part is for the Ubuntu platform, and the second part is for the Android platform.

Linux

Our official Ubuntu image will display 3 logos during system boot:

  • U-Boot logo
  • Kernel logo
  • Ubuntu logo

The U-Boot logo is located at /usr/share/fenix/logo/logo.bmp. The image format is BMP with a resolution of 500x500px, and bit-depth of 24 bits.

You can use Terminal to check the default logo image format:

$ file /usr/share/fenix/logo/logo.bmp
/usr/share/fenix/logo/logo.bmp: PC bitmap, Windows 3.x format, 500 x 500 x 24, image size 750002, resolution 2834 x 2834 px/m, cbSize 750056, bits offset 54

You can replace the default logo with your own BMP image.

Use the netpbm tool to convert png images to ppm images.

$ pngtopnm linux_logo.png > linux_logo.pnm
$ pnmquant 224 linux_logo.pnm > linux_logo_clut224.pnm
$ pnmtoplainpnm linux_logo_clut224.pnm > logo_linux_clut224.ppm

Put the converted ppm file into the drivers/video/logo/ directory of the kernel, and replace the logo_linux_clut224.ppm file.

Re-compile the kernel, and the logo will be replaced with a new picture.

The Ubuntu logo file is located at /usr/share/fenix/logo/logo.png, replace the .png file to change the Ubuntu boot logo.

If you’ve built the image with Fenix, replace the file archives/logo/png/logo.png to change the logo.

Android

Because RK merged the logo partition with the system partition into a single super partition after Android 10, there is no logo partition available to dynamically modify the boot logo. This means that a complete firmware build is required to achieve this operation. Now, we have added a new custom partition to facilitate the dynamic update of the logo.

Logo Format

  • Where is original logo file

Logo file is stored in the kernel-6.1/logo.bmp directory in android code.

  • BMP format, should be:
    • 16bit RGB565 BMP format
  • Resolution ⇐ 1080P (1920 * 1080)

We use the adb command to push the prepared logo.bmp to the motherboard path /vendor/custom and then restart the device.

$ adb root
restarting adbd as root
 
$ adb remount
AVB verification is disabled, disabling verity state may have no effect
Remounted /system as RW
Remounted /vendor as RW
Remounted /odm as RW
Remounted /system_dlkm as RW
Remounted /system_ext as RW
Remounted /vendor_dlkm as RW
Remounted /odm_dlkm as RW
Remounted /product as RW
Remount succeeded
 
$ adb push logo.bmp /vendor/custom
logo.bmp: 1 file pushed, 0 skipped. 655.0 MB/s (4147272 bytes in 0.006s)

Updage the logo by upgrate whole firmware

1) replace kernel-6.1/logo.bmp bmp file

2) build upgrate package

$ cd PATH_YOUR_PROJECT
$ source build/envsetup.sh && lunch kedge2-userdebug
$ ./build.sh -UCKAu

3) Burn upgrate package update.img to your device you can refer How To Upgrate ,restart then you can see the new boot logo