【转载】linux更换启动时的小企鹅图片(转载)

【转载】linux更换启动时的小企鹅图片(转载) 

原文链接:http://blog.chinaunix.net/uid-23029750-id-1631401.html

linux更换启动时的小企鹅图片 (2011-02-23 14:29)
分类: linux 设备驱动
系 统:ubuntu10.10
硬件:s3c6410
 
ubuntu下转换PPM:
sudo get-apt install netpbm
 
root@emboard:~# apt-get install netpbm
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following extra packages will be installed:
  libnetpbm10
The following NEW packages will be installed:
  libnetpbm10 netpbm
0 upgraded, 2 newly installed, 0 to remove and 272 not upgraded.
Need to get 1,281kB of archives.
After this operation, 4,932kB of additional disk space will be used.
Do you want to continue [Y/n]?
Get:1 http://hk.archive.ubuntu.com/ubuntu/ maverick/main libnetpbm10 i386 2:10.0-12.2 [67.4kB]
Get:2 http://hk.archive.ubuntu.com/ubuntu/ maverick/main netpbm i386 2:10.0-12.2 [1,213kB]                                                                  
Fetched 1,281kB in 55s (23.2kB/s)                                                                                                                           
Selecting previously deselected package libnetpbm10.
(Reading database ... 125683 files and directories currently installed.)
Unpacking libnetpbm10 (from .../libnetpbm10_2%3a10.0-12.2_i386.deb) ...
Selecting previously deselected package netpbm.
Unpacking netpbm (from .../netpbm_2%3a10.0-12.2_i386.deb) ...
Processing triggers for man-db ...
Setting up libnetpbm10 (2:10.0-12.2) ...
Setting up netpbm (2:10.0-12.2) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
 
root@emboard:/workdir/s3c6410/workdir/logo# ls
linuxlogo.png 
root@emboard:/workdir/s3c6410/workdir/logo# pngtopnm linuxlogo.png > linuxlogo.pnm
root@emboard:/workdir/s3c6410/workdir/logo# ls
linuxlogo.png  linuxlogo.pnm 
root@emboard:/workdir/s3c6410/workdir/logo# pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm
pnmcolormap: making histogram...
pnmcolormap: too many colors!
pnmcolormap: scaling colors from maxval=255 to maxval=127 to improve clustering...
pnmcolormap: making histogram...
pnmcolormap: 22166 colors found
pnmcolormap: choosing 224 colors...
pnmremap: 224 colors found in colormap
root@emboard:/workdir/s3c6410/workdir/logo# pnmtoplainpnm linuxlogo224.pnm > linuxlogo224.ppm
root@emboard:/workdir/s3c6410/workdir/logo# ls
linuxlogo224.pnm  linuxlogo224.ppm  linuxlogo.png  linuxlogo.pnm 
这样就生成了logo图片。
最后的转换结果为ppm图片文件,可以拷贝此文件到内核源码树录linux-x-xx/drivers /video/logo/,实现基本logo显示功能。
如果想要单独显示,将现在生成的图片添加进内核,就需要修改linux- x-xx/drivers/vedio/logo下的Makefile和Kconfig文件将这个添加进去。
Makefie
obj-$(CONFIG_LOGO_LINUX_XX_CLUT224)     += logo_linux_xx_clut224.o
Kconfig
config LOGO_LINUX_XX_CLUT224
 bool "Standard xx 224-color Linux logo"
 depends on LOGO
 default y
这样就添加进内核的make menuconfig选项了。
现在还需要修改linux-x-xx/drivers/vedio/logo/下的logo.c文件,将信息添加进去。
extern const struct linux_logo logo_linux_xx_clut224;
......
#ifdef CONFIG_LOGO_LINUX_XX_CLUT224
  logo = &logo_linux_xx_clut224;
#endif
然后执行重新make内核,make之前需要执行make clean或者是指定clean(make clean SUB_DIR=./drivers/video/logo/)目录。

你可能感兴趣的:(【转载】linux更换启动时的小企鹅图片(转载))