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以下分辨率的图片。


0 0
原创粉丝点击