x4412开发板&ibox卡片电脑项目实战5-修改内核LOGO
来源:互联网 发布:为什么脸会变宽 知乎 编辑:程序博客网 时间:2024/05/16 03:43
由于我们linux,android都共用一套uboot和内核,因此默认linux系统启动时,显示的仍然是一个android机器人图标。我们可以从这个机器人图标入手,修改成我们自己想要的LOGO。具体步骤如下:
第一步:在kernel/drivers/video/logo/Kconfig 中添加配置文件:
config LOGO_X4412_CLUT224bool "224-color X4412 Linux logo"default y
第二步:进入kernel目录,make menuconfig
Device drivers->Graphics support->Bootup logo->
这时,在Bootup logo一栏就会多一个224-color X4412 Linux logo配置选项供选择。取消所有其它 LOGO 选项,选中224-color X4412 Linux logo ,退出。由于x4412使用脚本编译,默认会将arch/arm/configs/x4412_android_defconfig脚本覆盖到.config,因此配置完后,我们需替换掉该脚本:
cp .config arch/arm/configs/x4412_android_defconfig
第三步:确定所要修改的LOGO 的分辨率,先找到一张喜爱的图片,将该图片裁剪成自己需要的分辨率,分辨率不能超过 LCD 分辨率,允许小但绝不允许大。推荐使用WINDOWS 下的 ACDSEE,这是一款很不错的针对业余爱好者的图像处理软件。使用ACDSEE 编辑,使用它的裁剪功能,如把它裁剪为 640*480,然后保存为 PNG 图像。也可以保存为其它格式的图像。
第四步:在ubuntu平台下,安装 GIMP 绘图软件。该软件有linux 下的 PS 之称,功能相当强大。我们只需要使用它微小的一点点功能就可以了。安装方法:点击系统->系统管理->新立得软件包管理器,在搜索框中输入gimp,选择gimp软件包,点击应用即可。安装完成后,点击应用程序->图形->GIMP图片编辑器,即可打开GIMP工具。
第五步:在 GIMP 界面下打开第三步我们制作的 PNG 图像,这里打开方式和桌面WINDOWS 是一样的。打开后首先点击图像->模式->索引, 最大颜色数量一栏中默认为 256, 改为 224,点击转换,将把源图像文件转换为 224 位色格式,并保存(CTRL+S)。
第六步:点击文件->另存为,扩展名选择为 PPM,点击保存,这时提示数据格式,一定要选择 ASCII 格式,否则后续 kernel 编译时通不过!选择 ASCII 后保存,这时我们制作的 LOGO 图片就完成了。
第七步:将上面制作的图片重命名为logo_x4412_clut224.ppm,并放在kernel\drivers\video\logo 目录下。确保该目录下没有logo_x4412_clut224.c 和logo_x4412_clut224.o 两个文件,如果有就删掉。
第八步:修改kernel\drivers\video\logo 下的 logo.c 文件。在相关位置添加如下语句:#ifdef CONFIG_LOGO_X4412_CLUT224/* X4412 Linux logo */logo = &logo_x4412_clut224;#endif第九步:修改 kernel/include/linux/linux_logo.h 文件。添加如下语句:
extern const struct linux_logo logo_x4412_clut224;
第十步:修改kernel\drivers\video\logo 下的 makefile 文件:
obj-$(CONFIG_LOGO_X4412_CLUT224)+= logo_x4412_clut224.o
第十一步:重新编译内核,生成新的 kernel 映像。更新映像后,这时,开机 LOGO 已经设置成我们想要的满屏的图片了。
真正做过上面实验会发现,里面的步骤我们已经移植好了。如果我们不关心具体的移植步骤,只关心如何更换LOGO,我们只需将原来的logo_x4412_clut224.ppm,logo_x4412_clut224.c 和logo_x4412_clut224.o三个文件删掉,再使用GIMP工具转换规定格式的PPM图片,再将它拷贝到kernel\drivers\video\logo目录下,重命名为logo_x4412_clut224.ppm即可。这时重新编译出来的内核文件,图片就已经更新了。注意这里的PPM文件尺寸如果太大,可能显示不出来。推荐使用640*480以下分辨率的图片。
- x4412开发板&ibox卡片电脑项目实战5-修改内核LOGO
- x4412开发板&ibox卡片电脑项目实战5-修改内核LOGO
- x4412开发板&ibox卡片电脑项目实战4-在uboot中添加开机LOGO
- x4412开发板&ibox卡片电脑项目实战2-内核编译脚本解析
- x4412开发板&ibox卡片电脑项目实战6-配置内核
- x4412开发板&ibox卡片电脑项目实战7-Linux内核的引导
- x4412开发板&ibox卡片电脑项目实战2-内核编译脚本解析
- x4412开发板&ibox卡片电脑项目实战6-配置内核
- x4412开发板&ibox卡片电脑项目实战7-Linux内核的引导
- x4412开发板&ibox卡片电脑项目实战15-移植第一个hello x4412内核驱动
- x4412开发板&ibox卡片电脑项目实战15-移植第一个hello x4412内核驱动
- x4412开发板&ibox卡片电脑项目实战4-在uboot中添加开机LOGO
- x4412开发板&ibox卡片电脑项目实战1-uboot编译脚本解析
- x4412开发板&ibox卡片电脑项目实战3-文件系统编译脚本解析
- x4412开发板&ibox卡片电脑项目实战9-搭建最简单的linux文件系统
- x4412开发板&ibox卡片电脑项目实战10-使用buildroot搭建linux文件系统
- x4412开发板&ibox卡片电脑项目实战11-linux驱动的调试方法
- x4412开发板&ibox卡片电脑项目实战12-linux驱动的加载方法
- U盘安装CentOS 7的方法
- zoj3798Abs Problem(思维)
- 安装mysql5.7,不能下载Connector/ODBC 5.3.2
- python 的一些有趣用法
- 搭建Ubuntu的交叉编译浪费了我半天时间
- x4412开发板&ibox卡片电脑项目实战5-修改内核LOGO
- 《Linux程序设计》——使用curses函数库管理基于文本的屏幕
- zend studio 9 字体,颜色,快捷键
- 关于如何实现美团网的导航功能并且能重用ListView的Item(下载免费了)
- IOS之手势识别
- 关于N阶常系数差分方程和微分方程的对比易误点(d ' y(t)/dt 对应 y[n - 1] ? )
- 无网络情况下 如何安装GCC
- 正则表达式记录
- C++学习笔记(第四章 函数的定义与调用 之一)