Frage

Ich versuche, ein Tutorial folgen einem benutzerdefinierten USB-Treiber in Linux zu erstellen, und ich hoffe, dass dieses Ding auf meinem Eee PC mit Ubuntu Eee mit g ++ zu entwickeln. Leider das Tutorial ich die Linux / module.h Header-Datei folgen müssen. Von dem, was ich verstehe, muss ich den Kernel kompilieren, um diese an die Arbeit. Ich habe nie einen Kernel vor und alle Anweisungen zusammengestellt I sind für den Desktop Ubuntu finden.

ich diese auf meinem Eee tue, da ich zusätzliche Kredite in einer Klasse erhalten, wenn ich dies tun kann und es in einem Klasse-Projekt verwenden.

Die Tutorials, die ich folgende bin hier: http://www.linuxjournal.com/article/ 7353 und hier: http://www.linuxjournal.com/article/4786

War es hilfreich?

Lösung

Die meisten (alle?) Der großen Linux-Distributionen nicht nur den Linux-Kernel verteilen, sondern auch zahlreiche Patches für sie gelten. Wodurch die Stabilität zu verbessern und das Hinzufügen von vielen Features. So Sie Ubuntu Paketsystem greifen nach unten Ubuntus gepatchten Kernel-Quelle verwenden, werden Sie wollen!

Sie wahrscheinlich tun nicht müssen den Kernel neu zu erstellen! Die meisten wahrscheinlich, brauchen Sie nur das Kernel-Header-Paket für Ihren aktuellen Kernel Ihrer USB-Treiber zu kompilieren. Vorausgesetzt, dass Sie es als Kernel-Modul erstellen, können Sie laden es dann mit modprobe oder insmod. (Lsmod & rmmod sind ebenfalls nützlich.)

Wenn Sie müssen den Kernel neu zu erstellen, na ja, es ist einfach. ( So einfach, ich meine Kernel-Hardware zu testen baut.) Es gibt viele Kernel Gebäude HOWTO auf dem Netz. Sie sind in eine Menge Spaß zu versuchen, herauszufinden, welche Möglichkeiten Sie als Module möchten, was Sie wollen in kompiliert, und was Sie wollen auszulassen. Sie können den Kernel kleiner machen, aber Sie könnten einige dieser Sachen verpassen.



Geänderte hinzuzufügen:

  
    

Ich erinnere mich an "sudo apt-get install linux-headers-eeepc," brauche ich mehr als das? Wenn nicht, dann, wenn diese Header sind, weil mein Testcode, der „linux / module.h“ nicht kompilieren

enthält   

sollte ein Weg sein, um alle Dateien aufzulisten in dem linux-Header-eeepc Paket. Ich komme aus der RedHat / RPM Welt. Aber ich würde vermuten, so etwas wie --contents linux-headers dpkg -eeepc oder dpkg - -listfiles linux-headers-eeepc . Sie können mit diesem ein wenig spielen um.

Alternativ Beurteilung durch http://packages.ubuntu.com/ , Pakete wie linux-headers -2.6.27-7 die Datei /usr/src/linux-headers-2.6.27-7/include/linux/module.h enthalten. Sie könnten also nur umschauen wollen in / usr / src / * / include / linux / module.h.

Alternativ versuchen:

% finden linux / module.h | grep 'linux / module.h $'

oder

% finden / -path '* / linux / module.h'

(Das finden kann eine Weile dauern ...)

Andere Tipps

Von hier: Ubuntu Kernel / Kompilieren Anfangen: sudo apt-get Linux-Kernel-devel fakeroot build-essential makedumpfile installieren

Wahrscheinlich habe gerade gelesen, dass Link .

Mehr in der Tiefen Details hier

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top