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

9

Actualmente tengo un kernel personalizado y una ROM instalada en mi dispositivo Android. El kernel que estoy usando viene con una descarga por separado con módulos de kernel que debe instalar usted mismo 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?

Scott
fuente

Respuestas:

9

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

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

Si obtiene un error de "sistema de archivos de solo lectura", vuelva a montarlo /systemcomo lectura / escritura primero y luego empújelos. Usualmente puedes hacer esto con adb remount. Probablemente también podría colocarlos 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 núcleo en tiempo de ejecución, pero no se volvería a cargar si reinicia. Sin embargo, esto le permitirá omitir el reinicio inicial, ya que debería poder acceder a insmodtodos los módulos después de insertarlos en el dispositivo.

eldarerathis
fuente
No tengo la carpeta, ¿ /system/lib/modules/está bien crearla o eso significa que los módulos podrían cargarse en otro lugar?
Scott, el
Intenté crear los módulos de carpeta y poner un módulo allí y reiniciar y el módulo no se ha cargado. El módulo solo parece funcionar si lo insmod.
Scott
1
@Brady: Hm, no he visto ese antes. Supongo que podría agregar un montón de insmoddeclaraciones a su /init.rc, aunque eso es algo feo. ¿Qué tipo de dispositivo es este?
eldarerathis
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:?
Scott
@ Brady: Eso debería ser todo lo que necesitas hacer, que yo sepa. Aquí hay una referencia de la lista de correo donde alguien lo menciona (aparentemente tampoco pudo hacer que funcionara cuando los módulos estaban instalados /etcpor alguna razón, pero dice que /lib/modulesestaba bien).
eldarerathis