pit234a
Well-Known Member
Hi.
Mein Laptop hat einen Wlan-Chip engebaut und ich versuche, den mal unter FreeBSD zu nutzen. Dabei taucht ein Problem auf, dessen Lösung hier:
http://forums.pcbsd.org/viewtopic.php?f=27&t=11827
beschrieben ist.
Da wird erklärt, daß es ein neueres Kernelmodul gibt und auch, wie ich dieses einbauen könnte.
Mein Problem ist, daß ich auf diesem Laptop, wo FreeBSD von eimen USB-Stick läuft, keine sources aufgespielt habe.
Also, das Vorgehen, das in dem Thread oben beschrieben wird, nämlich den Code des neuen Moduls nach /sys/contrib/dev/ath/ zu bringen und danach in /sys/modules/ath_hal/ ein make zu starten, das gelingt natürlich nicht, denn bei mir ist in /sys alles leer.
Nun möchte ich nicht unbedingt nur um dieses .ko zu bauen, den Rest auch installieren.
Ich habe aber Rechner, hier einen amd64, auf dem die sourcen installiert sind.
Deshalb die Fragen:
-kann ich ein solches Modul, das ich auf einem amd64 bauen lasse, in einem anderen Rechner, einem i386, einsetzen?
-kann ich auf einem amd64er ein Modul für einen i386er bauen lassen und wenn ja, wie?
edit:
ich möchte das noch ergänzen, denn inzwischen habe ich auch keinen Erfolg damit gehabt, die Kernel-Sourcen zu installieren und dann diesen neuen .ko zu aktivieren. Weder das beschriebene, einfache Kopieren nach /boot/kernel half, noch das make install nach dem make, wobei das .ko ja entstanden war. Durch das make install wird das neue File ebenfalls an /boot/kernel gesandt und außerdem noch ein kldxref /boot/kernel nachgeschickt. Trotzdem meldet sich dmesg noch immer mit der alten Version und dem gleichen Fehler.
Nun verstehe ich offensichtlich nicht das Konzept der festeingebauten und ladbaren Module.
kldstat zeigt mir von all diesen nämlich auch nichts an, kldload erklärt aber, daß sie bereits laufen. Deshalb vermute ich mal, daß kldstat nur nachträglich geladene Module anzeigt und nur die mit kld(un)load gest(oppt)artet werden können. Das würde mir erklären, daß es keinen Erfolg haben kann, nur das Modul zu tauschen. In einem solchen Fall müsste ich wohl mit den veränderten Kernel-Sourcen diesen neu kompilieren, oder einen Weg finden, nicht das feste Modul zu nehmen, sondern das nachträglich erstellte manuell zu laden.
Bitte verbessert mich und klärt mich vielleicht mal auf.
Mein Laptop hat einen Wlan-Chip engebaut und ich versuche, den mal unter FreeBSD zu nutzen. Dabei taucht ein Problem auf, dessen Lösung hier:
http://forums.pcbsd.org/viewtopic.php?f=27&t=11827
beschrieben ist.
Da wird erklärt, daß es ein neueres Kernelmodul gibt und auch, wie ich dieses einbauen könnte.
Mein Problem ist, daß ich auf diesem Laptop, wo FreeBSD von eimen USB-Stick läuft, keine sources aufgespielt habe.
Also, das Vorgehen, das in dem Thread oben beschrieben wird, nämlich den Code des neuen Moduls nach /sys/contrib/dev/ath/ zu bringen und danach in /sys/modules/ath_hal/ ein make zu starten, das gelingt natürlich nicht, denn bei mir ist in /sys alles leer.
Nun möchte ich nicht unbedingt nur um dieses .ko zu bauen, den Rest auch installieren.
Ich habe aber Rechner, hier einen amd64, auf dem die sourcen installiert sind.
Deshalb die Fragen:
-kann ich ein solches Modul, das ich auf einem amd64 bauen lasse, in einem anderen Rechner, einem i386, einsetzen?
-kann ich auf einem amd64er ein Modul für einen i386er bauen lassen und wenn ja, wie?
edit:
ich möchte das noch ergänzen, denn inzwischen habe ich auch keinen Erfolg damit gehabt, die Kernel-Sourcen zu installieren und dann diesen neuen .ko zu aktivieren. Weder das beschriebene, einfache Kopieren nach /boot/kernel half, noch das make install nach dem make, wobei das .ko ja entstanden war. Durch das make install wird das neue File ebenfalls an /boot/kernel gesandt und außerdem noch ein kldxref /boot/kernel nachgeschickt. Trotzdem meldet sich dmesg noch immer mit der alten Version und dem gleichen Fehler.
Nun verstehe ich offensichtlich nicht das Konzept der festeingebauten und ladbaren Module.
kldstat zeigt mir von all diesen nämlich auch nichts an, kldload erklärt aber, daß sie bereits laufen. Deshalb vermute ich mal, daß kldstat nur nachträglich geladene Module anzeigt und nur die mit kld(un)load gest(oppt)artet werden können. Das würde mir erklären, daß es keinen Erfolg haben kann, nur das Modul zu tauschen. In einem solchen Fall müsste ich wohl mit den veränderten Kernel-Sourcen diesen neu kompilieren, oder einen Weg finden, nicht das feste Modul zu nehmen, sondern das nachträglich erstellte manuell zu laden.
Bitte verbessert mich und klärt mich vielleicht mal auf.
Zuletzt bearbeitet: