Como instalar o módulo do kernel para android?

9

Atualmente, tenho um kernel e uma ROM personalizados instalados no meu dispositivo Android. O kernel que estou usando vem com um download separado com os módulos do kernel que você deve instalar se quiser. No entanto, não há instruções sobre como fazê-lo, também não consigo encontrar nenhum tutorial on-line.

Então, eu tenho vários .koarquivos, o SDK do Android e meu dispositivo Android com raiz. Como instalo esses módulos do kernel?

Scott
fonte

Respostas:

9

Use adbpara pressioná-los e /system/lib/modules, em seguida, reinicie. O Android deve carregá-los na inicialização, desde que estejam nesse diretório, acredito.

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

Se você receber um erro "sistema de arquivos somente leitura", remonte /systemcomo leitura / gravação primeiro e pressione-os. Geralmente você pode fazer isso com adb remount. Você provavelmente também pode colocá-los em um cartão SD e, em seguida, usar um gerenciador de arquivos para copiá-los, se desejar.

Você também pode usar insmodpara carregar manualmente um módulo no kernel em tempo de execução, mas ele não seria recarregado se você reiniciar. Isso permitiria que você pulasse a reinicialização inicial, pois você poderá insmodtodos os módulos depois de empurrá-los para o dispositivo.

eldarerathis
fonte
Não tenho a pasta, /system/lib/modules/está tudo bem em criá-la ou isso significa que os módulos podem ser carregados em outro lugar?
Scott Scott
Eu tentei criar os módulos de pasta e colocar um módulo lá e reiniciei e o módulo não foi carregado. O módulo parece funcionar apenas se eu o modificar.
Scott
11
@Brady: Hm, não vi isso antes. Suponho que você possa adicionar várias insmoddeclarações às suas /init.rc, embora isso seja meio feio. Que tipo de dispositivo é esse?
Eldarerathis 15/09
galaxy tab 10.1 16GB wifi. Não me importo de editar init.rc. Se estiver, edito simplesmente init.rc em um editor de texto e, no final, adiciono insmod /path/to/module.ko:?
Scott Scott
@ Brad: Isso deve ser tudo o que você precisa fazer, tanto quanto eu sei. Aqui está uma referência de lista de discussão onde alguém menciona (ele também aparentemente não conseguiu fazê-lo funcionar quando os módulos estavam /etcpor algum motivo, mas ele diz que /lib/modulesestava bem).
Eldarerathis