Kernel komplett neu kompilieren?!?

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
shangfu
Beiträge: 115
Registriert: 29.10.2003 13:46:43

Kernel komplett neu kompilieren?!?

Beitrag von shangfu » 05.01.2005 15:11:10

Hallo,

also ich habe gestern meinen neuen 2.6.8 Kernel für mein sarge System installiert. Ich muss dazu sagen, dass ich in diesen Dingen auf recht wackeligen Beinen stehe (<-sonst würd' ich auch kaum Hilfe benötigen :wink: ). Daher hier der Weg wie ich vorgegangen bin, wie es geklappt hat.

Den Kernel mit apt-get runtergeladen. Dann in /usr/src den Kernel entpackt und make menuconfig aufgerufen. Meine Konfigurationseinstellungen getroffen und dann make dep, make clean, make bzImage, make modules, make modules_install. Danach den neuen Kernel nach /boot kopiert und die lilo.conf angepasst. Soweit so gut hat alles geklappt.

Jetzt habe ich mir sagen lassen müssen ich habe etwas vergessen. Zeigen konnte man mir das anhand der .config in /usr/src/kernel-source-2.6.8/.config. Dort stehst bei mir so drin:

Code: Alles auswählen

... 
# Networking options 
# 
CONFIG_PACKET=m 
# CONFIG_PACKET_MMAP is not set 
... 
Damit mein Problem gelöst ist, muss es allerdings heissen:

Code: Alles auswählen

...
CONFIG_PACKET=y 
CONFIG_PACKET_MMAP=y 
...
Jetzt meine Frage: Wo kann ich in meinem ganzen Prozedere einsetzen um nicht noch einmal mit make menuconfig alle Einstellungen neu treffen zu müssen. Kann ich die .config in /usr/src/kernel-source-2.6.8 mit nem Texteditor editieren. Die beiden Parameter auf "y" setzen und dann ab make dep (siehe Reihenfolge oben) den neuen Kernel kompilieren?

Danke für Eure Hilfe.

fluid
Beiträge: 494
Registriert: 14.11.2003 21:52:49

Beitrag von fluid » 05.01.2005 15:23:04

Ja, du kannst die Datei mit dem Editor bearbeiten. Aber du könntest auch mit menuconfig (oder einer anderen GUI) die Datei bearbeiten und dann nur diesen einen Punkt anschalten. Die alte config wird mit menuconfig beim Start eingelesen, also bleiben alle Werte erhalten. Du musst nicht jedesmal alles neu einstellen. Das ist auch so bei einem Update auf einen neueren Kernel. Dann führst du ein `make oldconfig` aus und er fragt dich nur die in diesem Kernel neu hinzugekommenen Optionen ab. Du musst jetzt fortsetzen mit dem kompilieren, nur den Schritt make menuconfig hast du dir "erspart".

Noch eine Anmerkung: Mit dem Editieren von Hand wäre ich eher vorsichtig, auch wenn es theoretisch möglich ist, da bestimmte Optionen in der Kernelconfig andere Optionen erst ermöglichen. Die GUIs schalten diese abhängigen Optionen dann an oder aus und machen das ganze übersichtlich, aber im Textfile siehst du das dann ja nicht.

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22455
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 05.01.2005 17:56:32

Aber mal abesehen davon gerade als Anfänger würde ich mir doch Leben erst mal so einfach wie möglich machen. Man könnte sich einen Debiankernel installieren. Oder wenn man selberkompilieren will, dann kann man sich viel Ärger ersparen, indem man mit make-kpkg kompiliert.

Code: Alles auswählen

make-kpkg kernel-image.
bzw.

Code: Alles auswählen

make-kpkg --initrd kernel-image.
Da dann entstehende Debianpaket kann man dann mit

Code: Alles auswählen

dpkg -i kernel-paket.deb installieren. 
make-kpkg läßt sich auch mit Sourcen von http://www.kernel.org verwenden. Ist also nicht nur auf Debiansourcen beschränkt.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

hajoan
Beiträge: 17
Registriert: 22.11.2004 13:37:07

Beitrag von hajoan » 05.01.2005 20:42:07

Hierzu eine ausführliche Anleitung (englisch):
http://www.desktop-linux.net/debkernel.htm

Ist zwar für den 2.6er Kernel, aber die Schritte sind die selben.

Einen Fehler hat die Anleitung: Wenn Du EXTRAVERSION und rev nutzt hast Du das beides im Dateinamen drinne.
Ansonsten ist die Anleitung astrein :)

make-kpkg buildpackage -rev -20050104.1 kernel_image

Antworten