1. 程式人生 > >製作Linux嵌入式系統開機LOGO(圖片)

製作Linux嵌入式系統開機LOGO(圖片)

核心: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能上網

  1. 製作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/目錄

  1. 檢視logo目錄是否存在logo_linux_clut224.o的檔案,如果有一定要刪除!
    $ rm logo_linux_clut224.o

  2. 配置核心支援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/nfs nfsroot=192.168.1.199:/work/busybox-1.21.0/rootfs ip=192.168.1.100:192.168.1.199:192.168.1.255:255.255.255.0::eth0 init=/linuxrc console=ttySAC0,115200 //設定bootargs
save //儲存環境變數
boot //啟動開發板

效果:這裡寫圖片描述
注:如果您使用的linux發行版是Fedora,可以使用友善之臂公司提供的工具logomaker製作,具體步驟參考它們使用者手冊,不在贅述。