傳統(tǒng)修改開發(fā)板開機(jī)Logo的方式需要重新編譯內(nèi)核,流程復(fù)雜且耗時(shí)。本文介紹了一種創(chuàng)新方案:通過預(yù)先在存儲中劃分專用的Logo分區(qū),允許用戶直接在文件系統(tǒng)中更新Logo圖片文件,這極大地簡化了定制流程,提升了開發(fā)與調(diào)試效率。
一、添加Logo分區(qū)
elf@ubuntu:~/work/ELF2-linux-source$ vi device/rockchip/.chips/elf2/parameter.txt
修改內(nèi)容如下圖所示:
CMDLINE: mtdparts=rk29xxnand:0x00002000@0x00004000(uboot),0x00002000@0x00006000(misc),0x00020000@0x00008000(boot),0x00040000@0x00028000(recovery),0x00010000@0x00068000(backup),0x01c00000@0x00078000(rootfs),0x00040000@0x01c78000(oem),0x00100000@0x01cb8000(logo),-@0x01db8000(userdata:grow)

注意:此處把Logo分區(qū)的大小劃成了0x00100000(512M),用戶可根據(jù)自己需求修改。
二、修改Uboot
1、修改u-boot/arch/arm/mach-rockchip/resource_img.c文件
elf@ubuntu:~/work/ELF2-linux-source$ vi u-boot/arch/arm/mach-rockchip/resource_img.c
搜索rockchip_read_resource_dtb
添加兩句
struct blk_desc *desc = rockchip_get_bootdev(); resource_setup_logo_bmp(desc);
最終結(jié)果
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(); #ifdef CONFIG_ROCKCHIP_HWID_DTB if (resource_scan()) return -ENOENT; f = resource_read_hwid_dtb(); #endif /* 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; }
2、修改u-boot/configs/board_elf2_uboot_defconfig文件
elf@ubuntu:~/work/ELF2-linux-source$ vi u-boot/configs/board_elf2_uboot_defconfig
添加兩行
CONFIG_ROCKCHIP_RESOURCE_IMAGE=y CONFIG_ANDROID_AVB=n

注意:CONFIG_ANDROID_AVB本來就存在,直接改為CONFIG_ANDROID_AVB=n
三、編譯并燒寫
修改完成之后全編譯并燒寫。
燒寫完成后啟動(dòng)開發(fā)板,使用fdisk -l命令查看,即可看到Logo分區(qū):

四、更新Logo
將logo.bmp和logo_kernel.bmp放入開發(fā)板中,執(zhí)行下列命令:
root@elf2-buildroot:~# cat logo.bmp > logo.img && truncate -s %512 logo.img && cat logo_kernel.bmp >> logo.img root@elf2-buildroot:~# dd if=logo.img of=/dev/block/by-name/logo 1968+1 records in 1968+1 records out 1007670 bytes (1.0 MB, 984 KiB) copied, 0.0459117 s, 21.9 MB/s root@elf2-buildroot:~# sync
重啟之后發(fā)現(xiàn)Logo已經(jīng)更新。
以上就是關(guān)于ELF 2開發(fā)板用戶空間更換開機(jī)Logo完整操作指南,希望這些內(nèi)容能切實(shí)幫助屏幕前的小伙伴,如果在實(shí)踐中遇到問題,歡迎隨時(shí)交流探討!
-
單片機(jī)
+關(guān)注
關(guān)注
6072文章
45304瀏覽量
662383 -
嵌入式
+關(guān)注
關(guān)注
5184文章
20116瀏覽量
327891 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
6092瀏覽量
112355 -
瑞芯微電子
+關(guān)注
關(guān)注
1文章
69瀏覽量
10532 -
Linux開發(fā)
+關(guān)注
關(guān)注
0文章
44瀏覽量
7596
發(fā)布評論請先 登錄
Banana Pi開源社區(qū)基于瑞芯微RK3588開發(fā)板,DeepSeek開發(fā)利器
ElfBoard技術(shù)貼|如何在【RK3588】ELF 2開發(fā)板上進(jìn)行根系統(tǒng)的定制
ElfBoard技術(shù)貼|如何在【RK3588】ELF 2開發(fā)板上進(jìn)行UART引腳復(fù)用配置
RK3588 EVB開發(fā)板原理圖講解【七】
RK3588 EVB開發(fā)板原理圖講解【八】 RK3588 power Tree
瑞芯微旗艦芯RK3588開發(fā)板開售 比亞迪為應(yīng)達(dá)利頒獎(jiǎng)
【首發(fā)開箱】揭開RK3588開發(fā)板的神秘面紗!
rk3588有哪些開發(fā)板?
Linux系統(tǒng)更換開機(jī)logo方法教程,觸覺智能RK3562開發(fā)板演示
技術(shù)分享|iTOP-RK3588開發(fā)板Ubuntu20系統(tǒng)旋轉(zhuǎn)屏幕方案
ElfBoard技術(shù)貼|【RK3588】ELF 2開發(fā)板開機(jī)自啟動(dòng)詳解

ElfBoard技術(shù)貼|如何在【RK3588】ELF 2開發(fā)板用戶空間更換開機(jī)Logo
評論