This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
products:sbc:common:configurations:change-boot-logo [2022/07/18 02:08] frank |
products:sbc:common:configurations:change-boot-logo [2026/02/02 05:04] (current) gray update by using AI |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== | + | ====== Change Boot Logo ====== |
| - | {{page>products:sbc:vim4:configurations: | + | ===== Introduction ===== |
| + | |||
| + | This document explains how to change the boot logo. It is divided into two parts: the first part covers the Ubuntu platform, and the second part covers the Android platform. | ||
| + | |||
| + | ===== Linux ===== | ||
| + | |||
| + | <WRAP info > | ||
| + | The official Khadas Ubuntu image displays three logos during system boot: | ||
| + | * U-Boot logo | ||
| + | * Linux kernel logo | ||
| + | * Plymouth (Ubuntu) boot splash logo | ||
| + | </ | ||
| + | |||
| + | ==== U-Boot Logo ==== | ||
| + | |||
| + | The U-Boot logo is located at ''/ | ||
| + | |||
| + | The required image format is BMP with a resolution of '' | ||
| + | |||
| + | You can use the terminal to check the format of the default logo image: | ||
| + | |||
| + | ```shell | ||
| + | $ file / | ||
| + | ``` | ||
| + | Example output: | ||
| + | ``` | ||
| + | / | ||
| + | ``` | ||
| + | |||
| + | To change | ||
| + | |||
| + | ==== Linux Kernel Logo ==== | ||
| + | |||
| + | Use the netpbm tool to convert a PNG image to the required PPM format. | ||
| + | |||
| + | ```shell | ||
| + | $ 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 | ||
| + | ``` | ||
| + | Place the generated '' | ||
| + | |||
| + | Recompile the kernel. After flashing the new kernel, the boot logo will be updated. | ||
| + | |||
| + | ==== Plymouth (Ubuntu Boot Splash) Logo ==== | ||
| + | |||
| + | The Plymouth logo file is located at ''/ | ||
| + | |||
| + | If you are [[/ | ||
| + | |||
| + | |||
| + | ===== Android ===== | ||
| + | |||
| + | Starting from Android 10, Rockchip merged the logo partition into the super partition, making it impossible to modify the boot logo dynamically without rebuilding the entire firmware. To address this, a new custom partition has been added to allow for dynamic logo updates. | ||
| + | |||
| + | ==== Logo Format Requirements==== | ||
| + | |||
| + | <WRAP info > | ||
| + | * **Source Location:** The original logo file in the Android source code is located at '' | ||
| + | * **Required Format:** | ||
| + | * 16-bit RGB565 BMP format. | ||
| + | * Resolution should be ≤ 1080P (1920x1080 pixels). | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Update Logo via ADB ==== | ||
| + | |||
| + | You can push a prepared '' | ||
| + | |||
| + | ```shell | ||
| + | $ adb root | ||
| + | $ adb remount | ||
| + | $ adb push logo.bmp / | ||
| + | $ adb reboot | ||
| + | ``` | ||
| + | |||
| + | Example command output: | ||
| + | ```shell | ||
| + | $ 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 / | ||
| + | Remounted /system_ext as RW | ||
| + | Remounted / | ||
| + | Remounted /odm_dlkm as RW | ||
| + | Remounted /product as RW | ||
| + | Remount succeeded | ||
| + | |||
| + | $ adb push logo.bmp / | ||
| + | logo.bmp: 1 file pushed, 0 skipped. 655.0 MB/s (4147272 bytes in 0.006s) | ||
| + | |||
| + | $ adb reboot | ||
| + | ``` | ||
| + | After the device reboots, the new logo should be displayed. | ||
| + | |||
| + | ==== Update Logo by Rebuilding Firmware ==== | ||
| + | |||
| + | This method involves modifying the Android source code and building a complete update package. | ||
| + | |||
| + | 1) Replace the logo source: Replace the '' | ||
| + | |||
| + | 2) build the update package: | ||
| + | |||
| + | ```shell | ||
| + | $ cd PATH_YOUR_PROJECT | ||
| + | $ source build/ | ||
| + | $ ./build.sh -UCKAu | ||
| + | ``` | ||
| + | This will generate an '' | ||
| + | |||
| + | 3) Flash the firmware: Burn the generated '' | ||