Ausgangspunkt ist eine Standardinstallation vom Typ current.
Zur Zeit wird mit current ein Kernel in der Version
2.4.26
installiert. Dieser soll in diesem Beispiel mit
Version 2.6.5
ergänzt werden.
UPDATE: Seit dem 10.05.2004
ist nun bereits Kernel 2.6.6
stable verfügbar, diese
Anleitung sollte auch mit der neuen
Kernelversion funktionieren.
Diese Anleitung läßt sich auch auf eine normale
Slackware
Standardinstallation anwenden, 2.4.26 muß dann in
den
jeweiligen Kommandos nur durch 2.4.22 ersetzt werden.
Als
Bootmanager wird hier Lilo verwendet.
Das von www.kernel.org
herunter geladene Archiv wird
nach /usr/src/ entpackt.
Zur Sicherheit passen wir die Lilo Konfiguration so an,
das im
Falle eines Fehlers bei der Kernelerstellung
immer noch auf den
Originalkernel zugegriffen werden
kann. Somit kann man dann ins
alte System booten und
von dort aus auf Fehlersuche gehen:
ln -s /boot/vmlinuz-ide-2.4.26 /boot/vmlinuz.failsafe
ln -s
/boot/System.map-ide-2.4.26 /boot/System.map.failsafe
In der lilo.conf fügen wir einen neuen Abschnitt hinzu:
image=/boot/vmlinuz.failsafe
label=Failsafe
read-only
vga=normal
Auf der Kommandozeile einmal lilo ausführen, damit
die
Änderungen auch übernommen werden.
Mit einem Neustart
können wir testen, ob man auch
wirklich ins failsafe System
booten kann.
Geklappt? Gut. Wieder zurück im Arbeitssystem
gehen wir
nach /usr/src und löschen dort den Softlink
linux ->
linux-2.4.26.
Nun legen wir einen neuen Softlink an, der auf
linux-2.6.5
zeigt:
ln -s linux-2.6.5 linux
Dann wechseln wir über den neu erstellten Softlink
ins
Quellverzeichnis des 2.6.5er Kernels:
cd linux
Spätestens jetzt sollte man sich Gedanken darüber
machen,
was für ein System man überhaupt hat und
mit welchen
Gerätschaften es ausgestattet ist. Nicht
nur, das wir mit
falschen Angaben zur Konfiguration
unter Umständen keinen
lauffähigen neuen Kernel
erzeugen können, je genauer die
Angaben zur Kernel-
konfiguration gemacht werden, umso besser wird
der
Kernel später an unser System angepasst sein.
Unter
Slackware helfen uns die Komandos lspci und dmesg.
Mit
lspci können wir alle im Moment erkannten PCI
Geräte in
unserem System auflisten, dmesg zeigt uns
die Bootmeldungen des
Kernels an, welchen man auch
entnehmen kann, was so alles im
System erkannt wurde.
Handbücher zum Mainboard, zur
Grafikkarte, zur Sound-
karte sind natürlich auch sehr
hilfreich :) Auch sollten wir
Informationen zu installierten
Netzwerkkarten beschaffen,
externen USB Geräten usw.
Zur Kernelkonfiguration bedienen wir uns des grafischen
Tools
xconfig:
make xconfig
Damit wird nun xconfig kompiliert und gestartet:
Im linken Bereich sind die Hauptkategorien der
Kernel-
konfiguration aufgelistet, die im oberen rechten
Bereich
bei Bedarf weiter verzweigen. Unten rechts sehen wir
eine
kurze Beschreibung der gerade angewählten Option.
Die genauen Einstellungen hängen nun vom jeweiligen
System
ab, auf welchem wir konfigurieren und unter-
scheiden sich
hinsichtlich der Prozessorarchitektur,
der verbauten Komponenten
und der Chipsätze zum Teil
erheblich voneinander. Wir ändern
hier Einstellungen, die
entscheidend sind für das
Funktionieren des neuen Kernels
und sollten uns deswegen exakt an
die für unser System
zutreffende Konfiguration halten. Das
setzt natürlich eine
möglichst genaue Kenntnis unserer
Systemkonfiguration
voraus. Wenn man sich bei einigen Optionen
nicht sicher
ist, sollte man auf die Hilfstexte im unteren rechten
Bereich
achten und gegebenenfalls die dort empfohlenen
Hinweise
zur Einstellung übernehmen. Wer am Anfang
überhaupt
nicht durchsieht, der bediene sich bitte der Hilfe
einer
kundigen Person seines Vetrauens.
Wenn alle Einstellungen erfolgt sind, speichern wir
über
File->Save ab und verlassen das Programm.
Jetzt kann die Kompilierung gestartet werden mit:
make all install modules_install
Während der Kompilierung können wir in der Konsole
den
Vorgang verfolgen und auf einen erfolgreichen
Durchlauf hoffen.
Die Kompilierung dauert je nach Rechner-
leistung einige
Augenblicke.
Nach erfolgter Kompilierung verschieben wir den neu
erstellten
Kernel an seinen Bestimmungsort und kopieren
die von xconfig
angelegte Kernelkonfigurationsdatei:
mv /vmlinuz /boot/vmlinuz-2.6.5 && mv /System.map
/boot/System.map-2.6.5
cp /usr/src/linux/.config
/boot/config-2.6.5
Zur erfolgreichen Einrichtung unseres neuen Kernels erfolgen
jetzt
noch drei weitere Kommandos, die wir im Verzeichnis
/boot
ausführen:
ln -s vmlinuz-2.6.5 vmlinuz
ln -s System.map-2.6.5
System.map
ln -s config-2.6.5 config
Um mit unserem alten Kernel 2.4.26 in Zukunft auch noch
booten
zu können, machen wir folgendes in /boot:
ln -s vmlinuz-ide-2.4.26 vmlinuz.old
ln -s
System.map-ide-2.4.26 System.map.old
ln -s config-ide-2.4.26
config.old
Damit wir den alten Kernel beim booten auch auswählen
können,
sind noch kleine Ergänzungen an der lilo.conf
notwendig.
Zwischen vmlinuz und vmlinuz.failsafe fügen
wir noch einen
weiteren Abschnitt hinzu:
image=/boot/vmlinuz.old
label=Old
read-only
vga=normal
Danach nochmal lilo ausführen. Jetzt kann der Rechner
neu
gestartet und im lilo Bootmanager der neue Kernel
zum booten
ausgewählt werden.
Der Eintrag 'Linux' startet jetzt den
neuen Kernel 2.6.5,
'Old' startet unseren alten Kernel 2.4.26 und
mit 'Failsafe'
fahren wir ein Rettungssystem mit unserem alten
Kernel
hoch.
Für Rechner mit Nvidia Grafikkarte muß jetzt noch
das
Installationsscript für den Linux Nvidia Treiber von
der
Nvidia Webseite gestartet und gegebenenfalls die
Datei
/etc/X11/XF86Config angepasst werden.