NXP i.MX6 linux应用层替换开机logo
项目场景:
在眺望电子TW-IMX6DL-EVM开发板上开机Logo默认是编译进内核的,更换起来很不方便,通过改写内核源码,可以实现应用层直接更换内核Logo。在此基础上,本文介绍通过两种方式在应用层更换开机Logo。
编译环境及开发包: 主机:ubuntu18.04
交叉编译器:arm-linux-gnueabihf-gcc
QT5.12.8:qt-everywhere-opensource-src-5.12.8
开发板:TW-IMX6DL-EVM
Linux:Linux-4.1.15
注意:本文章的所有命令涉及到的路径均为眺望电子官方环境路径,需根据自身实际环境改变。本文所演示的平台来自于眺望电子 iMX6 ARM嵌入式平台,这是一个基于NXP iMX6 ARM处理器,支持单核/双核Cortex-A9的核心板。
解决方案:
1.源码修改
1.1 u-boot修改
修改include/configs/mx6sabre_common.h
后重新编译uboot。
目录:include/configs/mx6sabre_common.h
添加"loadlogo=mmc read 0x15000000 0x1000 0x2800;\0" \
新增
#define CONFIG_BOOTCOMMAND \
"mmc dev ${mmcdev};" \
"if mmc rescan; then " \
"run loadlogo; " \ /* 新增 */
"if run loadimage; then " \
"run mmcboot; " \
"else " \
1.2 kernel修改
修改内核源码drivers/video/logo/Kconfig
,在最后新加一个LOGO_LINUX_CUSTOM_CLUT224
的配置选项:
/* 在如下配置 */
config LOGO_LINUX_CUSTOM_CLUT224
bool "Custom 224-color linux logo"
default yendif # LOGO
将附件中的src/kernel/logo.c
替换掉内核源码drivers/video/logo/logo.c
,在然后重新编译内核。配置内核时,需要去掉logo路径下的其它选项,只保留Custom 224-color linux logo
这一个选项。
然后,重新烧写生成的固件。根据芯片的类型,可以选择附件中image目录下的现有固件进行烧写测试。
2.图片格式修改
2.1 JPG格式图片修改方法
从网络上先下载一张JPG格式图片,注意图片分辨率最好和显示屏最佳分辨率保持一致。将附件解压到虚拟机,同时将图片放在解压后的Tools\jpgburn
,如图所示。
执行目录中的makelogo.sh
脚本,成功后将在burnlogo文件夹下生成mylogo.bin
文件。如图所示。
该文件即为可以直接进行烧写的图像二进制文件。注意:执行脚本过程中可能报错,需要安装相关的图像处理工具。
$ sudo apt-get install netpbm
$ sudo apt-get install imagemagick
将生成的mylogo.bin
文件和同一目录下的burnlogo.sh
文件拷贝到开发板同一目录,执行burnlogo.sh
脚本,烧写图像到emmc,重启后即可看到效果。
注意:loadlogo=mmc read 0x15000000 0x1000 0x2800;\0"
如果从emmc的0x1000读取logo,则需要修改burnlogo.sh中的seek,如下0x1000对应十进制4096
dd if=/dev/zero of=/dev/mmcblk3 bs=512 seek=4096 count=16384
dd if=mylogo.bin of=/dev/mmcblk3 bs=512 seek=4096
sync
2.2 BMP格式图片修改方法
因为Logo图片中所使用的颜色数不能超过224种,如果超过将无法正常显示,因此我们需要制作符合要求的图像。需要256 色位图的 bmp图片
将成功保存的图片下载到开发板,使用附件中Tools\bmpburnbmpburn.sh
脚本文件进行烧写。(注意:脚本中默认图像文件名为mylogo.bmp
,如果不一致需要修改脚本文件。)重启后即可看到实际效果。
内核默认设置成自动读取通过方式1或者方式2烧写进去的图像文件作为开机Logo,如果没有进行烧写,将会读取原来默认的小企鹅图标作为开机Logo。
NXP i.MX6 linux应用层替换开机logo相关推荐
- linux内核开机显示企鹅logo,批改linux内核kernel开机logo(小企鹅)
修改linux内核kernel开机logo(小企鹅) 修改linux内核kernel的开机图片(原为小企鹅图片). 转载请注明出处:http://blog.csdn.net/wang_zheng_ka ...
- 制作Linux嵌入式系统开机LOGO(图片)
内核:linux-2.6.22.6 ubuntu:Ubuntu 9.10 开发板: JZ2440(方法通用,不局限于JZ2440) 目的: JZ2440开机logo默认是一只可爱的小企鹅.我们把它替换 ...
- Linux内核启动去掉企鹅,修改linux内核kernel开机logo(小企鹅)
修改linux内核kernel的开机图片(原为小企鹅图片). 转载请注明出处:http://blog.csdn.net/wang_zheng_kai 导航制导与控制实验室 2014年12月10日 本文 ...
- 去掉linux开关机图片,在Deepin Linux系统下去掉NVIDIA开机Logo的方法
要实现在deepin Linux或其他Linux系统下去掉NVIDIA开机Logo非常的简单,只需要两步就可以了,可以运用命令操作,也可手动操作.安装NVIDIA请参考在deepin系统中安装英伟达N ...
- 高通平台android kernel 开机logo显示和传统linux一样
由于高通8k平台lk下只有2s多点 故直接在kernel显示logo,这篇文章转载过来制作linux logo,其实这个当时学习就会,只不过忘记了.在这里重提一下ubuntu下的GIMP图片工具 ...
- 高通平台android kernel 开机logo显示和传统linux一样 .
由于高通8k平台lk下只有2s多点 故直接在kernel显示logo,这篇文章转载过来制作linux logo,其实这个当时学习就会,只不过忘记了.在这里重提一下ubuntu下的GIMP图片工具真的很 ...
- Linux 开机Logo制作
Linux 开机Logo制作 [从制作logo到LCD显示或者VGA显示logo] 1.制作logo的方法: 首先选择一个自己喜欢的图片,然后通过GIMP软件将该图片保存为.png格式, 变换方式这个 ...
- 修改linux开机logo
修改linux开机logo 2014年12月03日 14:46:16 zhuangtim1987 阅读数:1257更多 个人分类: Linux Driver 编者:linux的开机默认logo是一只可 ...
- 制作Linux内核开机Logo
一.前言 有关Linux开机Logo的制作,网上已经有很多例子了,方法都差不多.因为以前用的LCD屏幕分辨率为320*240,现在自己配置了一个480*640的竖屏当横屏用,为测试驱动是否配置成功,我 ...
最新文章
- Google Capture The Flag 2018 (Quals) - Beginner's Quest - Reverse - Firmware
- 《HTML 5与CSS 3权威指南 》 (第2版·下册)——第19章 19.3.2
- JPQL设置自增长、只读、文本类型等的注解
- [Python图像处理] 三十三.图像各种特效处理及原理万字详解(毛玻璃、浮雕、素描、怀旧、流年、滤镜等)
- Zookeeper基于Java访问-权限
- rem布局 html,移动端h5之rem布局/px2rem
- 第三次scrum冲刺
- osx+配置+php扩展,Mac系统升级到10.9(mavericks)时安装php扩展问题解决
- c52单片机控制l298n步进电机角度_【设计图文】单片机实现的步进电机控制系统(开题报告+论文+文献综述+外文翻译+DWG图纸)...
- Microsoft.System.Center.Operations.Manager.2007 中文版完整光盘下载地址
- 控制层@Value注解取不到值
- 如何在java输入_怎么在java中编写输入语句?
- 【论文】本周论文推荐(迁移学习、阅读理解、对话系统、图神经网络、对抗生成网络等)...
- 药品质量不合格统计机器人
- 阿里巴巴容器技术 Pouch 解析
- 4-5. do...while循环
- 免费版xshell下载地址
- 从MDK分散加载文件学习STM32启动流程
- 设计 - 收藏集 - 掘金
- Flutter 路由源码解析