原文 http://tieba.baidu.com/p/4201561230
续:
去掉ramdisk.img
由于ramdisk.img是只读的,有时候想修改下根目录下的文件还得重新打包,不好玩。打算把android x86成现在的ubuntu一样,全部系统、目录直接放根目录好了。看看有时间,还能整体打成squashfs包,做成ubuntu wubi式启动也挺好。
1、解包ramdisk.img,直接解压在/android目录就行了。
zcat ramdisk.img | cpio -id > /dev/null
2、解包initrd.img,自己找地方建个文件夹及,例如installer,解压进去就好
zcat initrd.img | cpio -id > /dev/null
3、 编辑init,修改check_root()函数,如下,把查找ramdisk.img,system.img,system.sfs的语句通通干掉好了。
check_root()
{
if [ "`dirname $1`" = "/dev" ]; then
[ -e $1 ] || return 1
blk=`basename $1`
[ ! -e /dev/block/$blk ] && ln $1 /dev/block
dev=/dev/block/$blk
else
dev=$1
fi
try_mount ro $dev /mnt || return 1
if [ -d /mnt/$SRC/system ]; then
remount_rw
mount --bind /mnt/$SRC/ /android
cd /android
else
return 1
fi
mkdir mnt
echo " found at $1"
rm /sbin/mke2fs
hash -r
}
4、好了,重新打包
mkbootfs installer | gzip -9 > initrd.img
mkbootfs是安卓的打包工具,编译安卓x86时会编译出来,百度mkbootfs也可下载。
5、编辑init.rc,就是原来ramdisk.img里的,现在已经解压出来了,直接编辑就好。在on post-fs段下把
“mount rootfs rootfs / ro remount”改成“mount rootfs rootfs / rw remount”好了,再加上一行“mount -o remount,rw /data”,保险。
不改的话启动安卓后挂载的data分区是只读的,没法正常启动了。
重启,完成。以后想改啥改啥,不用来回解包,打包了。
续:
去掉ramdisk.img
由于ramdisk.img是只读的,有时候想修改下根目录下的文件还得重新打包,不好玩。打算把android x86成现在的ubuntu一样,全部系统、目录直接放根目录好了。看看有时间,还能整体打成squashfs包,做成ubuntu wubi式启动也挺好。
1、解包ramdisk.img,直接解压在/android目录就行了。
zcat ramdisk.img | cpio -id > /dev/null
2、解包initrd.img,自己找地方建个文件夹及,例如installer,解压进去就好
zcat initrd.img | cpio -id > /dev/null
3、 编辑init,修改check_root()函数,如下,把查找ramdisk.img,system.img,system.sfs的语句通通干掉好了。
check_root()
{
if [ "`dirname $1`" = "/dev" ]; then
[ -e $1 ] || return 1
blk=`basename $1`
[ ! -e /dev/block/$blk ] && ln $1 /dev/block
dev=/dev/block/$blk
else
dev=$1
fi
try_mount ro $dev /mnt || return 1
if [ -d /mnt/$SRC/system ]; then
remount_rw
mount --bind /mnt/$SRC/ /android
cd /android
else
return 1
fi
mkdir mnt
echo " found at $1"
rm /sbin/mke2fs
hash -r
}
4、好了,重新打包
mkbootfs installer | gzip -9 > initrd.img
mkbootfs是安卓的打包工具,编译安卓x86时会编译出来,百度mkbootfs也可下载。
5、编辑init.rc,就是原来ramdisk.img里的,现在已经解压出来了,直接编辑就好。在on post-fs段下把
“mount rootfs rootfs / ro remount”改成“mount rootfs rootfs / rw remount”好了,再加上一行“mount -o remount,rw /data”,保险。
不改的话启动安卓后挂载的data分区是只读的,没法正常启动了。
重启,完成。以后想改啥改啥,不用来回解包,打包了。