要想Android運行起來,不但要編譯核心正確,還需要有正確地安裝根檔案系統,才可以運行起來。第一步,就是從模擬器裡提取data目錄的資料。也許你會問,為什麼要從模擬器裡提取呢?因為這樣做是最方便的,不必要每個目錄和檔案,都要自己去建立。在一個終端裡運行模擬器,並且運行android系統正常,然後再開啟一個終端,在這個終端裡運行adb來擷取模擬器的檔案,如下命令:
adb pull /data /nfsboot/data
這樣就可以從模擬器裡下載到data、system目錄到本地目錄。
第二步,把從模擬器裡提出來的data目錄拷貝到android編譯出來的目錄:
Android-2.0/out/target/product/generic/root目錄下面,並把相同的目錄覆蓋。
第三步,把Android-2.0/out/target/product/generic/system目錄下所有檔案複製到目錄:
Android-2.0/out/target/product/generic/root/system目錄下面。
第四步,修改目錄Android-2.0/out/target/product/generic/root/下的init.rc檔案,注釋掉下面幾句:
mount rootfs rootfs / ro remount
mount yaffs2 mtd@system /system
mount yaffs2 mtd@system /system ro remount
mount yaffs2 mtd@userdata /data nosuid nodev
mount yaffs2 mtd@cache /cache nosuid nodev
由於我這裡系統不使用yaffs2檔案系統,因此要把這些注釋掉。
到這裡,root下的內容就是一個完整可用的android根檔案系統,開發板就可以通過nfs的方式來載入,不過要把這個目錄設定為777的許可權屬性,否則啟動會失敗。
為了把這個根檔案系統燒寫到開發板裡,需要把root打包,在終端裡運行下面的命令:
tar –zcvf android.tar.gz *
這樣就得到android.tar.gz檔案,就可以按前面的辦法來固化到flash裡面了