Linux Boot logo 圖片的修改

問題

項目中的顯示模塊的BSP基本能夠正常工作之後,需要將Linux的啓動圖片替換成自己公司的Logo圖片。
預期很快就能移植成功的,可是結果還是花了不少時間。網上其人人可能也會遇到類似問題,因此在此記錄,方便自己和他人改動圖片時查閱。
調試時條件:
1,板子啓動時已經正常顯示小企鵝圖片;
2,Linux正常啓動後,通過dd命令能夠顯示圖片到LCD上,即LCD的驅動已經工作正常。

操作步驟

1,查閱Linux Logo替換解決辦法,主要參考這兩篇文章。
http://www.armadeus.org/wiki/index.php?title=Linux_Boot_Logo
http://www.arm9board.net/wiki/index.php?title=Create_your_own_boot_logo

2,使用圖片編輯器(paint.net),打開自己公司的logo圖片,並根據LCD大小裁剪圖片爲800x600像素。保存爲PNG文件,然後使用命令:

ppmquant 224 logo.tmp > logo_224.tmp
pnmnoraw logo_224.tmp > logo_linux_clut224.ppm
Copy logo_linux_clut224.ppm to Linux drivers/video/logo
rm  drivers/video/logo/logo_linux_clut224.c
rm  drivers/video/logo/logo_linux_clut224.o

拷貝之前,先備份文件logo_linux_clut224.ppm。
重新編譯內核,在輸出的編譯信息中有:

 LOGO    drivers/video/logo/logo_linux_clut224.c
  CC      drivers/video/logo/logo_linux_clut224.o

證明自己的ppm文件已經是編譯進入了內核。

拷貝內核到SD卡並上電後,發現LCD上無任何圖片的輸出,只有一個光標在LCD的左側閃爍。

因爲小企鵝能夠正常顯示,所以初步猜測是自己的圖片製作的不對。
然後使用另外一組命令製作圖片:

pngtopnm logo.png | ppmquant -fs223| pnmtoplainpnm > logo_linux_clut224.ppm
Copy logo_linux_clut224.ppm to Linux drivers/video/logo
rm  drivers/video/logo/logo_linux_clut224.c
rm  drivers/video/logo/logo_linux_clut22.o

(本人此時使用圖片工具對圖片進行了一些參數調整,記不起具體步驟和參數)。
這次,發現LCD上出現了自己的圖片,不過顏色不對,像素點錯位。
(下次還原這個圖片,然後附上LCD的圖片)。

3,和同事討論後,可能的問題原因:
(1)圖片製作依然不對;
(2)懷疑Linux顯示Logo時調用的初始化函數和LCD driver的初始化函數不一樣?

第一個原因很容易解決,我們可以使用圖片工具直接打開ppm文件查看。
在linux下安裝GIMP後,打開logo_linux_clut224.ppm,
(附圖)
因此發現原因還是由於圖片製作不對。

4,解決。
(1),爲了清晰對比,本人首先在GIMP中打開了小企鵝的ppm,並獲得了圖片信息:
像素:80x80 pix;
分辨率: 72x72 ppi
然後本人重新制作了一個像素:80x80 pix,分辨率: 72x72 ppi的小圖片,保存爲ppm格式,直接覆蓋文件logo_linux_clut224.ppm。
這次LCD正常顯示圖片。
(2),在GIMP中打開公司Logo圖片,直接保存爲ppm文件格式,重複上述步驟,編譯時發現:

 LOGO    drivers/video/logo/logo_linux_clut224.c
drivers/video/logo/logo_linux_clut224.ppm: Binary PNM is not supported
Use pnmnoraw(1) to convert it to ASCII PNM
make[3]: *** [drivers/video/logo/logo_linux_clut224.c] Error 1

直接在命令行中操作:

 ppmquant  224 logo.ppm > linuxlogo.ppm

再次使用GIMP打開,保存爲ascii格式的ppm文件。
重命名爲logo_linux_clut224.ppm。
終於, 公司logo在LCD上正常顯示出來。

結論

1.使用命令行進行boot logo圖片的轉換,有可能圖片轉換不正確。
因此需要使用工具如GMIP來打開查看具體的文件效果。
2,直接使用GMIP來編輯和保存圖片能夠保證圖片效果;
3,可以對比小企鵝圖片來製作自己的logo圖片。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章