我正在尝试修改已植根的 Nexus 7 设备上的 init.rc 文件。我想在挂载 /userdata/ 分区之前安装一个简单的 hello world 模块。我尝试过的事情:
从设备中提取 boot.img,提取 ramdisk,对 init.rc 进行更改(不起作用),重新创建 boot.img(使用 mkbootimg 工具),然后再次将其刷新到设备上
我已经将为内核编译的 hello.ko 放置在 2 个位置:一个是放置 init.rc 的当前目录,这样我就可以执行类似 insmod hello.ko 的操作,它会找到它。其次,我创建了 /lib/modules/ 目录并将其放在其中
在我的 init.rc 中,我在 on_boot 之后放置了 insmod /lib/modules/hello.ko。我还更改了 init.flo.rc 并将 insmod 放置在 ./mount_all 之前和之后,它会挂载文件系统。但是,我根本看不到我的模块加载。权限集是 0644 (我也尝试过 0777 )
我在 /etc/folder 中创建了 init.d 并放置了一个 loadmodule.sh ,它执行 insmod /lib/modules/hello.ko 并且该模块加载但一旦启动过程完成。
理想情况下,我想在安装 /userdata/ 分区之前立即执行此操作。
有人可以帮我弄这个吗?
我的设备是 Nexus 7,安装了 flo_kernel 和 root、busybox 等。