我以linux3.5内核为列子。
首先linux内核默认的开机logo在:linux3.5/drivers/video/logo/ 目录下的 logo_linux_clut224.ppm。
所以我们要更换开机logo第一步就是需要准备一张ppm格式的图片。
一、制作ppm格式的图片。
1.在网上下载一张你喜欢的图片。然后利用linux下的GNU图形处理软件打开你下载的图片。
2.改变图片大小。(下载的图片太大)
图像----->缩放图像:大小为100x100以下最佳。
3.选择:图像--->模式---->索引。
然后把最大颜色数量修改为224,然后------>转换。
完成。
4.选择:文件---->另存为。
这时候会有一个提示如下:
选择导出。
数据格式选择ASCII。然后点击保存。
这样我们就制作好了ppm格式的图片。
二、拷贝文件到相应目录。
1.把制作完成的ppm文件修改名字为:logo_linux_clut24.ppm。
2.j进入源码logo目录:cd linux-3.5/drivers/video/logo/
把logo_linux_clut24.ppm \ logo_linux_clut24.c logo_linux_clut24.0 移除(剪切到一个指定地方,用于恢复)或者删除。
3.把你自己制作的logo_linux_clut224.ppm 拷贝到 logo目录下。
三、内核代码更改
1.logo位置设置。
在 linux-3.5目录下。 打开vim drivers/vide/fbmem.c.
找到fb_show_logo_link函数。把
image.dx = 0; image.dy = 0;修改为
image.dx = (info ->var.xres/2) - (80/2);
image.dy = (info ->var.yres/2) - (80/2); //info->var.yres/2 是分辨率的大小。 80是图片的大小。
2.
在linux-3.5目录下。打开 vim drivers/video/consle/fbcon.c
找到fbcon_prepare_logo函数。
在 logo_height = fb_prepaer_logo(info,ops->rotate);后面加上,
logo_height += (info -> var.yres/2) - (80/2);
3
在linux-3.5 目录下, 打开 vim drivers/video/logo/Makefile.
可以看到。
extra-y +=$(call logo-cfiles,_clut224,ppm) 意思是找到以——clut224结尾的ppm图片。然后生成新的xxx.c 文件。 (当读者想自己命名一个ppm文加加载到到内核时,这里是需要修改的,这里我不再讲述。)
四、内核配置
在linux-3.5 目录下。
make menuconfig。
选折 Device Drivers------->Graphics Support-------->Bootup Logo.
选中。
保存退出。
执行make。
五、把编译好的zImage 传到开发板。 然后 bootm 。。。。。/
你就可以看到你自己制作的开机logo了, ^_^!试一试把!