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