android kernel 與檔案系統

2021-06-19 07:05:07 字數 1075 閱讀 3768

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...