源码位置:system/core/init/init.c
编译结果: 生成一个叫做init的可执行程序,放在手机的根目录下
这个init由ramdisk打包,所以呢。。。。你不要期望你可以从手机上删除这个程序,因为ramdisk本身就是虚拟的分区,每次启动时由kernel把它挂载到 root目录。所以没法删。
我就蠢蠢的犯了个错误。。。我用mmm命令单独编译了这个文件,然后生成了init,然后我用adb remount把/挂载可写。。然后我把旧的init删了,然后我把新的init 用adb push进去。。妈的,没有一点错误,用ls一看系统里就是新的init,可是重启手机后从log上发现,还是旧的。。。
思索了3秒钟。。。一下豁然开朗。。。哈哈
本文详细解析了Android系统中init进程的工作原理,包括其源码位置、编译过程及运行机制。作者通过亲身实践,尝试修改并替换init可执行文件,揭示了ramdisk特性对于系统稳定性的关键作用。
4518

被折叠的 条评论
为什么被折叠?



