Kernel bauen

Aus Ubuntu-Forum Wiki

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Kompilieren und Installieren)
(Kompilieren und Installieren)
Zeile 72: Zeile 72:
Anschließend kann man die kompilierten Pakete auf folgende Weise installieren, vorausgesetzt, dass sich vorher keine früheren [[deb]] Pakete darin befanden:
Anschließend kann man die kompilierten Pakete auf folgende Weise installieren, vorausgesetzt, dass sich vorher keine früheren [[deb]] Pakete darin befanden:
-
  sudo dpkg -i linux-image*.deb linux-headers*.deb linux-source*.deb linux-doc*.deb linux-manual*.deb
+
  sudo dpkg -i linux-*.deb
Nach einem Neustart findet sich der Kernel als neuer Eingrag im [[Grub]]-Menü.
Nach einem Neustart findet sich der Kernel als neuer Eingrag im [[Grub]]-Menü.

Version vom 4. März 2008, 20:42 Uhr

Inhaltsverzeichnis


1 Warum selbst einen Kernel bauen

Da Ubuntu möglichst viel Hardware unterstützen soll, ist der Generic Kernel extrem überladen. Das kann das System langsam und instabil machen. Mit einem selbst gebauten Kernel umgeht man diese Probleme, indem man den Kernel genau auf sein System zuschneidet. Das erfordert zwar viel Übung, bis man einen guten Kernel gebaut hat, es rechnet sich aber in der Leistung und Stabilität. Außerdem gewinnt man einen Einblick in das Innenleben seines Linux'.

Den perfekten Kernel wird es nur in wenigen Ausnahmefällen geben. Man arbeitet sich eher an die perfekte Konfiguration schrittweiße heran. Also nicht an der Optionenfülle verzweifeln ;)

2 Vorbereitung

Man installiert folgende Pakete um den Kernel bearbeiten und kompilieren zu können:

sudo apt-get install build-essential kernel-package xmlto libncurses5-dev


Anschließend lädt man sich die neusten stable Kernel-Sources von Kernel.org, indem man auf den Link "F" klickt.

Das Heruntergeladene Archiv verschiebt man dann in das Verzeichnis /usr/src:

sudo mv /pfad/zum/paket/linux-*.tar.bz2 /usr/src/

wechselt in das Verzeichnis:

cd /usr/src

und entpackt es schließlich mit folgendem Befehl:

sudo tar -xfvj linux-*.tar.bz2


Damit die Kernel-Sources später auch von Programmen gefunden werden können, verlinkt man auf den entpackten Ordner mit einem symbolischen Link:

sudo ln -s Zielordner linux

Als Zielordner ist der eben entpackte Ordner anzugeben


Nun kann man mit:

cd linux

in den Kernel-Source Ordner hineinwechseln.

3 Konfiguration

4 Kompilieren und Installieren

Wenn die Konfiguration des Kernels überstanden ist, kann man damit beginnen den Kernel zu kompilieren.

Wenn man aus den gleichen Quellen zuvor einen Kernel kompiliert hat, sollte man das Verzeichnis von Überesten säubern:

sudo make-kpkg clean


Nun kann man mit folgendem Befehl ein deb Paket erstellen:

sudo make-kpkg --initrd --revision Kernelversion binary

Als Kernelversion gibt man die Versionsnummer des zu kompilierenden Kernels an, zB.: 2.6.24.3


Wenn man sich sehr gut auskennt, kann man auch den Parameter --initrd weglassen, allerdings müssen dann die Treiber für die Festplatten fest in den Kernel eingebunden werden. Das Wegfallen eines initramfs beschleunigt den Systemstart merklich.

Mehr zu initrd gibt es in Wikipedia


Der Kernel kompiliert nun eine Weile und wenn er fertig ist kann man die deb Pakete installieren. Diese liegen ein Stockwerk höher:

cd ..

Anschließend kann man die kompilierten Pakete auf folgende Weise installieren, vorausgesetzt, dass sich vorher keine früheren deb Pakete darin befanden:

sudo dpkg -i linux-*.deb


Nach einem Neustart findet sich der Kernel als neuer Eingrag im Grub-Menü.

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Forum
Navigation
Internes
Bearbeitungshilfen
Werkzeuge