天天看點

android 檔案系統(

上網查了一些資料,自己做了個android 檔案系統(root file system). 和大家分享一下。

 如何建立android的file system,這裡介紹兩種方法。

 第一種就是通過build android source得到,source build結束之後,會産生大部分的android檔案系統,位置在你的android source build目錄下的out/target/product/generic/。其中root/就是你的root fs, 你需要将system/拷貝到root/system下,這樣root/就是你得到的一個基本的檔案系統。但是,現在root/dev下面是空的,是以,我們需要建立所需要的device, 你可以到系統 /dev下, 把所有的device打一個包,拷貝到 dev下面(最省事的做法);或者使用mknod來自己建所需要的device。

 第二種方法,是通過android鏡像檔案來得到檔案系統。

android源碼編譯後得到system.img,ramdisk.img,userdata.img映像檔案。其中,是emulator的檔案系統,system.img包括了主要的包、庫等檔案,userdata.img包括了一些使用者數 據,emulator加載這3個映像檔案後,會把和 userdata分别加載到 ramdisk檔案系統中的system和 userdata目錄下。 ramdisk.img system

 是以,可以通過下面的方法來建立我們自己的檔案系統:

1.       從android SDK的SDK/ platforms/android-1.5/images下面得到Ramdisk.img

2.       解開 ramdisk.img

$ mv ramdisk.img ramdisk.cpio.gz

$ gzip -d ramdisk.cpio.gz

$ mkdir rootfs

$ cd tmp

$ cpio -i -F ../ramdisk.cpio

*** 此時 rootfs 目錄下的就是 ramdisk.img 的檔案和目錄了,也就是你的root file system根目錄了。

 3.      啟動android模拟器,從模拟器裡面取出data/ 和 system/兩個檔案夾。具體方法可以參考這裡

4.      将這兩個檔案夾拷貝到rootfs裡面,覆寫掉裡面相應的那兩個同名檔案夾。

5.      最後一步,同第一種方法一樣,建立dev/,這裡不再贅述。