tina系统应用层更新开机logo

TINA系统更换开机logo

TINA系统显示开机logo原理

	全志tina系统的开机logo显示方式有两种。分别是:
  1. 第一种

    是uboot中读取logo到内存中,然后kernel去显示
    
    /common/board_r.c		
    	init_sequence_r
    	#ifdef CONFIG READ LOGO FOR KERNEL
    		sunxi_read_bootlogo,
    		rblock = sunxi_partition_get_size_byname("bootlogo");
    		ret = sunxi_flash_read(start block, rblock, (void *)addr);		
    	#endif
    	
    从流程可知将boot1ogo整个分区数据都复制到内存中然后由kerne1去显示。	
    由上面原理可知需要此功能需要
    在sdk_root/device/config/chips/{chips}/configs/方案)/linux/sys_partition_{启动介质}).fex中定义bootlogo分区
    在sdk_root/device/config/chips/chips)/configs/方案)/linux/目录下存放bootlogo分区定义的downloadfile中的文件。(一般将需要的bootlogo.bmp改后缀即可。)
    
  2. 第二种

    是uboot中显示logo然后kernel平滑过渡继续显示logo。

    init_sequence_r											/common/board r.c
    	sunxi_show_logo,
    		sunxi_bmp_display("bootlogo.bmp") :
    			process_bmp_agrv(bmp head addr , name, argv)			/common/cmd_sunxi_bmp.c
    				sunxi_partition get_partno byname("bootloader")
    				sunxi_partitionget_partno byname("boot-resource")
    			do_fat_fsload(0,0,5, argv)
    			show_bmp_on_fb(bmp head addr, FB ID 0):
    		
    从流程可知将查找bootloader或是boot-resource分区中去读取bootlogo.bmp文件。且该分区为fat文件系统。
    
    由上面原理可知需要此功能需要
    在sdk_root/device/conig/chips/chips/configs/方案/lnux/sys partition_{介质}.fex中定义bootloader或是bootresource分区,并将其中downloadfile设置为boot-resource.fex。
    在sdk_root/target/allwinner/generic/boot-resource/boot-resource/下存放bootlogo.bmp.
    
    在打包过程中{sdk_root/scripts/pack_img.sh将会生成对应分区镜像文件。
    

TINA系统更换开机logo方式

  一、系统用户层更换开机logo
	
	针对第一种方案
		系统启动后直接将要升级的logo以文件形式写到对应分区。
		bootlogo.fex 32bit bmp图片改后缀得来

	实现:	
		dd if=/dev/zero of=/dev/nanda		/*先清空分区*/
		dd if=./bootlogo.fex of=/dev/nanda   (写入logo数据,/dev/nanda 是bootlogo分区)
		
	针对第二种方案
			挂在对应分区进行替换

	实现:
		1.内核配置:
		内核打开 CONFIG_MTD_BLOCK、CONFIG_MTD_UBI_GLUEBI、CONFIG_FAT_FS
	
		2.进入系统后可以直接挂载vfat格式(mount -t vfat 设备节点 挂载点)
	
		root@TinaLinux:/# cat /proc/mtd
			dev:    size   erasesize  name
			mtd0: 00100000 00040000 "boot0"
			mtd1: 00300000 00040000 "uboot"
			mtd2: 00100000 00040000 "secure_storage"
			mtd3: 07b00000 00040000 "sys"
			mtd4: 01000000 0003f000 "mbr"
			mtd5: 001b9000 0003f000 "boot-resource"
			mtd6: 0003f000 0003f000 "env"
			mtd7: 0003f000 0003f000 "env-redund"
			mtd8: 00627000 0003f000 "boot"
			mtd9: 01a16000 0003f000 "rootfs"
			mtd10: 0042f000 0003f000 "rootfs_data"
			mtd11: 03c4b000 0003f000 "UDISK"
			
		root@TinaLinux:/# mount -t vfat /dev/mtdblock
			mtdblock0   mtdblock10  mtdblock2   mtdblock4   mtdblock6   mtdblock8
			mtdblock1   mtdblock11  mtdblock3   mtdblock5   mtdblock7   mtdblock9
			
		root@TinaLinux:/# mount -t vfat /dev/mtdblock5 /mnt/app/
		
		3.替换bootlogo.bmp文件
	
	
	二、系统镜像编译阶段更换
			参考上述原理,即在sdk编译打包之前替换自己的开机图片即可
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值