RK3568 Linux 5.10 Kernel Logo Modification Guide
This guide provides a detailed explanation of how to modify the boot logo for devices based on Rockchip's RK3568 platform running Linux kernel version 5.10. The RK3568 is a high-performance SoC widely used in various embedded devices. As a professional RK solution provider, Weathink offers RK3568 SOM comprehensive solutions ranging from hardware design to software systems, including customized kernel logo modifications.
1. Preparations
Before starting, ensure you have the following environment and files ready:
Linux development environment: Recommended Ubuntu 18.04 or 20.04.
RK3568 SDK source code: A complete development package containing the kernel and U-Boot source code.
Cross-compilation toolchain: The RK3568 typically uses the AArch64 architecture, so you’ll need a cross-compilation toolchain prefixed with aarch64-linux-gnu-.
A logo image: Prepare the image you wish to use as the replacement.
2. Creating the Logo Image
The kernel logo has strict requirements for image format. You need to convert your image to a specific BMP format.

Figure 1: Boot Logo
Image format requirements:
Format: 24-bit BMP (Windows BMP).
Color depth: 24-bit (24 bits of color information per pixel).
Dimensions: The image size should match your device’s screen resolution, such as 1920x1080 or 1280x720. Mismatched dimensions may cause stretching, blurring, or black borders.
Conversion method:You can use image editing software (e.g., Photoshop, GIMP) or command-line tools to convert the image.
Using command-line tools (recommended):If your system has ImageMagick installed, run the following command to convert the image to the correct BMP format:
convert your_image.png -depth 24 your_logo.bmp
Ensure the generated your_logo.bmpadheres to the 24-bit Windows BMP format.
3. Replacing the Logo File in the Source Code
In the RK3568 Linux 5.10 kernel source code, the logo image is usually stored in a specific path.
Locate the files:In your RK3568 SDK, find the following paths:
kernel/logo.bmp
kernel/logo_kernel.bmp
These two files are typically identical and are used for display during the U-Boot and Linux kernel stages, respectively.
Replace the files:Rename and replace these two files in the source code directory with your prepared your_logo.bmp.
# Navigate to the kernel source directory
cd /path/to/rk3568_sdk/kernel
# Back up the original files (optional but recommended)
cp logo.bmp logo.bmp.bak
cp logo_kernel.bmp logo_kernel.bmp.bak
# Copy your new logo file
cp /path/to/your_logo.bmp .
# Rename your file
mv your_logo.bmp logo.bmp
mv your_logo.bmp logo_kernel.bmp
4. Configuring the Device Tree
Some RK3568 SDKs or kernel versions specify the logo file via the device tree. You’ll need to locate and modify the corresponding device tree file.
Locate the device tree file:Device tree files are typically located in kernel/arch/arm64/boot/dts/rockchip/, with filenames like rk3568-xxx.dts, where xxxrepresents your development board model.
Modify the device tree:In the .dtsfile, find the display-related node (e.g., route_dsi0or route_hdmi) and add or modify the logo,ubootand logo,kernelproperties to point to your prepared logo filenames.
// Example: Configuration in the route_dsi0 node
&route_dsi0 {
status = "okay";
logo,uboot = "logo.bmp"; // Logo for the U-Boot stage
logo,kernel = "logo_kernel.bmp"; // Logo for the Kernel stage
connect = <&vp0_out_dsi0>;
};
5. Compiling the Kernel
After replacing the logo files and (if necessary) modifying the device tree, you need to recompile the entire kernel to package the new logo into the boot.imgor resource.imgimage.
Configure the kernel (usually no changes needed):Most RK3568 SDKs enable the logo feature by default. If unsure, navigate to the kernel directory and run make menuconfig. In the configuration menu, check whether Device Drivers -> Graphics support -> Bootup logois enabled.
Execute the compilation:Return to the SDK root directory and run the compilation script. Different SDKs may use different scripts, but it’s typically something like build.sh.
# Return to the SDK root directory
cd /path/to/rk3568_sdk
# Compile the kernel
./build.sh kernel
# Or compile the entire firmware
./build.sh all
After successful compilation, the new boot.imgand resource.imgfiles will be generated in the rockdevdirectory or another specified output directory.
6. Verification and Testing
The final step is to flash the compiled firmware onto your RK3568 device.
After flashing, reboot your RK3568 device. During the boot process, you should see your new logo displayed.

