Construyendo el módulo del kernel para Android
Necesito agregar el módulo FTDI USB al kernel de Android (Android 2.3.1, Linux 2.6.32), así que obtuve el kernel 2.6.32 e intenté construir el módulo:
<code>make modules ARCH=arm CROSS_COMPILE=arm-none-eabi- </code>
Pero cuando intenté hacer 'insmod ftdi_sio.ko', el mensaje de error era
<code>insmod: init_module 'ftdi_sio.ko' failed (Exec format error) </code>
En la salida de dmesg encontré esto.
<code>ftdi_sio: version magic '2.6.32.27 preempt mod_unload ARMv5 ' should be '2.6.32.27 preempt mod_unload ARMv7 ' </code>
Intenté agregar la bandera 'armv7-a' (como leí en los documentos de Android NDK)
<code>make modules ARCH=arm CROSS_COMPILE=arm-linux-androideabi- CFLAGS='-march=armv7-a -mfloat-abi=softfp' </code>
También intenté seguir compiladores cruzados: arm-none-eabi-, arm-eabi-, arm-linux-android-eabi-
Cada vez que el resultado fue el mismo: ARMv5 en la versión magic. ¿Cómo puedo construir el módulo para ARMv7?