制作.ppm格式Linux内核启动logo
来源:互联网 发布:mysql数据库创建表格 编辑:程序博客网 时间:2024/05/16 12:47
【转】制作.ppm格式Linux内核启动logo
在做的产品中,采用默认的小企鹅做logo肯定是不行的,所以一定要替换个像样的企业logo图片!
以前做过Linux启动Logo,时间太久,给忘了,所以再从新研究下。
经过在网上的搜索,和实际验证,制作Linux启动logo的步骤如下:
1、在Linux系统中安装所需的包netpbm。我用的Fedora 10,刚开始安装命令是yum install netpbm,安装完成后,发现系统中还是没有相关的命令,如下
看来是相关的包没有安装完整,又使用命令yum install netpbm*,又安装了两个包
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
netpbm-devel i386 10.47.04-1.fc10 updates 96 k
netpbm-progs i386 10.47.04-1.fc10 updates 1.9 M
再看,发现相关的命令就有了
[root@localhost developer]# png
pngcomp pngcrush pngnq pngtopam pngtopnm
2、logo图片改成.ppm格式。首先你要有个和自己屏幕分辨率一样或者小于屏幕分辨率的图片,如linux_iunin_logo.png
①将png图片转成pnm
pngtopnm linux_iunin_logo.png > linux_iunin_logo.pnm
②将pnm图片的颜色数限制在224色
pnmquant 224 linux_iunin_logo.pnm > logo_iunin_clut224.pnm
③将pnm图片转换成我们需要的ppm
pnmtoplainpnm logo_iunin_clut224.pnm > logo_iunin_clut224.ppm
也可以使用软件,比如友善之臂的loglmaker,可以直接把图片转换成.ppm格式的。
3、将logo_iunin_clut224.ppm logo图片放到合适的地方。移至drivers/video/logo目录。
将logo_iunin_clut224.ppm logo移至Linux内核目录下的drivers/video/logo目录,从新编译内核,烧到板子上,即可看到你的图片了!
补充:
1 、ubuntu下转换PPM:
sudo get-apt install netpbm
bmp图片使用bmptoppm.jpg,png,gif都有相应的topnm工具。
$bmptoppm pic.bmp > temp1.ppm //生成ppm
$ppmquant 224 temp1.ppm > temp2.ppm //转换成224颜色
$pnmnoraw temp2.ppm > logo.ppm //转换成ascii格式
logo.ppm就是需要的图像了。
2.修改内核配置选项
(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
不选该项无法在屏幕上显示。
重新编译源码启动就是替换后的logo了,但是没有居中全屏显示。
3.居中全屏显示
(1)修改源码/driver/video/fbmem.c中的fb_show_logo_line函数
//image.dx=0;
//image.dy=y;
image.width = logo->width;
image.heigh = logo->height;
增加
+image.dx = (info->var.xres / 2) - (image.width / 2);
+image.dy = (info->var.yres / 2) - (image.height / 2);
(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);
经过以上方式重新编译内核启动就会看到修改的内核logo能够居中全屏显示了。
经过上面的方式,内核logo已经可以正常显示,但是会被android开机第一个logo(白色“A N D R O I D”文本字样)给快速的刷新掉,导致给人一闪而过的感觉。所以实际当中还要把它给屏蔽掉。
- 制作.ppm格式Linux内核启动logo
- 制作.ppm格式Linux内核启动logo
- 制作.ppm格式Linux内核启动logo
- ppm格式图片转换 -- linux kernel logo
- 制作linux启动logo
- linux内核启动logo
- 制作Linux内核开机Logo
- 修改linux内核启动logo
- 修改Linux内核启动logo
- 修改Linux内核启动logo
- 制作自己的linux启动LOGO
- 更换linux内核的开机启动logo
- Android客制化------开机logo之ppm图片制作
- armlinux启动logo制作
- LOGO启动屏制作
- Android启动Logo制作
- 内核启动logo
- 内核启动logo
- linux下python升级以及安装tkinter的一系列问题
- AdapterView 的setOnItemClickListener 与子view setOnclick。
- 用java解压缩zip和rar的工具类
- 从内存数据读取osg::node
- Oracle Flashback 技术 总结
- 制作.ppm格式Linux内核启动logo
- 用U盘安装系统的三种方法
- pgAdmin在打开查询构造工具(Query Builder)时死掉的解决办法 .
- IBM笔试题
- Android开发中的多线程编程技术
- mongo shell中特殊判断符号转义的问题
- make modules 不能生成.ko文件的解决方案
- 巧合?不是巧合?
- 想学pb,用一个礼拜的时间