执行以下命令编辑参数文件:
修改内容如下(建议参考下图配置):

执行命令打开目标文件:
搜索rockchip_read_resource_dtb函数,在函数内添加以下两句代码:
添加后的完整函数代码如下:
int rockchip_read_resource_dtb(void *fdt_addr, char **hash, int *hash_size){struct resource_file *f = NULL;int ret;struct blk_desc *desc = rockchip_get_bootdev();CONFIG_ROCKCHIP_HWID_DTBif (resource_scan())return -ENOENT;f = resource_read_hwid_dtb();/* If no dtb match hardware id(GPIO/ADC), use the default */if (!f)f = resource_get_file(DEFAULT_DTB_FILE);if (!f)return -ENODEV;ret = rockchip_read_resource_file(fdt_addr, f->name, 0, 0);if (ret < 0)return ret;if (fdt_check_header(fdt_addr))return -EBADF;*hash = f->hash;*hash_size = f->hash_size;printf("DTB: %s\n", f->name);resource_setup_logo_bmp(desc);return 0;}
执行命令打开配置文件:
在文件中添加以下两行配置(若已存在则修改):
添加后的配置文件片段如下:

CONFIG_ANDROID_AVB配置项默认可能已存在,需将其值修改为n(禁用AVB验证),否则可能导致Logo分区加载失败。完成上述修改后,执行全编译命令(具体编译命令根据项目环境调整),编译完成后将镜像烧写至开发板。
烧写完成后启动开发板,执行fdisk -l命令查看分区信息,确认Logo分区已创建:

1. 准备Logo图片文件:需准备两个BMP格式图片(logo.bmp为Uboot阶段Logo,logo_kernel.bmp为内核阶段Logo),建议分辨率与开发板屏幕匹配。
2. 将图片文件传入开发板(可通过SSH、U盘等方式),执行以下命令生成Logo镜像并写入Logo分区:
root@elf2-buildroot:~# cat logo.bmp > logo.img && truncate -s %512 logo.img && cat logo_kernel.bmp >> logo.imgroot@elf2-buildroot:~# dd if=logo.img of=/dev/block/by-name/logo1968+1 records in1968+1 records out1007670 bytes (1.0 MB, 984 KiB) copied, 0.0459117 s, 21.9 MB/sroot@elf2-buildroot:~# sync
truncate -s %512 logo.img命令用于将logo.img文件大小对齐到512字节整数倍,确保分区写入兼容性;sync命令用于强制刷新缓存,避免数据写入不完整。3. 执行reboot命令重启开发板,重启后即可看到更新后的开机Logo。
