修改Linux启动Logo(完美总结)
1、 修改启动Logo,换成自定义的图片
目的:开机后显示自定义的图片,替代小企鹅。
(1) 准备一张.png图片
(2) Linux安装图片转换工具软件,方法:
1安装GIMP图形转换工具(Linux的PS),http://pkgs.org/下载系统对应的rpm安装包,rpm –ivh /opt/GIMP.rpm安装,会出现各种依赖关系不足。依次解决依赖关系或者利用yum安装(yum要求有网的情况下,linux通过windows上网,可以利用代理工具CCProxy)
2Ubuntu下,利用apt-get install xxx来下载安装xxx软件(dpkg - L xxx 来查看安装成功后所有文件的位置)
netpbm为ubuntu下图形转换工具 apt-get install netpbm
(3) 使用Linux命令将图片转换为ppm图片:
# pngtopnm logo_linux_clut.png > logo_linux_clut.pnm
# pnmquant 224 logo_linux_clut.pnm > logo_linux_clut224.pnm//这一步一定要改图片名
# pnmtoplainpnm logo_linux_clut224.pnm > logo_linux_clut224.ppm
(4) 将新生成的logo_linux_clut224.ppm替换掉kernel/drivers/video/logo/ logo_linux_clut224.ppm,并删除之前的logo_linux_clut224.c logo_linux_clut224.o文件。
(5) 修改内核配置参数:(内核目录下,make menuconfig)
(1)Device Drivers --->
Graphics support --->
[*]Boot logo --->
[*] Standard 224-color Linux logo
支持kernel logo
(2)Device Drivers --->
Graphics support --->
Console display driver support --->
<*> Framebuffer Console support
(6) 编译内核:
内核目录下进行:make bzImage –j8
make modules –j8
make modules_install
make install
2、 将linux启动logo设置显示在屏幕中间位置(居中显示)
(1) 修改linux2.../drivers/video/fbmem.c里面的fb_do_show_logo函数;
image.dx=0;
image.dy=y;
改为:
image.dx = (info->var.xres / 2) - (image.width / 2);
image.dy = (info->var.yres / 2) - (image.height / 2);
//image.width和image.height为具体值
(2) 修改源码/driver/video/console/fbcon.c中的fbcon_prepare_logo()函数
在logo_height = fb_prepare_logo(info, ops->rotate);后增加下面一行代码
logo_height += (info->var.yres / 2) - (logo_height / 2);
重新编译内核,reboot后查看居中显示的logo。
注意重新选择的图片的尺寸,建议不要太大,以免引起内存越界或花屏。