日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android ramdisk

發布時間:2024/4/14 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android ramdisk 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

android?ramdisk??

?

1android文件系統的結構
android源碼編譯后得到system.img,ramdisk.img,userdata.img映像文件。其中,?ramdisk.imgemulator的文件系統,system.img包括了主要的包、庫等文件,userdata.img包括了一些用戶數?據,emulator加載這3個映像文件后,會把?system和?userdata分別加載到?ramdisk文件系統中的system和?userdata目錄下。因此,我們可以把ramdisk.img里的所有文件復制出來,system.imguserdata.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.imguserdata.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/systemramdisk/userdata下。這樣就得到一個文件系統了。

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

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

?

?

通過上面的輸出信息可知,Android系統編譯完后,在out/target/product/generic/目錄下產出了三個文件:system.img、ramdisk.img、userdata.img。

?

?

?

  • system.img:android系統的文件系統,里面包含了android系統的應用程序(apk),系統用到的各種庫(jar,?so)和資源,配置文件(etc目錄下),系統命令(bin,usr/bin,?xbin),該映像文件是由out/target/product/generic/system目錄打包生成的,我們可以對這個目錄里的東西進行定制化,比如,你要想讓android系統默認安裝一個應用程序,那么可以將要安裝的apk文件拷貝到out/target/product/generic/system/app目錄下。
  • ?userdata.img:用戶數據映像,里面包含有程序安裝信息等,好比如是windows的C:/Program?Files/目錄。
  • ramdisk.img:內存磁盤映像。linux內核啟動起來,要掛載一個文件系統作為自己的根文件系統,里面含有Linux內核啟動過程中依賴的一些程序和配置文件。ramdisk.img就是一個最小化的根文件系統,它被加載到內存中作為Android的根文件系統。該映像是由out/target/product/generic/root目錄打包生成的。前面所述的userdata.img和system.img映像,在linux系統啟動起來后掛載到ramdisk.img中的data,system目錄下。

?

轉載于:https://www.cnblogs.com/Ph-one/p/4305187.html

總結

以上是生活随笔為你收集整理的android ramdisk的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。