¿Cómo cargar el módulo del kernel con Magisk root pero sin un kernel personalizado?

Me está costando mucho encontrar algo sobre esto en Google que no sea de 2011. Tengo un Samsung Galaxy S10+. Lo he rooteado con Magisk sin TWRP, es decir, sin recuperación personalizada o kernel personalizado. Quiero actualizaciones OTA sin tener que borrar todo en mi teléfono solo para actualizar, por eso uso Magisk sin TWRP.

Lo que necesito son controladores para mi adaptador WiFi TP-Link TL-WN7220. Sé que para poder instalar un controlador en el kernel, eso significa un kernel personalizado y luego no podrá tener actualizaciones OTA, lo que anula el propósito anterior.

Mi pregunta es, ¿hay alguna forma de cargar un controlador, incluso si es temporal, como cargar un módulo del kernel en Linux? En Linux, esto no requiere un reinicio, ¿se puede hacer de manera similar en Android, por lo que mantendré mi kernel original pero aún podré ejecutar el adaptador WiFi?

Respuestas (1)

Sé que para poder instalar un controlador en el kernel, eso significa un kernel personalizado y luego no podrá tener actualizaciones OTA, lo que anula el propósito anterior.

No puede tener actualizaciones OTA con Magisk instalado porque flashear Magisk modifica bootla partición en la que vive el binario del kernel. Antes de la actualización OTA, deberá desinstalar Magisk, que restaurará el archivo original boot.img, respaldado en formato /data. Así que por el momento puedes hacer lo que quieras con kernel. Eso se revertirá con la desinstalación de Magisk.

¿Hay alguna forma de cargar un controlador, incluso si es temporal, como cargar un módulo del kernel en Linux?

Sí, puede cargar módulos del kernel tal como lo hace en Linux. Pero para eso, debe reconstruir el kernel con el módulo requerido, o debería ser compatible con el kernel instalado si se construye por separado.

El kernel instalado debe construirse con CONFIG_MODULES=yel fin de cargar módulos. Asegúrese de que la versión del árbol de código fuente del kernel o la de los archivos de encabezado coincidan con la versión del kernel instalada. De lo contrario, las dependencias pueden romperse y provocar Unknown symbol in moduleerrores. Además, si el núcleo está firmado ( CONFIG_MODULE_SIG_FORCE), los módulos deben firmarse con la misma clave para evitar required keys not availableerrores.