2012-10-15 22 views
2

在Android框架啓動之前,但在底層Linux內核啓動之後,是否可以在Android中裝入ramdisk?如果是這樣,我應該使用什麼命令?如何在Android中安裝ramdisk才能啓動?

謝謝!

+0

你能解釋一下你爲什麼要這樣做嗎?除非你正在製作你自己的內核和啓動腳本,並且閃爍着你的程序,否則你不能這麼做。 –

+0

現有的文件系統掛載機制有什麼問題,即'/ etc/fstab'?請參閱http://linux.die.net/man/5/fstab。 BTW「ramdisk」基本上被* ramfs *和* tmpfs *所取代。請參閱http://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt – sawdust

回答

2

基於一些參考書我讀,一個Android系統啓動時在以下主要步驟:

  1. CPU讀取,其通常指向一些引導程序
  2. 自舉程序初始化RAM中的硬編碼的地址,將基本硬件置於靜止狀態,加載內核和RAM磁盤,然後跳轉到內核。
  3. start_kernel()初始化子系統並繼續調用內置驅動程序的初始化函數。
  4. 內核掛載其根系統(從ramdisk.img)。
  5. 然後調用init.rc來設置環境變量,如系統路徑,掛載其他文件系統,啓動本地守護進程等。

現在,回答你的問題:「在Android框架啓動之前,但在底層Linux內核啓動之後,是否可以在Android中裝入ramdisk? - 我認爲這正是android所做的。

0

你必須編寫從init.rc文件調用的shell腳本。另一種方法是編寫一個從init.rc作爲後臺進程啓動的C程序。

init是linux已經啓動的中間位置,而android frameowrk即將開始啓動。

相關問題