android 系統上kernel與檔案系統是打包到一塊的。
一般燒錄檔案的時候有kernel,system,userdata分割槽。
我們在編譯之後,在out目錄下生成了
如上圖所示目錄檔案
其中system分割槽如下所示:
root分割槽如下所示:
我們檢視mk-ics.sh 在kernel編譯的時候有這麼一句
make -j $jobs uimage config_initramfs_source="../out/target/product/godbox/root"
後面就是拷貝了,config_initramfs_source 這是指明了ramfs檔案系統的路徑
這個路徑就是我們剛才看到的root目錄,這個目錄下是乙個完整的檔案系統。
之前一直理解成燒錄的system是檔案系統,其實不是,system只是檔案系統 根目錄下的system分割槽。
與之前的linux平台不同,linux平台的檔案系統與kernel是分離開的,檔案系統很大,android上的檔案系統很小,與kernel打包到一塊也不過是幾m
但是linux上面的檔案系統有40多m。
我修改了原始碼目錄下/system/core/init/init.c檔案,檢視此目錄下的makefile 有這麼一句
include $(build_executable)
這也就是說 編譯成乙個可執行檔案
local_module:= init
編譯完成的名稱是init,在編譯過程中,可以看到生成init檔案是生成在剛才的root目錄下的
因為編譯kernel的過程中,將該root目錄一塊打包到kernel檔案裡面了,所以直接使用adb push 命令替換/init檔案是不可以的。
Ubuntu與甲骨文
10月13 日,美國 jefferies 分析師katherine edbert 說 甲骨文很快就要進入 linux 市場,推出基於 ubuntu linux 的軟體包 甲骨文即將進入 linux 市場的訊息,一經傳出,當天就使紅帽公司的 7 人們估計,在10月 22 26日召開的 openworl...
Qfile與QTextStream讀寫文字檔案
void readwrite readfile file.close 關閉檔案 void readwrite writefile file.close void readwrite readfile ui.textbrowser settext str file.close void readwri...
linux與windows下hosts檔案
etc hosts中設定ip與網域名稱對應 192.168.0.6 www.aabbccddee.com 如果要windows能訪問 c windows system32 drivers etc hosts也同樣需要做出設定 192.168.0.6 www.aabbccddee.com 這樣如果li...