Kategorie auswählen
Übersicht Hilfe Kontakt
print article

Wie kann ich einen eigenen Kernel auf dem Root-Server installieren?

Dieser Artikel zeigt Ihnen, wie Sie einen eigenen Kernel auf Ihrem Root-Server installieren.

Vorbereitung:

Im Auslieferungszustand der Root-Server ist ein eigens von 1&1 erstellter Linux-Kernel installiert. Sie können auf Basis dieses Kernels einen eigenen bzw. aktuelleren Kernel auf Ihrem Server installieren.

Zur späteren Kompilierung des Linux-Kernels sind einige Entwicklerwerkzeuge notwendig, welche Sie je nach eingesetzter Linux-Distribution folgendermaßen installieren können:

yast -i make gcc # SuSE Linux
aptitude install make gcc # Debian oder Ubuntu Linux
yum install make gcc # Fedora oder CentOS

Bei anderen Linux-Distributionen konsultieren Sie bitte die entsprechende Dokumentation.

Erstellung des Kernels:

Zur Erstellung eines neuen Kernels muss zunächst der Kernelquelltext heruntergeladen werden. Die aktuelle Version wird jeweils auf http://kernel.org angezeigt. Bitte achten Sie darauf, die vollständige Version herunterzuladen, welche mit einem "F" (für "Full") verlinkt ist, und nicht nur den Patch zur letzten Version.

Unter Linux ist es üblich, den Quelltext unter /usr/src zu speichern. Das heruntergeladene Archiv und der entpackte Quelltext werden daher auch in dieser Anleitung unter /usr/src/ abgelegt.

~/test$

cd /usr/src/
wget http://kernel.org/pub/linux/kernel/v3.0/linux-3.5.XX.Y.tar.bz2

Den Kernelquelltext kann man nach dem erfolgreichen Herunterladen mit dem tar-Kommando entpacken.

tar -xjpf linux-3.5.XX.Y.tar.bz2

Damit nicht alle Einstellungen für den Kernel erneut eingegeben werden müssen, kann die alte Konfiguration als Basis genutzt werden.

Die Konfiguration des laufenden Kernels können Sie entweder aus /boot/config-3.5.XX.Y-YYYYMMDD oder /proc/config.gz erhalten. In jedem Fall muss die Konfiguration als Datei .config im Verzeichnis mit dem Kernelquelltext gespeichert werden.

cp /boot/config-3.5.XX.Y-YYYYMMDD /usr/src/linux-3.5.XX.Y/.config
zcat /proc/config.gz > /usr/src/linux-3.5.XX.Y/.config

Alternativ können Sie die Konfiguration auch direkt aus einem der von uns angebotenen Kernel von unserem Update-Server extrahieren. Dazu muss zunächst das Archiv mit dem gewünschten Kernel heruntergeladen und anschließend die benötigte Konfigurationsdatei entpackt werden. Bitte achten Sie beim Herunterladen des Archivs darauf, dass die gewählte Prozessorarchitektur (x86 oder AMD64) mit dem in Ihrem Server verbauten Prozessor übereinstimmt.

wget ftp://update.onlinehome-server.info/local-updates/kernel/linux-image-3.5.XX.Y-YYYYMMDD-rootserver.1_amd64.tgz

Der Inhalt des Archivs wird mit dem tar-Kommando angezeigt. Danach müssen wir lediglich die Konfigurationsdatei entpacken und wieder als .config in das Verzeichnis des Kernelquelltextes kopieren.

tar tzvf linux-image-3.5.XX.Y-YYYYMMDD-rootserver.1_amd64.tgz
tar xzvf linux-image-3.5.XX.Y-YYYYMMDD-rootserver.1_amd64.tgz ./boot/config-3.5.XX.Y-YYYYMMDD
cp ./boot/config-3.5.XX.Y-YYYYMMDD /usr/src/linux-3.5.XX.Y/.config

Nachdem alle Vorbereitungen getroffen wurden, wird die alte Konfiguration übernommen. Das Konfigurationssystem des Kernels fragt nun nur noch die neuen Optionen ab. Alle bereits getätigten Einstellungen werden übernommen.

cd linux-3.5.XX.Y
make oldconfig

Anschließend kann der neue Kernel kompiliert und installiert werden.

make all && make modules_install install

Der neue Kernel sowie ein symbolischer Link auf diesen namens vmlinuz sollte sich nun im Verzeichnis /boot finden.

Bootloader aktualisieren:

Je nach eingesetztem Bootloader (GRUB oder LILO) müssen noch weitere Einstellungen durchgeführt werden.

Bei LILO überprüfen Sie die Datei /etc/lilo.conf, ob der neue Kernel bereits eingetragen wurde und ergänzen ggf. einen entsprechenden Eintrag. Anschließend muss der Bootloader mit lilo -v aktualisiert werden.

Bei GRUB überprüfen Sie die Datei /boot/grub/menu.lst auf einen entsprechenden Eintrag. Im Gegensatz zu LILO sind dann keine weiteren Schritte nötig.

Bitte beachten Sie:
Nach einem Neustart des Systems können Sie mit dem Kommando uname -a überprüfen, ob der neue Kernel geladen wurde. Bei Problemen während des Neustarts ist es zu empfehlen, den Startvorgang über die serielle Konsole des Servers (sofern vorhanden) zu verfolgen.