Сборка модуля ядра для Android
Мне нужно добавить модуль FTDI USB в ядро Android (Android 2.3.1, Linux 2.6.32), поэтому я получил ядро 2.6.32 и попытался собрать модуль:
<code>make modules ARCH=arm CROSS_COMPILE=arm-none-eabi- </code>
Но когда я попытался сделать «insmod ftdi_sio.ko», сообщение об ошибке было
<code>insmod: init_module 'ftdi_sio.ko' failed (Exec format error) </code>
В выводе dmesg я нашел это
<code>ftdi_sio: version magic '2.6.32.27 preempt mod_unload ARMv5 ' should be '2.6.32.27 preempt mod_unload ARMv7 ' </code>
Я пытался добавить 'armv7-a'; флаг (как я читал в Android NDK документации)
<code>make modules ARCH=arm CROSS_COMPILE=arm-linux-androideabi- CFLAGS='-march=armv7-a -mfloat-abi=softfp' </code>
Также я попробовал следующие кросс-компиляторы: arm-none-eabi-, arm-eabi-, arm-linux-android-eabi-
Каждый раз результат был один и тот же - ARMv5 в версии magic. Как я могу собрать модуль для ARMv7?