修改嵌入式linux啓動畫面(一)

linux的開機動畫默認爲一隻80x80的小企鵝,在driver/video/logo下面。但是在實際的開發應用中,我們常常需要做的是更改系統默認的開機啓動畫面,更換企業的特有logo圖片。
 
 說明下,我的環境是JZ2440開發板,韋東山老師移植的linux-2.6.22.6的kernel。
 
 首先,下面簡要的操作步驟。
 1. 確定lcd屏大小:
  我用的lcd屏大小爲320x240。
 2. 選擇圖片:
  logo界面大小必須要小於或等於lcd屏,否則會出現錯誤。這裏我選擇一張小於其(4.3寸,480x272)所支持大小的logo圖片(320x240)。
 3. 圖片製作:
  嵌入式linux的logo面爲ppm類型格式的圖片。
  首先,準備一張320x240的png格式圖片。
  然後,重要在於如何將其轉化爲我們所需要的圖片格式——ppm格式。這裏介紹一個轉換工具->netpbm。

  // 假設你使用的是ubuntu,使用此命令安裝圖片格式轉換工具。
  sudo apt-get install netpbm
  
  這裏說明一下,嵌入式linux的logo是直接在frambuffer的基礎上,顯示的一個ppm格式的圖像。在嵌入式linux中對其的支持不是正常的最大255,而是最大顏色支持爲224色。這是一種使用ASCII碼來描述圖像的一種格式。
  下面將png圖片轉化爲224色的ppm圖片
  a. 轉換png成pnm格式
   pngtopnm wei_pei.png > wei_pei.pnm
  b. 轉換像素數爲224
   pnmquant 224 wei_pei.pnm > logo_linux_clut224.pnm
  c. 轉換二進制的pnm格式爲文本的ppm格式.
   pnmtoplainpnm logo_linux_clut224.pnm > logo_linux_clut224.ppm   
  最終重新編譯內核
   cp  logo_linux_clut224.ppm kernel_dir/drivers/video/logo/logo_linux_clut224.ppm
   $cd kernel_dir/
   執行make命令重新編譯,即可得到新的kernel image

 按此步驟,最終便可以定製我們自己的kernel的啓動logo界面了。
 
 這樣總的來說是完成了我們任務所要達到的要求。但是如果想更好的瞭解其實還是可以再做一些小實驗的,下面有一節將會來再嘗試一下,如何在不改變原有系統的基礎上添加自己的logo畫面作爲啓動畫面,也就是不更改logo_linux_clut224.ppm的情況下,實現要求。

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