Ich möchte Kernelmodul-Programmierung machen. Aber alle Quellen sagen, dass Linux-Distributionen den ursprünglichen Kernel patchen und dass Modulcodes möglicherweise nicht auf ihnen laufen. Wenn das stimmt, was soll ich tun.Ich habe versucht, lfs mit ubuntu zu machen, aber Fehler traten bei fast jedem Schritt auf. Ich sah irgendwo, dass Arch, Gentoo, Ubuntu Server ohne Pakete während der Installation, Slackware, Susestudio etc. sind Vanille-Distributionen. Kann ich sie also für die Modulprogrammierung verwenden?
Bitte denken Sie daran, dass ich eine GUI in der Distribution brauche.
Kann dies befolgt werden?
PS: Ich habe einen Intel Core i3 Prozessor und werde die Distributionen auf der VMware Workstation laufen lassen.
Wenn Sie Kernelmodule programmieren wollen, ist es egal, welche Distribution Sie wählen. Sie müssen in der Lage sein, den Kernel von der Quelle neu zu kompilieren und einen neuen Kernel selbst zu installieren. Selbst für ein Kernelmodul sollten Sie in der Lage sein, den neuesten Kernel zu kompilieren und dagegen zu entwickeln, sonst können Sie das Modul nicht in mainline übernehmen.
Eine Alternative, wenn das Modul nicht freigegeben werden soll, ist die Entwicklung gegen eine bestimmte Kernel-Version. In diesem Fall sollte die Auswahl der Verteilung basierend auf dem Ziel für das Modul ausgewählt werden - nicht der Entwicklungsumgebung.
Wählen Sie also eine Distribution basierend auf was Sie mögen: 1) Desktops - (GNOME, KDE, andere) 2) Benutzerfreundlichkeit - (Ubuntu, Fedora, etc vs Arch, Gentoo) 3) Schneide vs Stable (Arch, Fedora vs Ubuntu vs Debian, Red Hat, CentOS)
Dann geh zu kernelbewublies , um ein wenig über die Kernel-Programmierung zu lernen (wo man die Quelle bekommt, wie man sie kompiliert) . Dann lies Greg Kroah-Hartmans exzellentes Buch über Linux-Gerätetreiber. Die Schnittstellen werden sich geändert haben (es wurde über Version 2.6 des Kernels geschrieben und Version 3.6 wird gerade bearbeitet). Es kann online hier
gefunden werdenSie sollten auch lernen, wie Sie git verwenden. Und noch wichtiger, wie man git benutzt, um einen Patch zu generieren und ihn per E-Mail zu versenden, ohne ihn zu verderben! Ich habe keine Website dafür, aber ein bisschen Googlen wird helfen.
Tags und Links linux kernel-module lfs linux-distro