转自: 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制作,具体步骤参考它们用户手册,不在赘述。