国产九九热视频-国产九九精品视频-国产精自产拍久久久久久蜜-国产精自产拍久久久久久-国产精在线-国产精亚洲视频

以文本方式查看主題

-  曙海教育集團論壇  (http://www.hkzrsy.com/bbs/index.asp)
--  Android系統開發  (http://www.hkzrsy.com/bbs/list.asp?boardid=44)
----  android的文件系統結構及其引導過程的初步理解  (http://www.hkzrsy.com/bbs/dispbbs.asp?boardid=44&id=2010)

--  作者:wangxinxin
--  發布時間:2010-12-2 14:15:27
--  android的文件系統結構及其引導過程的初步理解
1、android文件系統的結構
android源碼編譯后得到system.img,ramdisk.img,userdata.img映像文件。其中, ramdisk.img是emulator的文件系統,system.img包括了主要的包、庫等文件,userdata.img包括了一些用戶數據,emulator加載這3個映像文件后,會把 system和 userdata分別加載到 ramdisk文件系統中的system和 userdata目錄下。因此,我們可以把ramdisk.img里的所有文件復制出來,system.img和userdata.img分別解壓到 ramdisk文件系統中的system和 userdata目錄下。

2、分離android文件系統出來
system.img,ramdisk.img,userdata.img映像文件是采用cpio打包、gzip壓縮的,可以通過file命令驗證:
file ramdisk.img,輸出:
ramdisk.img: gzip compressed data, from Unix, last modified: Wed Mar 18 17:16:10 2009
Android源碼編譯后除了生成system.img,userdata.img之外還生成system和 userdata文件夾,因此不需要解壓它們。Android源碼編譯后還生成root文件夾,其實root下的文件與 ramdisk.img 里的文件是一樣的,不過這里還是介紹怎樣把 ramdisk.img解壓出來:
將ramdisk.img復制一份到任何其他目錄下,將其名稱改為ramdisk.img.gz,并使用命令
gunzip ramdisk.img.gz
然后新建一個文件夾,叫ramdisk吧,進入,輸入命令
cpio -i -F ../ramdisk.img
這下,你就能看見并操作ramdisk里面的內容了。
然后把Android源碼編譯后生成的system和 userdata里的文件復制到 ramdisk/system和 ramdisk/userdata下。這樣就得到一個文件系統了。

3、使用網絡文件系統方式掛載android文件系統
因此,我們需要建立/nfsroot目錄,再建立/nfsroot/androidfs目錄,把剛才的android文件系統改名為androidfs,并鏈接到/nfsroot/androidfs

4、android內核引導文件系統
android內核掛載/nfsroot/androidfs之后,根據init.rc,init.goldfish.rc來初始化并裝載系統庫、程序等直到開機完成。init.rc腳本包括了文件系統初始化、裝載的許多過程。init.rc的工作主要是:
1)設置一些環境變量
2)創建system、sdcard、data、cache等目錄
3)把一些文件系統mount到一些目錄去,如,mount tmpfs tmpfs /sqlite_stmt_journals
4)設置一些文件的用戶群組、權限
5)設置一些線程參數
6)設置TCP緩存大

主站蜘蛛池模板: 林周县| 上思县| 龙江县| 汕头市| 阿克苏市| 肥东县| 霍州市| 湖南省| 黑龙江省| 岱山县| 高邮市| 佳木斯市| 扶风县| 法库县| 郎溪县| 会泽县| 吴堡县| 文化| 招远市| 三门峡市| 岳普湖县| 石阡县| 耒阳市| 大足县| 溧阳市| 当阳市| 米泉市| 岳西县| 清镇市| 正定县| 莱州市| 南投市| 定州市| 东源县| 宁城县| 荆门市| 农安县| 双鸭山市| 黄浦区| 柏乡县| 噶尔县|