**:
android 開機會出現3個畫面:
(一)底層linux核心系統啟動,出現linux小企鵝畫面(reboot);
(二)android平台啟動初始化,出現"a n d r i o d"文字字樣畫面;
(三)android平台上層圖形系統啟動,出現含閃動的android字樣的動畫(start)。
一、 底層linux核心系統啟動logo(小企鵝)修改
1、分析過程:
(1)先看一下bootup logo選項的幫助文件,其啟動logo是如何配置的。
到android核心原始碼根目錄下執行make menuconfig,按如下層次依次進入:
->devicedrivers
->graphicssupport
-> [*] bootup logo --->
選擇help檢視詳細資訊:
config_logo:
enable andselect frame buffer bootup logos.
symbol: logo[=y]
prompt: bootuplogo
defined at drivers/video/logo/kconfig: 5
depends on: has_iomem && (fb||sgi_newport_console)
location:
->devicedrivers
->graphicssupport
由此可知:drivers/video/logo/kconfig:5 由此句話,我們知道,啟動logo的的設定是在這個檔案中。
->devicedrivers
->graphicssupport
-> [*] bootup logo --->
->[*] standard 224-color linux logo
選擇help檢視詳細資訊:
symbol: logo_linux_clut224 [=y]
prompt: standard224-colorlinux logo
defined at drivers/video/logo/kconfig: 26
depends on: has_iomem && (fb||sgi_newport_console) && logo
location:
->devicedrivers
->graphicssupport
->bootuplogo (logo [=y])
由此可知:在~/work/android-2.6.29-samsung/drivers/video/logo目錄下的kconfig中有:
26 configlogo_linux_clut224
27 bool"standard224-colorlinux logo"
28 default y
——即選擇了logo_linux_clut224這張作為啟動畫面的logo。
若我們想加乙個,應該在kconfig中新增相應的配置選項,同時,要在logo 目錄下有乙個相應的.ppm 格式的檔案(乙個.ppm檔案、乙個.c的檔案、乙個.h的檔案)... ...
這種情況我先不給大家介紹,我們直接用乙個.ppm格式的新的檔案覆蓋原來的開機logo 檔案,重新編譯核心即可,相關過程如下。
2、修改過程: (
1)首先找一張符合lcd解析度的png(logo.png),(聽說bmp格式的也可以,只是格式轉換的命令不同),然後按下面的命令做格式轉換:
sudoapt-get install netpbm
) pnmquant 224 my_linux_logo.pnm > my_linux_logo224.pnm
pnmtoplainpnm my_linux_logo224.pnm > my_linux_logo.ppm(2
cp logo_linux_clut224.ppm logo_linux_clut224_copy.ppm(3
mv my_linux_logo.ppm logo_linux_clut224.ppm(4
)然後make menuconfig,選中standard224-colorlinuxlogo:
->devicedrivers
->graphicssupport
-> [*] bootup logo --->
->[*] standard 224-color linux logo(5
)設定居中顯示:
修改drivers/video/fbmem.c
/*modified bycreatory*/
// image.dx=0;
// image.dy=y;
image.dx=(info->var.xres/2)-(logo->width/2);
image.dy=(info->var.yres/2)-(logo->height/2);
在drivers/video/console/fbcon.c檔案中的
logo_height=fb_prepare_logo(info,ops->rotate);
下面加入
logo_height +=(info->var.yres/2)-(logo_height/2);
最後make zimage,將核心映象燒到開發板中,即可大功告成!!!
二、 android平台啟動初始化"an d r i o d"字樣修改
在啟動**
system/core/init/init.c
中將下面的**修改
紅色字型
部分,即可在開機時顯示所修改的內容,一般為了開機的簡約,這段**通常被遮蔽掉。
if(load_565rle_image(init_image_file) )
}重新進行原始碼的編譯,啟動
android
系統即可。
三、android圖形系統啟動,動畫閃動android修改
1、主要過程分析:
bootanimation::readytorun()
==>
程式會嘗試開啟
/data/local/bootanimation.zip
和/system/media/bootanimation.zip
檔案如果
2個檔案都不存在,那麼
mandroidanimation
將為true
:mandroidanimation = false;
status_t err = mzip.open("/data/local/bootanimation.zip");
if (err != no_error)
}於是最終將在下面
threadloop()
函式中bootanimation::threadloop()
if (mandroidanimation) else
==> bootanimation::android()
會載入"images/android-logo-mask.png"
和"images/android-logo-shine.png"
==> bootanimation::movie()會載入bootanimation.zip中的內容
2、新增方法:
在/data/local
和/system/media
android 啟動介面的定製
android 開機會出現3個畫面 一 底層linux核心系統啟動,出現linux小企鵝畫面 reboot 二 android平台啟動初始化,出現 a n d r i o d 文字字樣畫面 三 android平台上層圖形系統啟動,出現含閃動的android字樣的動畫 start 一 底層linux核...
WinCE啟動介面的定製
本文將以模擬器為例,簡單介紹如何定製wince的啟動介面,實現動畫效果。在實際硬體平台上一般在bootloader中定製開機介面。如果boot從flash載入nk到記憶體的時間較長,通常也會加乙個進度條顯示。如果從nk載入完成到進入ce桌面的時間也很長,那加乙個開機動畫也是不錯的。首先在backli...
WinCE啟動介面的定製
本文將以模擬器為例,簡單介紹如何定製wince的啟動介面,實現動畫效果。在實際硬體平台上一般在bootloader中定製開機介面。如果boot從flash載入nk到記憶體的時間較長,通常也會加乙個進度條顯示。如果從nk載入完成到進入ce桌面的時間也很長,那加乙個開機動畫也是不錯的。首先在backli...