Я пытаюсь изменить файл init.rc на устройстве Nexus 7, которое имеет root-права. Я хочу внедрить простой модуль hello world до монтирования моего раздела /userdata/. Что я пробовал:
Извлек boot.img из устройства, извлек RAM-диск, внес изменения в init.rc (которые не работают), воссоздал boot.img (используя инструмент mkbootimg), а затем снова прошил его на устройстве.
Я поместил свой hello.ko, скомпилированный для ядра, в 2 места: одно — это текущий каталог, в котором находится init.rc, так что я могу сделать что-то вроде insmod hello.ko, и он его найдет. Во-вторых, я создал каталог /lib/modules/ и поместил его в этот
В моем init.rc я поместил insmod /lib/modules/hello.ko сразу после on_boot. Я также изменил init.flo.rc и поместил insmod до и после ./mount_all, который монтирует файловую систему. Однако я вообще не вижу загрузки моего модуля. Набор разрешений был 0644 (я тоже пытался с 0777)
Я создал init.d внутри /etc/folder и поместил loadmodule.sh, который выполняет insmod /lib/modules/hello.ko, и этот модуль загружается, но после завершения процесса загрузки.
В идеале я хочу сделать это прямо перед монтированием раздела /userdata/.
Может кто-то помочь мне с этим?
Мое устройство — Nexus 7, с flo_kernel и рутом, установлен busybox и т. д.