1. 程式人生 > >MTK平臺下 映象檔案img介紹

MTK平臺下 映象檔案img介紹

作為初學者,Android首先使用的平臺就是MTK的,所以就在聯發科平臺下,介紹下自己瞭解的一些映象檔案知識,有不足之處,希望大家能留言告知。

Android原始碼編譯後,生成了out資料夾,裡面需要用到的映象檔案在out/target/product/$(project-name)$下:system.img、secro.img、recovery.img、boot.img、ramdisk.img、userdata.img,以及一些bin檔案:uboot.bin、preloader.bin。下面是截圖:

下面分別介紹下各映象檔案中包含哪些東西,什麼時候需要更換它,以及更換的命令,後面再介紹下一些資料夾的資訊。

1:preload_wt97055.bin (和flash 相關的東西,pre-loader 是執行在ISRAM 區,作用與boot1/boot2
相同)
2:MBR(MBR 為Master Boot Record,第一階段所用的boot loader 被裝載到RAM 中並被執行。這裡的
boot loader 在大小上小於一個扇區的大小,也就是512 位元組,而它的任務,就是載入第二階段的boot
loader。)
3:lk.bin (屏的uboot 部分)
4:boot.img (屏的kernel 部分,TP,camera 等等的kernel 部分~由ramdisk.img 映象的檔案壓縮再加
上kernel 部分的啟動程式碼還有相應的標頭檔案~ramdisk.img 的內容就是out/target/product/generic/root

即linux 核心的檔案系統的壓縮而已~)
5:logo.bin(應該是開機的第一幀,這個是android 區的logo,還有個linux 區的kernel)
6:system.img (apk 和系統檔案out/target/product/generic/system 的壓縮檔案轉換為ext4 格式)
7:userdata.img (out/target/product/generic/data 的壓縮檔案轉換為ext4 格式,使用者自行內建的APK
也放置在此區域)
8:recovery.img (ramdisk-recovery.img 映象的檔案壓縮而成
~實現恢復出廠設定、OTA 升級、patch 升級及firmware 升級)

9:secro.img (安卓系統啟動時的防盜版的功能,nodl_secro.bin 重新命名而來)

每個檔案都能單獨編譯生成出來,下面列舉比較常用的Android 比較重要的三個img 檔案:

make systemimage - system.img(這個應該與r android 的編譯區域相同,只是揣測,需要驗證)
make userdataimage - userdata.img
make ramdisk - ramdisk.img
make snod - 快速打包system.img (with this command, it will build a new system.img very quickly.
well, you cannot use “make snod” for all the situations. it would not check the dependences. if you
change some code in the framework which will effect other applications)
因為
system.img 是從out/target/product/xxxx/system 做出來的。
如果改了這個folder 的內容,想要重新產生system.img。不要管system folde 裡面的file 的
dependency,可以用snod 這個target:
WT-WI-E016/Rev01
2
make snod
定義在build/core/Makefile 可以看到snod 這個target:
(有說明是: make system.img ignoring depencies)