撰于 阅读 88

在光猫等嵌入式设备上实现开机自动执行自定义脚本的方法

在光猫等嵌入式设备上,系统的 rootfs(根文件系统)通常位于只读分区。如果直接修改该分区内容,极有可能导致 U-Boot 启动失败,或触发 CRC 校验错误,造成设备无法正常启动。那么,如果我们希望在设备开机后自动执行自定义脚本或程序,应该如何实现呢?主要有两种思路:修改固件镜像和利用已有可写分区进行 Hook。本文主要介绍第二种方式。具体的分析过程此处略去,我们直接看实现步骤。首先,查看系统中正在运行的 Java 进程;其次,确认分区是否可写;接着,通过封装启动逻辑的方式来 Hook;最后,具体操作步骤包括备份 Hook 程序、启动线程/进程判断 Hook 程序是否被覆盖、执行 devpai 目录下的 hook.sh 脚本、执行原始程序等。部署 Hook 程序的步骤包括下载 Hook 程序到临时目录并解压、找到 Hook 点、复制对应 Hook 程序到该目录、创建 Hook 脚本等。通过这种方式,我们可以实现在设备开机后自动执行自定义脚本或程序,而无需修改只读分区,且对原系统无任何功能影响。


评论已关闭