Kernel bauen und installieren auf Mandriva

5 Kernel bauen
Um den Kernel zu bauen, führe einfach diesen Befehl aus:
make rpm
Sei geduldig: Die Kernel-Kompilierung kann je nach gewählter Konfiguration und Prozessor mehrere Minuten bis mehrere Stunden dauern. “Kernel” bezeichnet hier den Linux-Kernel; ein RPM ist ein Paketformat für Mandriva.
Wichtig: Sorge dafür, dass bereits alle Build-Abhängigkeiten installiert sind (gcc, make, rpm-build, usw.).
6 Neuen Kernel installieren
Nach einem erfolgreichen Build wurden ein src.rpm und ein binäres rpm erzeugt. Das src.rpm findest du in /usr/src/rpm/SRPMS/. Namen prüfen mit:
ls -l /usr/src/rpm/SRPMS/
Auf meinem System hieß es kernel-2.6.18.3default-1.src.rpm.
Die fertigen RPM-Pakete liegen in einem Architektur-Unterverzeichnis, z. B. /usr/src/rpm/RPMS/i386/, /usr/src/rpm/RPMS/i586/, /usr/src/rpm/RPMS/i686/ oder /usr/src/rpm/RPMS/x86_64/. Prüfe den Ordner:
ls -l /usr/src/rpm/RPMS/i386/
Auf meinem System war das Paket kernel-2.6.18.3default-1.i386.rpm.
Installiere das Kernel-RPM so:
cd /usr/src/rpm/RPMS/i386/
rpm -ivh kernel-2.6.18.3default-1.i386.rpm
Hinweis: Du kannst dieses RPM auf andere Mandriva-Rechner übertragen und dort genau so installieren. Dann ist keine erneute Kompilierung nötig.
Als Nächstes erzeugen wir ein Ramdisk / Initramfs für den neuen Kernel. Ohne Initramfs startet das System meist nicht korrekt:
mkinitrd /boot/initrd-2.6.18.3-default.img 2.6.18.3-default
Wichtig: Passe Versionen und Dateinamen an die tatsächlich erzeugten Dateien an.
7 LILO Bootloader konfigurieren
Wir müssen LILO so anpassen, dass beim Neustart unser neuer Kernel gebootet wird.
Finde die erzeugten Kernel- und Initramfs-Dateien:
ls -l /boot
Kerneldateien beginnen üblicherweise mit vmlinuz (z. B. vmlinuz-2.6.18.3-default). Initrd-Dateien beginnen meist mit initrd (z. B. initrd-2.6.18.3-default.img).
Bearbeite /etc/lilo.conf. Schau dir eine funktionierende Kernel-Stanza an und nutze sie als Vorlage. Ersetze dort kernel- und initrd-Pfade, füge die neue Stanza ganz oben ein und vergebe in label= einen eindeutigen Namen (z. B. linux-2.6.18.3-default). Setze denselben Namen in default= damit dieser Eintrag standardmäßig gebootet wird.
vi /etc/lilo.conf
Beispiel: so sah meine lilo.conf vor dem Hinzufügen der neuen Stanza aus:
| # File generated by DrakX/drakboot # WARNING: do not forget to run lilo after modifying this file default="linux" boot=/dev/sda map=/boot/map keytable=/boot/us.klt menu-scheme=wb:bw:wb:bw compact prompt nowarn timeout=100 message=/boot/message image=/boot/vmlinuz label="linux" root=/dev/sda6 initrd=/boot/initrd.img append=" resume=/dev/sda5 splash=silent" vga=788 image=/boot/vmlinuz label="linux-nonfb" root=/dev/sda6 initrd=/boot/initrd.img append=" resume=/dev/sda5" image=/boot/vmlinuz label="failsafe" root=/dev/sda6 initrd=/boot/initrd.img append=" failsafe resume=/dev/sda5"
|
Und so danach (achte besonders auf default und label):
| # File generated by DrakX/drakboot # WARNING: do not forget to run lilo after modifying this file default="linux-2.6.18.3-default" boot=/dev/sda map=/boot/map keytable=/boot/us.klt menu-scheme=wb:bw:wb:bw compact prompt nowarn timeout=100 message=/boot/message image=/boot/vmlinuz-2.6.18.3-default label="linux-2.6.18.3-default" root=/dev/sda6 initrd=/boot/initrd-2.6.18.3-default.img append=" resume=/dev/sda5 splash=silent" vga=788 image=/boot/vmlinuz label="linux" root=/dev/sda6 initrd=/boot/initrd.img append=" resume=/dev/sda5 splash=silent" vga=788 image=/boot/vmlinuz label="linux-nonfb" root=/dev/sda6 initrd=/boot/initrd.img append=" resume=/dev/sda5" image=/boot/vmlinuz label="failsafe" root=/dev/sda6 initrd=/boot/initrd.img append=" failsafe resume=/dev/sda5"
|
Nachdem du /etc/lilo.conf angepasst hast, schreibe die Änderungen in den Bootsektor:
lilo
Dann starte das System neu:
shutdown -r now
Prüfe nach dem Boot die aktuell laufende Kernel-Version:
uname -r
Das sollte etwas wie
2.6.18.3-default
anzeigen.
Sollte das System nicht starten, boote erneut und wähle im LILO-Menü den alten Kernel. Versuche wieder, den Kernel zu reparieren oder neu zu bauen. Entferne vor einem erneuten Neustart die fehlerhafte Stanza aus /etc/lilo.conf und führe wieder lilo aus.
Wichtig: Entferne die fehlerhafte Kernel-Stanza erst, wenn du wieder ein funktionierendes System mit dem alten Kernel gestartet hast.
8 Links
- Mandriva: http://www.mandriva.com
- The Linux Kernel Archives: http://www.kernel.org
Wichtiges Vorgehens-Playbook (Kurz):
- Prüfen: Vergewissere dich, dass alle Build-Abhängigkeiten installiert sind.
- Build: make rpm
- Installieren: rpm -ivh
- Initrd: mkinitrd /boot/initrd-
.img - Bootloader: /etc/lilo.conf anpassen -> lilo
- Neustart und Kontrolle: uname -r
Schnelle Fehlerbehebung
- Kernel bootet nicht: Starte mit altem Kernel, entferne fehlerhafte Stanza in /etc/lilo.conf, lilo erneut ausführen.
- Initrd fehlt oder inkonsistent: mkinitrd neu erzeugen und Dateinamen prüfen.
- RPM-Installation schlägt fehl: Abhängigkeiten prüfen, rpm -Uvh statt -ivh verwenden, oder –force nur nach Prüfung.
Wann diese Methode nicht passt
- Du verwendest GRUB statt LILO. Passe stattdessen /boot/grub/grub.conf oder /etc/grub.d/ und führe grub-install/grub2-install aus.
- Du verwaltest viele Rechner und willst ein reproduzierbares Image: Verwende ein konfigurierbares Buildsystem (z. B. koji, mock) oder CI.
Mini-Checkliste für Systemadministratoren
- Build-Umgebung komplett (gcc, make, rpm-build)
- Backup von /etc/lilo.conf und /boot vor Änderungen
- Kernel- und Initrd-Namen notiert
- RPM getestet auf einem Nicht-Produktionssystem
- Recovery-Plan (z. B. Live-CD oder Boot-Partition) vorhanden
Kriterien bei Annahme
- System bootet mit dem neuen Kernel ohne Fehler
- uname -r zeigt die erwartete Version
- Wichtige Dienste (z. B. Netzwerk, Storage) funktionieren nach Boot
Risiken und Gegenmaßnahmen
- Risiko: Kein Boot mehr -> Gegenmaßnahme: Vorher Alten Kernel als Boot-Option beibehalten und Recovery-Medium griffbereit halten.
- Risiko: Inkompatible Module -> Gegenmaßnahme: Module vorab im Testsystem prüfen, initrd mit allen benötigten Treibern erstellen.
1-Zeilen-Glossar
- RPM: Paketformat für RedHat-basierte Distributionen.
- Initrd/Initramfs: Temporäres Root-Dateisystem, das beim Booten geladen wird.
- LILO: Bootloader, schreibt Konfiguration in den MBR/Bootsektor.
Kurze Social-Preview
OG-Titel: Kernel bauen & installieren (Mandriva) OG-Beschreibung: Anleitung: Kernel mit make rpm bauen, RPM installieren, Initramfs erzeugen und LILO konfigurieren. Checkliste und Troubleshooting inklusive.
Kurzversion für Ankündigung (100–200 Wörter)
Diese Anleitung zeigt, wie du auf Mandriva einen eigenen Linux-Kernel baust, das erzeugte RPM installierst, ein Initramfs erzeugst und LILO so konfigurierst, dass der neue Kernel beim Neustart verwendet wird. Enthalten sind konkrete Kommandos (make rpm, rpm -ivh, mkinitrd, lilo), ein kurzes Playbook, Checklisten für Administratoren sowie Troubleshooting-Schritte für den Fall, dass das System nicht bootet. Vor dem Ändern von /etc/lilo.conf solltest du ein Backup erstellen und einen Recovery-Plan parat haben.
Ähnliche Materialien

Nur-Text-E-Mails anzeigen: Gmail, Outlook, Thunderbird

Midjourney-Abo kündigen – Anleitung & Rückerstattung

AR-Filter für Unternehmen: Spark AR vs Banuba

Google Suche: Dunkelmodus aktivieren

Pokémon GO auf PC spielen: Anleitung für Windows
