¿Cómo instalar el módulo kernel para Android?

Actualmente tengo un kernel y una ROM personalizados instalados en mi dispositivo Android. El núcleo que estoy usando viene con una descarga separada con módulos del núcleo que usted mismo debe instalar si lo desea. Sin embargo, no se dan instrucciones sobre cómo hacerlo, tampoco puedo encontrar ningún tutorial en línea sobre cómo hacerlo.

Así que tengo un montón de .koarchivos, Android SDK y mi dispositivo Android rooteado. ¿Cómo instalo estos módulos del núcleo?

Respuestas (1)

Use adbpara empujarlos a /system/lib/modules, luego reinicie. Creo que Android debería cargarlos en el arranque siempre que estén en ese directorio.

shell> adb push module.ko /system/lib/modules/
shell> adb reboot

Si obtiene un error de "sistema de archivos de solo lectura", vuelva a montar /systemcomo lectura/escritura primero, luego empújelos. Por lo general, puede hacer esto con adb remount. Probablemente también podría ponerlos en una tarjeta SD y luego usar un administrador de archivos para copiarlos si lo desea.

También puede usar insmodpara cargar manualmente un módulo en el kernel en tiempo de ejecución, pero no se volverá a cargar si reinicia. Sin embargo, esto le permitiría omitir el reinicio inicial, ya que debería poder acceder a insmodtodos los módulos después de insertarlos en el dispositivo.

No tengo la carpeta /system/lib/modules/, ¿está bien crearla o eso significa que los módulos podrían cargarse en otro lugar?
Intenté crear los módulos de la carpeta y colocar un módulo allí, reinicié y el módulo no se cargó. El módulo solo parece funcionar si lo instalo.
@Brady: Hm, no he visto eso antes. Supongo que podría agregar un montón de insmoddeclaraciones a su /init.rc, aunque eso es un poco feo. ¿Qué tipo de dispositivo es este?
galaxy tab 10.1 16GB wifi. No me importa editar init.rc. Si lo estoy, simplemente edito init.rc en un editor de texto y al final agrego: insmod /path/to/module.ko?
@Brady: Eso debería ser todo lo que necesitas hacer, hasta donde yo sé. Aquí hay una referencia de la lista de correo donde alguien lo menciona (aparentemente tampoco pudo hacer que funcionara cuando los módulos estaban /etcpor alguna razón, pero dice que /lib/modulesestaba bien).
ok los módulos están ahora en /lib/modules/Edito mi init.rcy al final uso el comando insmod. Se guarda bien, pero cuando reinicio, los módulos no se cargaron y los cambios en init.rc desaparecieron...
también desde el reinicio los módulos han desaparecido de /lib/modules
@Brady: Eso suena casi como si estuvieras bloqueado por NAND, aunque no estoy seguro de cómo tendrías una ROM/kernel personalizado si lo estuvieras. Podría intentar ponerlos en /data/localsu tarjeta SD, tal vez, y insmodenviarlos desde allí, pero tendría que hacerlo manualmente (o tal vez usar gScript o algo así) si los init.rccambios no se mantienen...
Gracias por toda su ayuda en esto. Buscaré sobre gscript. Si me quedo atascado, comenzaré una nueva pregunta.
Uno de mis dispositivos los tiene en el /system/vendor/modules/directorio.