[置顶] 制作开机LOGO就是这么简单!

转自: http://mp.weixin.qq.com/s?__biz=MzAxNTAyOTczMw==&mid=2649328522&idx=1&sn=64107695fef34ba48f04a78be7a37951&chksm=83976f00b4e0e61629f6f38a4868727bbd1f333a3bb43f0d1303adeb5fa3bb2d6b00f61e35df&mpshare=1&scene=23&srcid=0612vTbty2HiLcZ9zNGkDje9#rd


内核:linux-2.6.22.6

ubuntu:Ubuntu 9.10

开发板: JZ2440(方法通用,不局限于JZ2440)

 

目的

Jz2440开机logo默认是一只可爱的小企鹅。我们把它替换成我们喜爱的图片。

 

准备工作

准备好BMP或者PNG 图片,若是别的格式的图片,可以使用Windows自带的画图软件打开,然后另存为BMP或者PNG格式,Logo图片分辨率不小于JZ2440分辨率480*272,否则显示不了。

 

步骤

1. 安装资料光盘Ubuntu 9.10没有的图片转换工具netpbm

$ sudo apt-get install netpbm 

然后输入y //前提是ubuntu能上网

 

2. 制作linux logo图片

假设图片为 jz2440.png(png格式图片)

$ pngtopnm jz2440.png > jz2440.pnm

$ pnmquant 224 jz2440.pnm > logo224.pnm

$ pnmtoplainpnm logo224.pnm >logo_linux_clut224.ppm

 

假设图片为 jz2440.bmp(BMP格式图片)

$ bmptopnm jz2440.bmp > jz2440.pnm

$ pnmquant 224 logo.pnm > logo224.pnm

$ pnmtoplainpnm logo224.pnm >logo_linux_clut224.ppm

注意:转换后的文件名有规定,必须是logo_linux_clut224.ppm

 

3. 生成的logo_linux_clut224.ppm就是我们需要的logo文件,把它拷贝到内核目录覆盖原来的logo文件

$ cd /work/system/linux-2.6.22.6/drivers/video/logo/

$ cp /work/logo_linux_clut224.ppm .   //笔者制作的logo文件在/work/目录

 

4. 查看logo目录是否存在logo_linux_clut224.o的文件,如果有一定要删除!

$ rm logo_linux_clut224.o

 

5. 配置内核支持logo显示(如果内核用的是linux-2.6.22.6_jz2440.patch补丁默认已经支持logo显示)

$ make menuconfig

Device Drivers --->

  Graphics support --->

     Console display driver support--->

         <*>Framebuffer console support

    Bootup logo --->

         <*> Standart 224-color linux logo

 

6. 重新编译内核,烧写

$make uImage

把uImage上传到window tftp软件所在目录

 

进入开发板uboot,作一些必要设置,以PING通window

set gatewayip 192.168.1.1  //设置网关

set netmask 255.255.255.0 //设置子网掩码

set ipaddr 192.168.1.111  //设置uboot阶段的开发板ip

set serverip 192.168.1.170 //设置服务器ip

tftp 30000000 uImage //下载uImage

nand erase kernel    //擦除kernel分区

nand write.jffs2 30000000 kernel //烧写uImage

 

因为笔者的文件系统在nfs上, 所以先设bootargs

set bootargs noinitrd root=/dev/nfsnfsroot=192.168.1.199:/work/busybox-1.21.0/rootfsip=192.168.1.100:192.168.1.199:192.168.1.255:255.255.255.0::eth0 init=/linuxrcconsole=ttySAC0,115200 //设置bootargs

save  //保存环境变量

boot //启动开发板

说明:

192.168.1.100是linux系统起来后的开发板ip

192.168.1.199是作为NFS服务器的ubuntu ip

192.168.1.255是ubuntu 网关

/work/busybox-1.21.0/rootfs是ubuntu /etc/exports设置的nfs目录

255.255.255.0是ubuntu子网掩码


效果:我们伟大的百问网出来啦!


注:如果您使用的linux发行版是Fedora,可以使用友善之臂公司提供的工具logomaker制作,具体步骤参考它们用户手册,不在赘述。



原文地址:https://www.cnblogs.com/alan666/p/8311792.html