Linux 15.070 Themen, 107.540 Beiträge

Kernel kompilieren

Olaf Runge / 4 Antworten / Baumansicht Nickles

Hallo.
ich beabsichtige Änderungen im Kernel (SuSe 9.0) vorzunehmen und hab mir diverse Anleitungen dazu besorgt. Alle Anleitungen sagen, dass die Änderungen in dem Ordner /usr/src/linux zu erfolgen haben - dummerweise gibt es diesen Ordner bei mir nicht. Ich hab lediglich einen Ordner /usr/include/linux. Gebe ich hier die einschlägigen make-Befehle ein bekomme ich nur die Meldung \'no rule to make target\'. Wo steckt denn nun der Kernel und wo bekommt man die Programme xconfig und binutiles bzw. was hat es damit auf sich?
Gruss und Dank Olaf

bei Antwort benachrichtigen
Zaphod Olaf Runge „Kernel kompilieren“
Optionen

... du musst die Kernelquellen installieren ...
HTH, Z.

bei Antwort benachrichtigen
KarstenW Olaf Runge „Kernel kompilieren“
Optionen

Nachdem du die kernelsourcen installiert hast, kannst du in das verzeichnis /usr/src/kernelxxx wechseln und gibts den Befehl "make menuconfig" ein. Dazu muß auch die ncurses -Bibliothek installiert sein. Es gibt auch Konfigurationsprogramme für X , aber ich bevorzuge noch immer die Konsole.
Du kannst dich dann von der Onlinehilfe leiten lassen. Die ist bei meinem Debian fast perfekt.

Wichtig ist vorallem das du deinen rechner gut kennst (Chipsätze der Hauptplatine, der Netzwerkkarte...) Die Bezeichnungen stehen immer oben auf dem Chip.
Bei einem 2.6.x Kernel gibts du danach nur noch "make bzImage", "make modules", "make modules_install" ein.
Bei einem 2.4xKernel "make dep" "make clean" "make bzImage" , "make modules" "make modules_install".

Du kannst den Kern auch anders bezeichnen als bzImage ,z.B vmlinuz.
make ist ein Programm, welches anhand der MAKEFILES das Kompilieren des Kerns und der Module steuert.

Alle Treiber die du brauchst um auf die root-Partition (/) zuzugreifen mußt du monolitisch in den kern kompilieren. Alle anderen treiber kannst du als Kernelmodul
kompilieren.

Die kompilierten Kernelmodule werden nach /lib/modules/kernelxxx kopiert ("make module_install").

Du mußt natürlich auch die anderen Programmiertools installieren:
make
C-Kompiler gcc
binutiles (enthält einen Assembler und einen Linker)

Probiert es mal :-).

PS.: Den alten Kern solltest du nicht zu löschen !!

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
patsch Olaf Runge „Kernel kompilieren“
Optionen

so fern du SuSE linux 9.0 hast gibt es da auch einen hilfetext dazu, wo alles genau beschrieben ist. geh einfach ins hilfezentrum, gib kernel als suchwort ein und dann müsste da sowas stehen wie "Der Linux Kernel" da klickst du drauf. dann müsstest du eine genaue anleitung bekommen wie man so ein kernel update/änderung macht. im artikel konfiguration müsste alles drin stehen, aber es schadet nicht den rest auch noch zu lesen.
ich würde empfehlen, einen neuen kernel aus dem internet zu saugen z.b. 2.6.xxxxx,
denn du wirst wahrscheinlich noch mit dem standard kernel von suse9.0 arbeiten (das wäre 2.4.xxxxx und wenn du schon mal ein update gemacht hättest wäre da auch der ordner /usr/src/linux). einen neuen kernel kriegst du unter anderem bei www.rpmseek.com (kernelsource bei der suche eingeben). wenn du den 2.6kernel wie im hilfezentrum beschrieben installierst wird auch der ordner /usr/src/linux da sein (und nebenbei sind ein paar sicherheitslücken gestopft und du hast neuere hardware treiber usw.) während der installation kannst du auch die konfigurationen vornehmen.

mfg patsch

PS. ich stand vor ein paar tagen vor dem selben problem als ich mein linux mal auf den neuesten stand bringen wollte aber zum glück gibts ja das hilfezentrum.

bei Antwort benachrichtigen
Jesses3 patsch „so fern du SuSE linux 9.0 hast gibt es da auch einen hilfetext dazu, wo alles...“
Optionen

falls du vorhast nen Brenner in deinem Rechner mit k3b zu benutzen:

auf der k3b Homepage steht:
Do not use Kernel 2.6.8

also ich habs nicht ernsthaft versucht, aber meinen Brenner läuft unter 2.6.8.1 nicht auf anhieb... und ich denke mal das die von k3b sowas nicht ohne Grund auf ihre HP schreiben.

bei Antwort benachrichtigen