[linux-l] Unresoved Symbols bei slackware
Jan-Benedict Glaw
jbglaw at lug-owl.de
Do Mär 2 15:47:54 CET 2006
On Thu, 2006-03-02 15:23:57 +0100, Winfried Wendler <W.Wendler at Online.de> wrote:
> ich habe ein Problem mit dem Übersetzen eines Kernelmoduls. Unter SuSE laeufs,
> unter Slackware, wo es laufen soll, klappt es nicht. Das Uebersetzen
> funktioniert, aber beim Landen des Modules bleiben die Referenzen unaufgeloest
Hast Du das Modul auch mit der Slackware-Installation kompiliert oder
auf SuSE kompiliert und dann auf das Slackware-System kopiert?
Letzteres geht nämlich nicht, solange beide Systeme nicht exakt
denselben Kernel benutzen.
> "insmod ti_usb"
> meldet unresolved symbols. Zum Beispiel das Symbol
> "usb_deregister_Rsmp_2f9423f1"
>
> In in /proc/ksyms finde ich bei:
> SuSE: c2340230 usb_deregister_R8f12827e [usbcore]
> Slack: c893d270 usb_deregister [usbcore]
>
> Ich denke, der Grund ist, dass bei Slackware die Labels kein Suffix besitzen,
> beim Uebersetzen des Moduls aber ein solcher Suffix erzeugt wird.
Das Modul muß mit den passenden Kernel-Header-Files kompiliert werden;
die beinhalten auch die komplette Konfiguration des Kernels. Hier ist
ein Unterschied bei der Konfiguration: Das Modul ist mit
CONFIG_MODVERSION=y gebaut worden, aber der Slackware-Kernel ohne. Das
_kann_ nicht laufen.
> Ich habe die Optionen beider Distributionen beim Kernelkompilieren verglichen,
> aber das Richtige noch nicht gefunden. Hat jemand eine Idee, welche Option ich
> beim Uebersetzen oder Linken setzen muss, damit es klappt?
Du mußt das Modul mit den Kernel-Header-Files des (laufenden)
Slackware-Kernels kompilieren; am einfachsten direkt auf dem
Slackware-System. Wenn Du zwingend auf dem SuSE-System bauen mußt,
dann mußt Du die Kernel-Sourcen (bzw. zumindest die Kernel-Headers)
des Slackware-Systems vorher kopieren.
MfG, JBG
--
Jan-Benedict Glaw jbglaw at lug-owl.de . +49-172-7608481 _ O _
"Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg _ _ O
für einen Freien Staat voll Freier Bürger" | im Internet! | im Irak! O O O
ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : signature.asc
Dateityp : application/pgp-signature
Dateigröße : 189 bytes
Beschreibung: Digital signature
URL : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20060302/7c7f12e1/attachment.sig>
Mehr Informationen über die Mailingliste linux-l