PX2燒的系統(tǒng)也是android的時(shí)候,那么修改logo的方式也就大同小異啦,樓主也比較閑,就來(lái)試試修改logo。 大家都知道android啟動(dòng)界面分三步, 一步是內(nèi)核的啟動(dòng)logo, 然后是android的啟動(dòng)初始化logo, 最后還有個(gè)啟動(dòng)成功的開(kāi)機(jī)動(dòng)畫(huà)。 樓主一開(kāi)始的理解是在PX2上的過(guò)程就是,先出現(xiàn)兩只小企鵝,然后出現(xiàn)android的字樣,然后android這兩字會(huì)動(dòng)一下, 首先我們先來(lái)改改內(nèi)核的啟動(dòng)logo,首先我們進(jìn)入內(nèi)核的配置界面,在Device Drivers \ Graphics support \Bootup logo這一項(xiàng)如果不勾選的話,便不會(huì)有那兩只企鵝。 而點(diǎn)進(jìn)去可以看到選擇的是Standard 224-color Linux logo 這個(gè)選項(xiàng),可見(jiàn)此 時(shí)選擇的開(kāi)機(jī)logo是這個(gè)圖片,我們這時(shí)候可以進(jìn)入/kernel/drivers/video/logo這個(gè)文件夾如下, 里面有l(wèi)ogo_linux_clut224這個(gè)圖片, 此刻我們便可以用別的圖片替換這個(gè)圖片就可以改變開(kāi)機(jī)界面了。然后這時(shí)候我先隨便找張PNG圖片,然后利用linux下的一些圖片轉(zhuǎn)換工具可以把這張PNG圖片轉(zhuǎn)成可和開(kāi)機(jī)logo一樣的圖片具體命令如下: # pngtopnm linuxlogo.png > linuxlogo.pnm # pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm # pnmtoplainpnm linuxlogo224.pnm > linuxlogo224.ppm 注:上述命令需要安裝netpbm的工具包 sudo apt-get install netpbm 然后再把轉(zhuǎn)換好格式的圖片名字改程logo_linux_clut224替換掉之前那個(gè)文件夾里面的那個(gè)文件,同時(shí)把里面的.o和.c文件刪掉,然后重新編譯內(nèi)核,重新燒錄kernel,然后重啟,便得到如下結(jié)果, ok,這樣內(nèi)核logo就這樣修改ok了,可行,很簡(jiǎn)單吧, 現(xiàn)在開(kāi)始修改第二個(gè)logo,android的logo 這個(gè)我們先看看源碼,在system/core/init這個(gè)目錄下init.c便定義了如下,在判定initlogo.rle這個(gè)文件不存在后,便執(zhí)行了下面代碼,便是顯示android這幾個(gè)字, 所以我們便有兩種方式改變logo一種是改那個(gè)文字,一種是加一個(gè)rle文件,生成rle文件到方式也很簡(jiǎn)單,首先準(zhǔn)備一個(gè)PNG-24或png-32格式的圖片,即可用PS修改出來(lái),即在 保存時(shí)選“保存為 Web 所用格式”,然后在彈開(kāi)的窗口上,“預(yù)設(shè)”項(xiàng)選擇“PNG-24”,保存為android_logo.png。 然后使用了如下命令: convert -depth 8 android_logo.png rgb:android_logo.raw ./rgb2565 -rle < android_logo.raw > initlogo.rle rgb2565這個(gè)工具一般在android/out/host/linux-x86/bin目錄下,如果沒(méi)有也可以去網(wǎng)上下載一個(gè),然后把權(quán)限給上去就可以用了。 生成后,便把那個(gè)文件放在out/target/product/rkpx2/root下,然后開(kāi)始wiki上的步驟編譯下來(lái),先make -j4,然后在。/mkimage.sh生成固件, 但是樓主在燒錄這個(gè)固件后, 并沒(méi)有如期著看見(jiàn)這個(gè)界面,不過(guò)后面我修改了第三個(gè)界面后,發(fā)現(xiàn)根本就不存在第二個(gè)界面,樓主猜測(cè)也許是初始化時(shí)間太短,所以界面沒(méi)有顯示出來(lái),或者說(shuō)PX2的源碼中有將其忽略了,而樓主是用LCD屏的,而樓主的一位朋友用VGA顯示,是可以正常顯示的,所以說(shuō)這步理論上也是可行的,最后生成的rle文件是包含在out/target/product/rkpx2目錄下的ramdisk.img下的,然后生成固件的時(shí)候加在boot.img這個(gè)固件下。 第三步是動(dòng)畫(huà),這一步有很多種方法,最簡(jiǎn)單的方法是只需要把對(duì)應(yīng)的開(kāi)機(jī)動(dòng)畫(huà)文件bootanimation.zip用adb工具push進(jìn)板中/data/local目錄下,然后重啟便可以實(shí)現(xiàn),顯示如下, 使用的開(kāi)機(jī)文件也在附件中,而如大家想知道如何制作這個(gè)bootanimation.zip,這個(gè)百度上也已經(jīng)有具體教程,而關(guān)于這部分具體代碼位置可以參考原帖:http://bbs.chipspark.com/forum.php?mod=viewthread&tid=8121&extra=page%3D1。然后所有android的開(kāi)機(jī)所有界面就這樣啦,本人也是新手,講的不好也請(qǐng)指出。 |
5.jpg (67.76 KB)