TinaLinux 开机logo替换
操作平台T113-S3 Tina5.0 spi-nand ubi方案
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
分打包镜像更改和后期小机端替换
一、重新打包方案
直接替换此文件夹下的bmp图片(如果你非要使用其他格式图片,请参考其他文章)
重新打包,烧录镜像即可,如果打包遇到错误
ERROR: dl file boot-resource.fex size too large
需要修改方案目录下的分区大小,参考规则自行放大即可。
二、后期替换/应用层替换
1.准备的新的logo文件
参考重新打包的方案,将logo文件替换后,重新打包,这次我们只需要输出的boot-resource.fex,我们将它通过ssh或者adb推送到小机端,放到/mnt/UDISK/目录下,或者其他方便的地方。
2.查看分区(可以省略,只是为了了解)
当基于 ubi 卷构建 vfat 文件系统时,需要先基于 ubi 卷模拟块设备,且挂载上的 vfat 文件系统 是只读的。操作示例如下。
如果你不知道在哪,可以直接查找一下。
root@TinaLinux:/# find / -name boot*
/dev/by-name/boot-resource
查看分区对应ubi节点。
root@TinaLinux:/# ll /dev/by-name/ boot-resource
lrwxrwxrwx 1 root root 11 Jan 1 10:54 /dev/by-name/boot-resource -> /dev/ubi0_1
创建模拟的块设备。
root@TinaLinux:/# ubiblock -c /dev/ubi0_1
block ubiblock0_1: created from ubi0:1(boot-resource)
挂载,先创建挂载目录 /mnt/boot。
root@TinaLinux:/# mkdir /mnt/boot
root@TinaLinux:/# mount -t vfat /dev/ubiblock0_1 /mnt/boot
可以读取内容。
root@TinaLinux:/# ls /mnt/boot
bootlogo.bmp magic.bin
查看挂载情况,为ro。
root@TinaLinux:/# mount
/dev/ubiblock0_1 on /mnt/boot type vfat (ro,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
3.替换logo文件
对于 nand ubi 方案,逻辑分区是对应到 ubi 卷,由于 ubi
的特性,无法直接写数据到/dev/by-name/boot-recource 节点,需要通过 ubiupdatevol
工具来更新卷,或者自行在应用中按照 ubi 卷更
新步骤操作。我们还是通过ubiupdatevol来实现,应用自己实现的ubi更新步骤按需自己研究吧。
如果你上面挂载了ubiblock0_1,那么必须先umount一下,不然会报错。
root@TinaLinux:/# umount /dev/ubiblock0_1
清除boot-resource卷的数据.,卷上原有数据会完全丢失
root@TinaLinux:/# ubiupdatevol -t /dev/by-name/boot-resource
将新的logo文件写到boot-resource 卷。
root@TinaLinux:/# ubiupdatevol /dev/by-name/boot-resource /mnt/UDISK
到底就可以重启查看新的logo显示状态了。也可以按照查看分区的步骤挂载分区查看内容。
总结
此文档通过阅读全志《Tina_Linux_存储开发指南》,自行理解后进行尝试,已验证可行。参考此文尝试时,如果遇到问题需要针对性分析,因为UBI方案(spinand)相对特殊一些,其他方案则比较简单,挂载后可以直接读写,不用使用ubiupdatevol工具。
标签:resource,boot,dev,开机,logo,root,TinaLinux From: https://blog.csdn.net/weixin_43969390/article/details/139294741