Customize Android Boot Animation and Linux Kernel Logo on Embedded Devices
This guide explains how to create a custom Android boot animation using frame sequences, package it correctly, compress it, replace it via ADB, and also covers modifying or hiding the Linux kernel and bootloader logos, including required tools, file formats, and safety precautions.
Boss: Our device boots showing Android. Replace Android with our company logo and add a cool animation. Developer: Got it, boss. Developer to UI: The boss wants a cool animation.
1. UI Design Frame Animation
When communicating with UI designers, clearly convey the boss's request for a "cool" animation. The most important points are:
Export the animation as a sequence of frames.
Resolution must match the board's resolution.
Use naming rule 00.jpg, 01.jpg … 99.jpg.
2. Create Animation Package
Create a folder named bootanimation. Inside, create subfolders for the first part (named part1) and the second part (named part2). Place the UI‑designed animation frames in part1 and the last frame of the sequence in part2. Add a desc.txt file with the following content:
1024 768 60
p 1 0 part1
p 0 10 part2Global parameters (first line)
1024– screen width in pixels. 768 – screen height in pixels. 60 – frames per second (FPS). Actual FPS may be limited by hardware.
Segment parameters (subsequent lines)
Each following line defines an animation segment in the format:
[type] [loop count] [delay] [directory name]First segment: p 1 0 generic1
p– normal play mode (play frames then stop). 1 – play once. 0 – no additional delay. generic1 – directory containing the PNG frames (e.g., part0, part1).
Second segment: p 0 10 generic2
p– normal play mode. 0 – infinite loop until the boot process ends. 10 – delay of 10 frames (≈0.167 s at 60 FPS). generic2 – directory for the second animation.
The system first plays the animation in generic1 once with no delay.
Then it plays the animation in generic2 in an infinite loop, pausing 10 frames between loops.
The boot animation runs until the system finishes booting or is forcibly stopped.
Compress animation package (important step)
Compress the contents of the bootanimation folder itself, not the parent folder.
Use a “store” compression format (e.g., 360 compression custom setting).
3. Replace Animation Package
Use ADB to replace the boot animation. The device must be rooted (most development boards are already rooted). Typical commands:
adb root
adb remount
adb push /path/to/bootanimation.zip /system/media
adb rebootThe package is usually named bootanimation.zip; some manufacturers may use a different name.
4. Linux Boot Animation (Penguin Logo) and Kernel Logo
Some boards display a Linux penguin logo before Android starts. Modifying it usually requires changing kernel boot parameters or replacing kernel/bootloader logo files.
4.1 Confirm Logo Type
Linux kernel logo : typically embedded in the kernel, formats .ppm, .rle, or .png.
Bootloader logo : some devices (e.g., Qualcomm) show a splash image like splash.img during the bootloader stage.
4.2 Replace Linux Kernel Logo
Obtain the kernel source code from the vendor or community.
Prepare a custom logo in PPM format matching the screen resolution (e.g., 1024×768).
Copy the .ppm file to the kernel source directory (e.g., drivers/video/logo/logo_linux_clut224.ppm).
Enable the logo in make menuconfig under Device Drivers → Graphics support → Bootup logo.
Compile the kernel and generate boot.img.
Flash the new kernel with fastboot flash boot boot.img.
4.3 Replace Bootloader Logo (Qualcomm example)
Extract the current splash image: adb pull /dev/block/bootdevice/by-name/splash splash.img Modify the image with a tool such as splash_screen_tool and repack.
Flash the new splash image:
fastboot flash splash splash.img4.4 Hide Penguin Logo Without Replacement
Add logo.nologo to the kernel command line (requires unlocked bootloader and modified boot.img cmdline).
Disable CONFIG_LOGO in the kernel configuration and recompile.
Notes
Risk warning : Modifying the kernel or bootloader may brick the device. Contact the manufacturer for assistance.
Compatibility : Logo implementation varies across devices; consult device documentation.
Backup : Always back up important data and keep original boot.img or splash.img before making changes.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Rare Earth Juejin Tech Community
Juejin, a tech community that helps developers grow.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
