Compileren van kernel modules voor ARM

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • JackBol
  • Registratie: Maart 2000
  • Niet online

JackBol

Security is not an option!

Topicstarter
Hallo,


Ik probeer een paar kernel modules te compileren die mijn Synology niet standaard aan boord heeft (o.a. media, videodev en uvcvideo).

uname -a:
code:
1
Linux NAS 3.10.77 #8451 SMP Fri Dec 9 10:49:04 CST 2016 armv7l GNU/Linux synology_armada38x_ds116


Ik heb mijn .config goed staan en ik kan alle modules compileren die ik nodig heb, echter wanneer ik de modules wil laden krijg ik deze error:

code:
1
[  234.636985] media: version magic '3.10.77 SMP mod_unload modversions ARMv6 p2v8 ' should be '3.10.77 SMP mod_unload ARMv7 p2v8 '


Mijn kernel modules zijn niet dezelfde ARM architectuur als de geladen kernel.


Ik ben niet super bekend met compileren voor andere dingen dan x86, dus ik loop nu een beetje vast.
Ik heb al met CFLAGS het een en ander geprobeerd. O.a. "-march=armv7" maar dat heeft geen resultaat opgeleverd.

Iemand die me kan vertellen welke flags ik nodig heb voor het juist compileren van deze modules?


Edit: voor de volledigheid de modinfo van een module die bij de precompiled kernel kwam (usbcore) en een module die ik zelf heb gecompileerd:
code:
1
2
3
4
5
6
7
8
9
10
11
12
user@NAS:$ modinfo usbcore.ko
filename:       usbcore.ko
license:        GPL
depends:        usb-common
vermagic:       3.10.77 SMP mod_unload ARMv7 p2v8


user@NAS:$ modinfo media.ko
filename:       media.ko
license:        GPL
description:    Device node registration for media drivers
vermagic:       3.10.77 SMP mod_unload modversions ARMv6 p2v8

[ Voor 25% gewijzigd door JackBol op 14-01-2017 11:07 ]

De actuele opbrengst van mijn Tibber Homevolt


Acties:
  • 0 Henk 'm!

  • Thralas
  • Registratie: December 2002
  • Laatst online: 08:29
Weet je zeker dat je de juiste kernel config gebruikt? Heb je bijvoorbeeld ook gepoogd deze uit de draaiende kernel te extraheren (/proc/configz.gz als je mazzel hebt)?

Je hebt ook CONFIG_MODVERSIONS aanstaan terwijl de originele config dat niet heeft...


Al die architecture flags zouden afhankelijk van je target board CPU vanzelf goed moeten worden gezet, lijkt me.

Acties:
  • 0 Henk 'm!

  • JackBol
  • Registratie: Maart 2000
  • Niet online

JackBol

Security is not an option!

Topicstarter
Thralas schreef op zaterdag 14 januari 2017 @ 15:12:
Weet je zeker dat je de juiste kernel config gebruikt? Heb je bijvoorbeeld ook gepoogd deze uit de draaiende kernel te extraheren (/proc/configz.gz als je mazzel hebt)?

Je hebt ook CONFIG_MODVERSIONS aanstaan terwijl de originele config dat niet heeft...


Al die architecture flags zouden afhankelijk van je target board CPU vanzelf goed moeten worden gezet, lijkt me.
Ik heb helaas de originele .config niet (niet in /proc en niet in /boot). Ik heb wel de synology build environment geïnstalleerd om naar de CFLAGS te spieken, maar daarmee compileert hij nog steeds niet voor ARMv7...

De actuele opbrengst van mijn Tibber Homevolt


Acties:
  • 0 Henk 'm!

  • Thralas
  • Registratie: December 2002
  • Laatst online: 08:29
Heb je al in /arch/arm/configs gekeken? Ongetwijfeld is daar dan wel de juiste defconfig te vinden.

Kwestie van make <defconfig_name> en dan je riedeltje om de module te builden herhalen.