因为init和init.rc位于顶层目录/,执行mount后可以发现,
# mount
rootfs / rootfs ro,seclabel,size=1727452k,nr_inodes=431863 0 0
这个目录的文件系统类型是rootfs,并被挂载为了只读,因此即使关闭dm-verity后等不能往/下push文件,下面是我对init的调试方法,init,rc的调试方法在之前文章中,跟这个类似
解压boot.img和recovery.img后,会发现他们的ramdisk的根目录下都存在init,因此对init的改动不必编译system.img
具体方法:
修改了system/core/init/下的源码后,先到system/core/init/下执行mma init编译出init,
然后重新便一个boot.img或recovery.img,将编译好的img刷进手机,之后重启,这时手机中的init已经替换成了自己编的版本了。