Сборка модуля ядра для Android

Мне нужно добавить USB-модуль FTDI в ядро ​​Android (Android 2.3.1, Linux 2.6.32), поэтому я получил версию 2.6.32. ядро и попытался собрать модуль:

make modules ARCH=arm CROSS_COMPILE=arm-none-eabi-

Но когда я попытался выполнить 'insmod ftdi_sio.ko', сообщение об ошибке было

insmod: init_module 'ftdi_sio.ko' failed (Exec format error)

В выводе dmesg я нашел это

ftdi_sio: version magic '2.6.32.27 preempt mod_unload ARMv5 ' should be '2.6.32.27 preempt mod_unload ARMv7 '

Я попытался добавить флаг 'armv7-a' (как я читал в документации Android NDK)

make modules ARCH=arm CROSS_COMPILE=arm-linux-androideabi- CFLAGS='-march=armv7-a -mfloat-abi=softfp'

Кроме того, я пробовал следующие кросс-компиляторы: arm-none-eabi-, arm-eabi-, arm-linux-android-eabi-

Каждый раз результат был один и тот же - ARMv5 в версии magic. Как мне собрать модуль для ARMv7?

6
задан Ivan 6 April 2012 в 09:15
поделиться