Am Ende der Konfiguration weist das Skript ebenfalls darauf hin, man
solle ein make dep
sowie ein make clean
durchführen.
Dies sollte man in jedem Fall tun, damit die wechselseitigen
Abhängigkeiten der Quell- und Include-Dateien richtig zusammengestellt
werden. Dies dauert nicht sehr lange; auf meinem DX/2-80 aber fast
länger als die komplette Kompilierung des Kernels. Danach
löscht man mit make clean
alle alten Objekt-Dateien und stellt
so sicher, das sie wirklich neu übersetzt werden. Dieser Schritt ist
wirklich wichtig, und einige fehlgeschlagene Kompilierungsversuche
beruhten nur auf einem vergessenen:
# make dep
# make clean
Nun kommt der zeitraubende Teil.
# make zImage
kompiliert den gesamten Kernel und hinterläßt die Datei
zImage
im Verzeichnis arch/i386/boot
. Dies ist der
neue, komprimierte Kernel.
# make zdisk
macht dasselbe, installiert aber diesen neuen Kernel gleich auf eine Diskette, die man hoffentlich rechtzeitig in das Laufwerk A: geschoben hat. Die letztere Methode ist ziemlich praktisch, um neue Kernels relativ gefahrlos zu testen. Wenn er aus irgendeinem Grund nicht richtig funktioniert oder gar abstürzt, nimmt man einfach die Diskette aus dem Laufwerk und bootet den alten Kernel. Generell ist es immer eine gute Idee, eine solche bootfähige Diskette mit einem funktionierenden Kernel zur Hand zu haben. Denn irgendwann kommt immer der Tag, an dem man aus Versehen den Kernel von der Festplatte löscht oder eine ähnliche Dummheit begeht.
Alle halbwegs aktuellen Kernels sind komprimiert, daher das z
am Anfang der Namen. Ein solcher komprimierter Kernel entpackt sich
automatisch selber, wenn er bootet.
make mrproper
macht etwas ähnliches wie clean
, aber
sehr viel umfassender. Manchmal ist das notwendig, um ein wirklich
»sauberen« Verzeichnisbaum zu generieren.
Dabei werden aber auch die alten Einstellungen der Konfiguration gelöscht;
eventuell sollte man sich deshalb eine Sicherungskopie der Datei
.config
aufheben, um bei Bedarf die alten Einstellungen
nachsehen zu können.
make oldconfig
versucht, die Kernel-Konfiguration automatisch
anhand einer alten Konfigurationsdatei durchzuführen. Wer noch nie einen
Kernel kompiliert hat, sollte diese Option besser nicht benutzen, da
sicherlich die eine oder andere Einstellung verändert werden muß.
make modules
wird in einem eigenen Abschnitt beschrieben.
Jetzt, nachdem der Kernel erfolgreich den eigenen Wünschen entsprechend
kompiliert wurde, ist es an der Zeit, ihn zu installieren. Die meisten
Leute benutzen LILO, den Linux Loader, um Linux und eventuell
auch einige weitere Betriebssysteme zu booten. Für diesen Fall genügt
meist ein einfaches make zlilo
. Dabei wird der Kernel
kompiliert, installiert und lilo
aufgerufen. Danach sollte
alles für einen Reboot des neuen Kernels bereit sein.
Das funktioniert aber nur dann, wenn lilo
folgendermaßen eingestellt und installiert ist: Der Kernel ist
/vmlinuz
, lilo
befindet sich in /sbin
und die
Konfigurationsdatei für lilo
(/etc/lilo.conf
) stimmt
mit dieser Einstellung überein. Ist dies nicht der Fall, muß man
lilo
selber aufrufen, nachdem der neue Kernel an die richtige
Stelle kopiert wurde.
Eigentlich ist
lilo
ein Paket, das sehr einfach zu installieren und auch zu
benutzen ist. Dennoch lassen sich manche von der Konfigurationsdatei
(/etc/lilo.conf
oder, bei älteren Versionen,
/etc/lilo/config
) verwirren. Ein typischer Eintrag in dieser
Datei sieht so aus:
image = /vmlinuz
label = Linux
root = /dev/hda1
...
Der Eintrag image =
gibt den vollen Pfad des gegenwärtig
installierten Kernels an; die meisten verwenden /vmlinuz
.
label
gibt einen Namen, unter dem man diesen Eintrag, wenn
mehrere Einträge vorhanden sind, ansprechen kann, und root
gibt
diejenige Partition der Festplatte an, die als /
gemountet
werden soll. Um für das hier beschriebene System den neuen Kernel zu
installieren, sollte man also vom alten Kernel eine Sicherheitskopie
machen, den neuen Kernel an die angegebene Stelle kopieren und lilo
aufrufen:
# mv /vmlinuz /Old_Kernel
# mv /usr/src/linux/arch/i386/boot/zImage /vmlinuz
# lilo
Bei älteren Versionen von lilo
muß die letzte Zeile eventuell
# /etc/lilo/install
oder sogar
# /etc/lilo/lilo -C /etc/lilo/config
lauten.
LILO kann im Prinzip beliebig viele verschiedene Systeme booten, deshalb
kann man es auch sehr gut dazu verwenden, neuen und alten Kernel
gleichzeitig bootfähig zu machen. Hierzu ein Beispiel, wobei Zeilen, die mit
einem #
beginnen, als Kommentare verstanden werden:
# LILO Konfigurationsdatei
# von Peter Sütterlin, September 1996
#
# Start des globalen Abschnittes
boot = /dev/hda
message=/etc/lilo.bootmenue
compact
prompt
timeout = 100
image = /vmlinuz
label = 1
root = /dev/hda2
image = /vmlinuz_old
label = 2
root = /dev/hda2
other = /dev/hda1
label = 3
table = /dev/hda
Der erste Eintrag gibt an, wo LILO installiert werden soll; hier auf der ersten Festplatte. In der zweiten Zeile wird eine Datei angegeben, deren Inhalt LILO beim Laden am Bildschirm ausgibt. In dieser Datei steht etwa folgendes:
^LBitte eine der angegebenen Konfigurationen auswaehlen:
Def. --> 1 Linux (neuer Kernel)
2 Linux (alter Kernel)
3 MSDOS 6.0
Das ^L
(CONTROL-L
) am Anfang bewirkt dabei, daß der
Bildschirm gelöscht wird. Der dritte Eintrag (compact
)
optimiert den Ladevorgang. Das prompt
in der nächsten Zeile
bewirkt, daß LILO auf eine Eingabe des Benutzers wartet, der nun
auswählen kann, welche der drei Konfigurationen er starten will. Auf
diese Eingabe wartet LILO 10 Sekunden (timeout = 100
)
und lädt dann automatisch den ersten Eintrag der folgenden Liste.
Diese Liste enthält hier drei Einträge. Die ersten beiden beginnen mit
image =
und weisen damit auf Linux-Systeme hin. Der dritte
Eintrag (other = /dev/hda1
) betrifft ein nicht näher
spezifiziertes Betriebssystem, dessen Boot-Partition /dev/hda1
ist; in diesem Fall ist es eine DOS-Partition.
Aus diesen drei Möglichkeiten kann man nun, wie in der Meldung
angegeben, durch Drücken der Tasten 1
, 2
oder
3
, entsprechend den Einträgen label=
in den einzelnen
Abschnitten, eine auswählen.
Dies beschreibt nur äußerst knapp die unzähligen Möglichkeiten, die LILO bietet. Wer sich näher darüber informieren will, sollte die sehr ausführliche Dokumentation, die mit LILO mitgeliefert wird, studieren.