Создание модуля ядра для Android

Мне нужно добавить модуль FTDI USB в ядро ​​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 в магии версии. Как я могу построить модуль для ARMv7?

Попробуйте настроить CONFIG_CPU_V7=y в файле .config ядра.