1. ramdisk.img文件gzip壓縮文件, 所以要用gunzip命令解壓縮. 但是gunzip需要默認後綴名.gz才可以正常解壓, 不然會被忽略對待.
(源文件類型) ramdisk.img: gzip compressed data, from Unix
2. 解壓後名字會自動去掉.gz後綴,並重命名為ramdisk.img, 這時候文件類型為
ramdisk.img: ASCII cpio archive (SVR4 with no CRC)
3. 這時候就可以用cpio命令從ramdisk.img裡面解壓出跟文件系統的文件了, 所以建議新建一個目錄來做
mkdir aaa
進入到目錄裡面
cpio -i -F ../ramdisk.img
OK, 成功解壓, 可以隨便更改定制自己的跟文件系統了, init.rc隨便你改吧
4. 定制好了之後開始重新打包了
cpio -i -t -F ../ramdisk.img > list
cpio -o -H newc -O new.img < list
好了,打包好新的ramdisk.img了, 名字為new.img, 但是這時候還不能直接跑起來, 為什麼呢?
看看文件類型吧
new.img: ASCII cpio archive (SVR4 with no CRC)
跟上面解壓後的ramdisk.img一樣, 所以這時候還差一步,就是重新用gzip 壓縮
gzip new.img
搞定.
文件類型為
new.img.gz: gzip compressed data, was "new.img", from Unix, last modified: Mon Dec 24 10:59:51 2012
然後重新命名為ramdisk.img
mv new.img.gz ramdisk.img
5. 好了, 有板子的就重新燒錄ramdisk.img文件, 沒板子的也可以運行模擬器了.
emulator -ramdisk ./ramdisk.img -system ./system.img -data ./userdata.img -sdcard (可選)
整理一下命令吧
cp ramdisk.img ramdisk.img.gz
gunzip ramdisk.img.gz
mkdir aaa
cd aaa
cpio -i -F ../ramdisk.img
(解壓完畢, 定制自己的根文件系統)
cpio -i -t -F ../ramdisk.img > list
cpio -o -H newc -O new.img < list
gzip new.img
mv new.img.gz ramdisk.img
cp ramdisk.img ../ramdisk.img (覆蓋原來的ramdisk, 可選)
emulator -ramdisk ./ramdisk.img -system ./system.img -data ./userdata.img