Android培訓班(11)

來源:互聯網
上載者:User

#033 

#034      mount("tmpfs", "/dev", "tmpfs", 0, "mode=0755");

#035      mkdir("/dev/pts", 0755);

#036      mkdir("/dev/socket", 0755);

#037      mount("devpts", "/dev/pts", "devpts", 0, NULL);

#038      mount("proc", "/proc", "proc", 0, NULL);

#039      mount("sysfs", "/sys", "sysfs", 0, NULL);

在 Linux 中將一個檔案系統與一個存放裝置關聯起來的過程稱為掛裝(mount)。使用 mount 命令將一個檔案系統附著到當前檔案系統階層中(根)。在執行掛裝時,要提供檔案系統類型、檔案系統和一個掛裝點。因此,這裡就是把tmpfs檔案系統加到目錄/dev下面,檔案系統的名稱是tmpfs。tmpfs是一個虛擬記憶體檔案系統,它不同於傳統的用塊裝置形式來實現的Ramdisk,也不同於針對實體記憶體的Ramfs。Tmpfs可以使用實體記憶體,也可以使用交換分區。在Linux核心中,虛擬記憶體資源由實體記憶體(RAM)和交換分區組成,這些資源是由核心中的虛擬記憶體子系統來負責分配和管理。Tmpfs向虛擬記憶體子系統請求頁來隱藏檔,它同Linux的其它請求頁的部分一樣,不知道分配給自己的頁是在記憶體中還是在交換分區中。同Ramfs一樣,其大小也不是固定的,而是隨著所需要的空間而動態增減。接著建立pts和socket目錄,在/dev/pts掛裝devpts虛擬檔案系統,在目錄/proc掛裝proc檔案系統,在目錄/sys掛裝sysfs檔案系統。

 

 

#040 

#041          /* We must have some place other than / to create the

#042           * device nodes for kmsg and null, otherwise we wont

#043           * be able to remount / read-only later on.

#044           * Now that tmpfs is mounted on /dev, we can actually

#045           * talk to the outside world.

#046           */

#047      open_devnull_stdio();

這段代碼是建立空的裝置節點(/dev/null)。

 

#048      log_init();

這段代碼是建立kmsg(/dev/kmsg)節點,主要用來輸出LOG資訊。比如把LOG資訊輸出到開發板的串口上,再在電腦上列印出來,方便跟蹤和調試系統的功能。

 

#049 

#050      //caijs  add test. 2010-07-13

#051      ERROR("Init::main() %s", "caijunsheng 2010-07-13");

這裡是我測試系統引導輸出的一行LOG代碼。

 

#052 

#053      INFO("reading config file");

#054      parse_config_file("/init.rc");

這段代碼是分析根目錄下面的init.rc設定檔,並且把裡面的參數組成鏈表的方式,以便後面使用,後面再來仔細地分析init.rc檔案的格式和內容。

 

 

#055 

#056      /* pull the kernel commandline and ramdisk properties file in */

#057      qemu_init();

這裡初始化qemu模擬器運行計數,這裡是指類比ARM指令的虛擬系統。

 

#058      import_kernel_cmdline(0);

這段代碼是從linux核心裡擷取引導系統給核心的引導參數,並儲存到全域變數,以便使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.