1. 程式人生 > >嵌入式 linux 去掉啟動時閃爍的游標 和製作啟動LOGO

嵌入式 linux 去掉啟動時閃爍的游標 和製作啟動LOGO

一.去除embedded Linux 的開機游標:


 在核心的當前目錄進入到drivers/video/console/fbcon.c檔案
 將static void fb_flashcursor(void *private)  和 static void fbcon_cursor(struct vc_data *vc, int mode) 裡的內容註釋掉,使之變成空函式

二 、Android 開機會出現3個畫面:
1. Linux 系統啟動,出現Linux小企鵝畫面(reboot)(Android 1.5及以上版本已經取消載入圖片);
2. Android平臺啟動初始化,出現"A N D R I O D"文字字樣畫面;
3. Android平臺圖形系統啟動,出現含閃動的ANDROID字樣的動畫圖片(start)。

4、splash(LK裡跑的logo)

1、開機圖片(Linux小企鵝) (Android 1.5及以上版本已經取消載入圖片);
Linux Kernel引導啟動後,載入該圖片。
logo.c中定義nologo,在fb_find_logo(int depth)函式中根據nologo的值判斷是否需要載入相應圖片。
程式碼如下:
static int nologo;
module_param(nologo, bool, 0);
MODULE_PARM_DESC(nologo, "Disables startup logo");
/* logo's are marked __initdata. Use __init_refok to tell
* modpost that it is intended that this function uses data
* marked __initdata.
*/
const struct linux_logo * __init_refok fb_find_logo(int depth)
{
const struct linux_logo *logo = NULL;
if (nologo)
return NULL;
        ......
}
相關程式碼:
/kernel/drivers/video/fbmem.c
/kernel/drivers/video/logo/logo.c
/kernel/drivers/video/logo/Kconfig
/kernel/include/linux/linux_logo.h

     (1)讓核心支援啟動LOGO

        在核心目錄中 make menuconfig

        Device Drivers ---->   Graphics support ---->

        選中 Bootup logo ----> Standard 224-color Linux logo

     (2) 製作一張啟動LOGO的PNG格式的圖片logo_linux_clut224.png

     (3)sudo apt-get install netpbm

          #pngtopnm logo_linux_clut224.png>logo_linux.pnm

          #pnmquant 224 logo_linux.pnm > logo_linux_224.pnm

          #pnmtoplainpnm logo_linux_224.pnm>logo_linux_clut224.ppm

      (4)將LOGO檔案放入核心中

           拷貝製作好的LOGO檔案到  /drivers/video/logo 資料夾

           替換  logo_linux_clut224.ppm 檔案

      (5)重新編譯核心

轉載:http://blog.csdn.net/sunnytina/article/details/6435628#comments