如何在boot.img添加Init.d脚本支持

如何在boot.img添加Init.d脚本支持,第1张

①在手机上sys下是可以看到init.rc的,但是修改完之后重启就自动恢复到boot.img中的默认状态,所以我们修改的不是这个文件,而是boot.img中的init.rc

②修改boot.img

rom中是不可能直接看到init.rc这个文件的,因为它在boot.img中,如何解包打包boot.img呢?

答案是,用厨房吧......

打开厨房后,你会发现它本身就有为rom添加init.d支持的功能,当然你可以直接选择,然后一切自动完成,随后打包rom就OK了

如果想给自己进阶一下,研究到底如何手动添加这个功能,就接着看吧

第一步,解包boot.img,选择0进入高级 *** 作菜单后,

接下来选择20,再选择w,

提示解包结束后,进入BOOT_Extract/boot.img-ramdisk下,找到init.rc,接下来就是修改它了

修改方法

1、在init.rc的class_start区域中加入(搜索class_start default,在下面之前加入;如果没有这段,搜索class_start,在前面加入,注意是另起一行)

start sysinit

复制代码

2、在最下面(service区域中)加入(直接添加到末尾就行了)

service sysinit /system/bin/logwrapper /system/xbin/busybox run-parts /system/etc/init.d

disabled

oneshot

复制代码

保存后(这个过程中厨房不要关闭了,虽然关闭也没有事,但是一直开着方便 *** 作),用厨房选择b,回车,等待,搞定,从工作文件夹提出boot.img,线刷或者卡刷boot.img就行了

解包boot.img也可以不用厨房,不过很麻烦,这里就不说了。

同样的需要BUSYBOX的支持!就是你看ROM的SYSTEM/BIN 或者SBIN里面有没有 run-parts 这个文件

有的话就支持!没有的话自己找一个支持INIT.D的替换进去就可以了!

你可以通过创建开机启动脚本来实现,具体步骤如下:

1. 在安卓设备上打开文件管理器,找到/etc/init.d目录,如果没有这个目录,可以创建一个。

2. 在/etc/init.d目录下创建一个新的脚本文件,例如adb_boot.sh,并添加以下内容:

#!/system/bin/sh

/system/bin/adb start-server

3. 保存脚本文件,并给它设置可执行权限:

chmod 755 /etc/init.d/adb_boot.sh

4. 将脚本文件链接到系统启动目录:

ln -s /etc/init.d/adb_boot.sh /system/etc/rc.d/S99adb_boot

5. 重启设备,adb服务将在开机启动时自动启动。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11756835.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存