kernel compile -> version magic

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Blokker_1999
  • Registratie: Februari 2003
  • Laatst online: 13:50

Blokker_1999

Full steam ahead

Topicstarter
Even terug naar mijn embedded systeem. Ik heb een kernel module waarvan de broncode niet vrij beschikbaar is (dankuwel hikvision) en de draaiende kernel is zo kaal dat we geen andere hardware kunnen toevoegen. Omdat ik dus vast zit met de kernel module moet ik dus een kernel zien te compileren die compatibel is met de module.

Nu heb ik een build omgeving opgezet en de juiste kernel (2.6.33.1) gecompileerd maar nu krijg ik bij het invoegen van de kernel volgende melding in dmesg

version magic '2.6.33.1 SMP mod_unload ATOM ' should be '2.6.33.1 SMP mod_unload modversions 686 '


Is dit de schuld van de version magic? En zo ja, hoe los ik dit correct op (kan dat wel zonder broncode van de module?)? Of is dit omdat ik een fout heb gemaakt bij het compileren en de kernel daarom met gcc-4.4 gecompileerd heb terwijl het origineel gebruik maakt van gcc-4.3 (heb dat ook maar net zelf opgemerkt, nadat de compile natuurlijk al gedaan had).

Volgende week sowieso misschien maar eens een mailtje sturen om originele kernel source en config te vragen aan fabrikant (dankuwel GPLv2).

No keyboard detected. Press F1 to continue.


Acties:
  • 0 Henk 'm!

  • gekkie
  • Registratie: April 2000
  • Laatst online: 29-09 19:12
Al geprobeerd om met modprobe te forcen ?

Welke string is van de module en welke van jouw kernel ?
(kortom wat levert een ~#modinfo kernelmodule.ko op ?)

Verschil is support voor versioning van modules en processor target (atom / 686) die je in je .config aan zou kunnen passen.
(geen idee bij een 2.6 kernel doe niet zoveel embedded :p, maar bij een 4.4 kernel met menuconfig te vinden onder "Enable loadable module support -> Module versioning support" en "Processor type and features -> Processor family"

Maar het lijkt me een uitdaging :)

[ Voor 34% gewijzigd door gekkie op 09-01-2016 19:38 ]


Acties:
  • 0 Henk 'm!

  • Thralas
  • Registratie: December 2002
  • Laatst online: 30-09 08:10
gekkie schreef op zaterdag 09 januari 2016 @ 19:25:
Welke string is van de module en welke van jouw kernel ?
De eerste is van de module, de tweede de running kernel.

En het verschil is inderdaad CONFIG_MODVERSIONS=y en daarnaast CONFIG_MATOM vs. CONFIG_M686:

code:
1
2
3
4
#elif defined CONFIG_MATOM
#define MODULE_PROC_FAMILY "ATOM "
#elif defined CONFIG_M686
#define MODULE_PROC_FAMILY "686 "


TS, heb je gecheckt of de huidige kernel met /proc/config.gz support is gecompileerd? Als dat het geval is kun je de originele config als reference gebruiken, en loop je in ieder geval niet tegen dit soort issues aan.

[ Voor 6% gewijzigd door Thralas op 10-01-2016 14:06 ]


Acties:
  • 0 Henk 'm!

  • Blokker_1999
  • Registratie: Februari 2003
  • Laatst online: 13:50

Blokker_1999

Full steam ahead

Topicstarter
Dat heb ik inderdaad gecontroleerd en die is spijtig genoeg niet aanwezig. Ze hebben dat ding echt zo kaal mogelijk gemaakt en alles wat niet nodig is er uit gesloopt. Heel de installatie neemt amper 100MB in beslag.

Ben ondertussen de kernel aan het hercompileren.

Maar sowieso volgende week aan mijn chef de toestemming vragen om met de fabrikant contact op te nemen om aan hun de broncode en .config te vragen.

No keyboard detected. Press F1 to continue.


Acties:
  • 0 Henk 'm!

  • Rainmaker
  • Registratie: Augustus 2000
  • Laatst online: 14-07-2024

Rainmaker

RHCDS

Werkt het met een modprobe --force-vermagic?
--force-vermagic
Every module contains a small string containing important
information, such as the kernel and compiler versions. If a module
fails to load and the kernel complains that the "version magic"
doesn't match, you can use this option to remove it. Naturally,
this check is there for your protection, so this using option is
dangerous unless you know what you're doing.

This applies to any modules inserted: both the module (or alias) on
the command line and any modules on which it depends.

We are pentium of borg. Division is futile. You will be approximated.


Acties:
  • 0 Henk 'm!

  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

Blokker_1999 schreef op zondag 10 januari 2016 @ 15:31:
Maar sowieso volgende week aan mijn chef de toestemming vragen om met de fabrikant contact op te nemen om aan hun de broncode en .config te vragen.
Haha, good luck:
http://sergei.nz/tag/hikvision/
Shame on you Hikvision for violating GPL as well, since when I bought the cameras there was no mention of the licence, and the camera definitely uses GPL licensed software. The GPL code requests were fallen to silent ears. This company is behaving like a greedy parasite, taking from community and not giving anything back.

ASSUME makes an ASS out of U and ME


Acties:
  • 0 Henk 'm!

  • Blokker_1999
  • Registratie: Februari 2003
  • Laatst online: 13:50

Blokker_1999

Full steam ahead

Topicstarter
Nee, hikvision heeft de module gecompileerd, maar niet de kernel, die komt van een andere partij. Zolang ik hun kernel (met eventuele patches) en hun .config heb zou ik, gebruikmakend van dezelfde gcc versie, in staat moeten zijn om dezelfde kernel te configureren maar dan met bijkomende drivers en mogelijkheden.

Maar hikvision speelt het spel inderdaad niet netjes. Ze bieden enkele modules precompiled aan op hun website (waarvan de meest recente voor kernel 2.6.23 geloof ik) en wil je een module voor een andere kernel dan vragen ze dat je hen de details van je kernel bezorgd alsook je compiler en dan gaan zij hem voor U compileren. Dit terwijl modinfo op de module aangeeft dat deze een dual licentie heeft BSD/GPL.

No keyboard detected. Press F1 to continue.

Pagina: 1