Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> ramdisk.img在android中的使用教程

ramdisk.img在android中的使用教程

編輯:關於Android編程

ramdisk中包含一些對於啟動android的很重要的文件,比如內核啟動完後加載的第一個進程init,一些重要的配置文件等,總之它控制著整個android的啟動.
ramdisk的使用有兩種方法:1,編譯進內核;2,將ramdisk單獨燒寫
1,編譯進內核
將 ramdisk解壓,可以看到它裡面有很多文件和目錄, 如:data,dev,proc,sbin,sys,system,default.prop,init,init.rc等,有點像板子跑起來的根目錄. 將解壓出來的文件夾重命名為root,放到linux內核代碼的根目錄下,並用make menuconfig配置啟動這個root文件夾,配置保存後會生成如下項:
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE="root"
CONFIG_INITRAMFS_ROOT_UID=0
CONFIG_INITRAMFS_ROOT_GID=0
這些也可以直接在xxxx_defconfig改,然後make xxxx_defconfig使其生效.
這樣做了以前,root將被編譯進zImage,並隨之一起燒進板子.
2,將ramdisk單獨燒寫
也可以將ramdisk作為一個單獨的包燒寫,就燒在zImage的後面.假如zImage燒在0x600000,那麼ramdisk就燒在 0x800000就好.值得注意的是,ramdisk在燒寫之前要進行一次轉換.因為bootloader在運行的時候,會將ramdisk從FLASH 加載到RAM中,它會把FLASH上0x800000-0x880000的空間作為ramdisk讀取,並檢查其最後四個字節,這四個字節保存的是 ramdisk.img的實際大小.所以我們要做的轉換工作就是把原來的ramdisk.img(100多字節)轉換成512字節,並在其最後四個字節寫 ramdisk.img的實際長度.最後在bootloader中寫程序把ramdisk加載到RAM.同時.config中的配置項只要:
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved