有時候要修改Android的ramdisk.img,如果每次都將那些命令都敲一遍,那確實有點煩,那有沒有快速簡單的方法呢?有,就是將這些命令放在
一起,建立了一個簡單的指令碼:
這個指令碼很簡單,直接將指令碼放到放有ramdisk.img的目錄下,運行就行了,
運行時,輸入1,會將ramdisk.img解壓出來,輸入2會將修改後的ramdisk重新打包成ramdisk.img。
root@o-2rl2:/home/percy# cat shell/ramdisk
#!/bin/bash
echo "Modify the ramdisk.img"
echo "1.Inflate the image"
echo "2.Create the image"
read -p "Choose:" CHOOSE
#case ${CHOOSE} in
#1)inflate();;
#2)create() ;;
#esac
if [ "1" = ${CHOOSE} ];then
echo "inflate()"
cp ramdisk.img ramdisk.cpio.gz
gzip -d ramdisk.cpio.gz
[ -e "tmp" ] ||{ echo "mkdir tmp"; mkdir tmp;}
cp ramdisk.cpio tmp/
cd tmp
cpio -i -F ramdisk.cpio
elif [ "2" = ${CHOOSE} ];then
echo "create()"
[ -e "tmp" ] && { cd tmp;cpio -i -t -F ../ramdisk.cpio | cpio -o -H newc -O ../ramdisk_new.cpio;echo "Create ramdisk_new.cpio finished ";}
fi
解壓、修改Android的ramdisk.img的手動方法:
將ramdisk.img複製一份到任何其他目錄下,將其名稱改為ramdisk.img.gz,並使用命令
gunzip ramdisk.img.gz
然後建立一個檔案夾,叫ramdisk吧,進入,輸入命令
cpio -i -F ../ramdisk.img
這下,你就能看見並操作ramdisk裡面的內容了。
根據自己的需要對裡面的內容修改之後,可以使用下列命令重新打包成鏡像
cpio -i -t -F ../ramdisk.img > list
cpio -o -H newc -O lk.img < list
目前的目錄下產生的lk.img就是我們的新鏡像了。