Haftungsausschluss:
Dieses Handbuch wurde durch eine neuere Version ersetzt und wird nicht länger gepflegt.
|
[ << ]
[ < ]
[ Hauptseite ]
[ > ]
[ >> ]
7. Konfiguration des Kernels
Inhalt:
7.a. Setzen der Zeitzone des Systems
Zuerst müssen Sie dem System sagen, in welcher Zeitzone es sich befindet. Dazu
suchen Sie sich unter /usr/share/zoneinfo die entsprechende
Zeitzone aus und verlinken sie mit ln nach /etc/localtime:
Befehlsauflistung 1.1: Setzen der Zeitzone |
# ls /usr/share/zoneinfo
# ln -sf /usr/share/zoneinfo/GMT /etc/localtime
|
7.b. Installieren der Quellen
Auswählen eines Kernels
Der Kern um den herum alle Distributionen gebaut sind ist der Linux Kernel. Es
ist die Ebene zwischen den Benutzerprogrammen und der Systemhardware. Gentoo
bietet seinen Benutzern verschiedene mögliche Kernelquellen. Eine komplette
Liste mit Beschreibungen finden Sie im
Gentoo Kernel Guide.
Für PPC können Sie zwischen vanilla-sources und gentoo-sources
(beide Kernel 2.6) wählen. Der letztgenannte ist für netzwerklose Installationen
verfügbar. Neben diesen gibt es noch ein spezielles Kernel-2.6-Patchset für den Pegasos:
pegasos-sources. Fahren wir mit dem Installieren der Kernel Sourcen fort:
Befehlsauflistung 2.1: Installieren einer Kernelquelle |
# emerge gentoo-sources
|
Notiz:
Die PowerPC Quellen basieren auf einem 2.6.10-Kernel mit Sicherheits-Patches
die aus 2.6.11 stammen. Zum Zeitpunkt dieses Releases produzierte der 2.6.11
Kernel mehrere Probleme auf verschiedenen PowerPC Maschinen.
|
Wenn Sie einen Blick in /usr/src werfen, sollten Sie einen Symlink
namens linux sehen, der auf Ihre Kernelquelle verweist. Wir werden
davon ausgehen, dass Ihre installierte Kernelquelle
gentoo-sources-2.6.10-r8 ist:
Befehlsauflistung 2.2: Anzeigen des Kernelquellen Symlinks |
# ls -l /usr/src/linux
lrwxrwxrwx 1 root root 22 Mar 18 16:23 /usr/src/linux -> linux-2.6.10-gentoo-r8
|
Wenn der symbolische Link nicht auf die von Ihnen gewünschte Kernelquelle
verweist (denken Sie daran, dass linux-2.6.10-gentoo-r8 nur ein
Beispiel ist), dann sollten Sie ihn für den richtigen Kernel anpassen:
Befehlsauflistung 2.3: Ändern des Kernelquellen Symlinks |
# rm /usr/src/linux
# cd /usr/src
# ln -s linux-2.6.10-gentoo-r8 linux
|
Nun ist es Zeit Ihre Kernelquelle zu konfigurieren und zu kompilieren. Sie
können genkernel verwenden, welches einen generischen
Kernel erstellt, wie er von der Installations-CD verwendet wird. Wir erklären die
"manuelle" Konfiguration jedoch zuerst, denn es ist der beste Weg Ihre Umgebung
zu optimieren.
Wenn Sie Ihren Kernel manuell konfigurieren wollen fahren Sie nun mit Standard: Manuelle Konfiguration fort. Wenn Sie
genkernel verwenden möchten, dann sollten Sie stattdessen Alternative: Verwendung von genkernel lesen.
7.c. Standard: Manuelle Konfiguration
Einführung
Einen Kernel manuell zu konfigurieren wird oft als der schwierigste Teil
gesehen, den jeder Linux Benutzer meistern muss. Nichts ist weiter von
der Wahrheit entfernt -- nach der Konfiguration von einigen Kerneln werden Sie
sich gar nicht daran erinnern, dass es schwer war ;-)
Jedoch, eine Sache ist wahr: Sie müssen Ihr System kennen, wenn Sie
beginnen einen Kernel manuell zu konfigurieren. Die meisten Informationen
können gesammelt werden, indem Sie sich pciutils installieren (emerge
pciutils), welches lspci enthält. Sie haben nun die Möglichkeit
lspci innerhalb der chroot Umgebung zu verwenden. Sie können ohne Sorge
jegliche pcilib Warnungen (wie pcilib: cannot open
/sys/bus/pci/devices), die lspci auswirft, ignorieren. Alternativ
können Sie lspci aus einer nicht-chroot Umgebung ausführen. Das
Resultat ist dasselbe. Sie können auch lsmod ausführen um zu sehen
welche Kernelmodule die Installations CD verwendet (es kann ihnen einen netten
Hinweis darauf geben was zu aktivieren ist).
Gehen Sie nun in Ihr Kernelquellverzeichnis und führen Sie make menuconfig
aus. Dies startet ein ncurses-basierendes Konfigurationsmenü.
Befehlsauflistung 3.1: Menuconfig starten |
# cd /usr/src/linux
# make menuconfig
|
Ihnen werden verschiedene Konfigurationssektionen präsentiert. Wir listen
zunächst einige Optionen auf, die sie aktivieren müssen (ansonsten wird Gentoo
nicht funktionieren, oder ohne zusätzliche Veränderungen nicht richtig
funktionieren).
Aktivieren der benötigten Optionen
Zunächst aktivieren Sie die Benutzung von entwicklungs- und experiementellem/n
Code/Treiber(n). Sie brauchen dies, denn ansonsten werden einige wichtige
Codeabschnitte/Treiber nicht erscheinen.
Befehlsauflistung 3.2: Selektieren experimenteller/n Codes/Treiber, generelle Einstellungen |
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
General setup --->
[*] Support for hot-pluggable devices
|
Gehen Sie nun in File Systems und selektieren Sie Unterstützung für die
Dateisysteme die Sie benutzen. Kompilieren Sie diese nicht als Module,
ansonsten wird ihr Gentoo System nicht fähig sein, Ihre Partitionen zu mounten.
Wählen Sie auch /proc file system und Virtual memory.
Selektieren Sie nicht /dev file system.
Befehlsauflistung 3.3: Selektieren notwendiger Dateisysteme |
File systems --->
Pseudo Filesystems --->
[*] /proc file system support
[ ] /dev file system support (OBSOLETE)
[*] Virtual memory file system support (former shm fs)
<*> Reiserfs support
<*> Ext3 journalling file system support
<*> Second extended fs support
<*> XFS filesystem support
|
Wenn Sie PPPoE benutzen um sich ins Internet einzuwählen oder Sie benutzen
ein Einwahl-Modem, brauchen Sie folgende Optionen im Kernel:
Befehlsauflistung 3.4: Auswählen PPPoE notwendiger Treiber |
Device Drivers --->
Networking support --->
<*> PPP (point-to-point protocol) support
<*> PPP support for async serial ports
<*> PPP support for sync tty ports
|
Die zwei Komprimierungsoptionen werden nicht schaden, aber werden auch nicht
definitiv gebraucht, ebenso die PPP over Ethernet Option, die vielleicht
nur von rp-pppoe verwendet wird, wenn der Kernelmodus PPPoE benutzt wird.
Wenn Sie es benötigen, vergessen Sie nicht Unterstützung für Ihre Netzwerkkarte
in Ihren Kernel einzubinden.
Deaktivieren Sie die ADB Raw Keycodes:
Befehlsauflistung 3.5: Deaktivieren der ADB Raw Keycodes |
Macintosh Device Drivers --->
[ ] Support for ADB raw keycodes
|
Wählen Sie auch die korrekte RTC Unterstützung (deaktivieren Sie die
Enhanced RTC Option):
Befehlsauflistung 3.6: Aktivieren der korrekten RTC Option |
Character devices --->
[ ] Enhanced RTC
General setup --->
[*] Support for /dev/rtc
|
Benutzer der OldWorld Maschinen werden HFS Unterstützung wollen, damit Sie
kompilierte Kernel auf Ihre MacOS Partition kopieren können. Dies trifft auch
auf NewWorld Rechner zu, da es für die spezielle Apple_Bootstrap Partition
benötigt wird.
Befehlsauflistung 3.7: Aktivieren der HSF Unterstützung |
File Systems --->
[*] HFS Support
|
Wenn Sie die Konfiguration des Kernel beendet haben fahren Sie mit Kompilieren und Installieren fort.
Kompilieren und Installieren
Nun da Ihr Kernel konfiguriert ist, ist es Zeit ihn zu kompilieren und zu
installieren. Verlassen Sie die Konfiguration und führen Sie die Kommandos zum
kompilieren des Kernel aus:
Befehlsauflistung 3.8: Kompilieren des Kernels |
# make all && make modules_install
|
Wenn der Kernel fertig ist mit der Kompilierung, kopieren Sie das Kernel-Image
nach /boot (stellen Sie sicher, dass es ordnungsgemäß auf dem
Pegasos eingebunden ist).
Befehlsauflistung 3.9: Installieren des Kernels |
(Apple/IBM) # cp vmlinux /boot/kernel-2.6.10
(Pegasos) # cp arch/ppc/boot/images/zImage.chrp /boot/kernel-2.6.10
|
Es ist auch weise Ihre Kernelkonfiguration nach /boot zu kopieren,
nur für alle Fälle :)
Befehlsauflistung 3.10: Erstellen eines Backups der Kernelkonfiguration |
# cp .config /boot/config-2.6.10-gentoo-r8
|
Fahren Sie nun mit dem Installieren separater
Kernelmodule fort.
7.d. Installieren separater Kernelmodule
Konfiguration der Module
Sie sollten alle Module, die automatisch geladen werden sollen, in
/etc/modules.autoload.d/kernel-2.6
eintragen. Wenn Sie möchten können Sie auch zusätzliche Optionen anhängen.
Um alle verfügbaren Module anzuzeigen führen Sie das folgende find
Kommando aus. Vergessen Sie nicht "<kernel version>" mit der Version
Ihres Kernel zu ersetzen, den Sie gerade kompiliert haben:
Befehlsauflistung 4.1: Listen aller verfügbarer Module |
# find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko'
|
Um zum Beispiel das 3c59x.o Modul automatisch zu laden editieren Sie die
kernel-2.6 Datei und tragen den Modulnamen ein.
Befehlsauflistung 4.2: /etc/modules.autoload.d/kernel-2.6 |
# nano -w /etc/modules.autoload.d/kernel-2.6
|
Befehlsauflistung 4.3: /etc/modules.autoload.d/kernel-2.6 |
3c59x
|
Fahren Sie nun mit der Konfiguration des
System fort.
7.e. Alternative: Verwenden von genkernel
Wenn Sie diesen Abschnitt lesen, haben Sie sich entschieden unser
genkernel Skript zu benutzen, um sich Ihren Kernel konfigurieren zu
lassen.
Nun da Ihr Kernelquellbaum installiert ist, ist es an der Zeit Ihren Kernel
automatisch durch das genkernel Skript erstellen zu lassen. genkernel
arbeitet so, dass es einen Kernel konfiguriert, der fast identisch ist zu denen
auf unser Installations CD. Dies bedeutet, dass wenn Sie genkernel benutzen um
Ihren Kernel zu erstellen, Ihr System generell alle Hardware beim Booten erkennt,
genau wie es unsere Installations CD tut. Weil genkernel keine manuelle
Kernelkonfiguration erfordert ist es eine ideale Lösung für die Benutzer, denen
Unwohl bei der Kompilierung eines eigenen Kernel ist.
Nun lassen Sie uns sehen wie man Genkernel benutzt. Zuerst installieren Sie
genkernel:
Befehlsauflistung 5.1: genkerne mit emerge installierenl |
# emerge genkernel
|
Kopieren Sie nun die Kernelkonfiguration, die von der Installations-CD verwendet
wird, an den Platz wo genkernel die Standard Kernelkonfiguration erwartet:
Befehlsauflistung 5.2: Kopieren der Kernelkonfiguration der Installations-CD |
# zcat /proc/config.gz > /usr/share/genkernel/ppc/kernel-config-2.6
|
Kompilieren Sie nun Ihre Kernelquellen indem Sie genkernel --udev all
ausführen. Beachten Sie jedoch, dass genkernel einen Kernel kompiliert,
der fast jede Hardware unterstützt, daher wird diese Kompilierung einen
relativ langen Zeitraum in Anspruch nehmen.
Beachten Sie, dass wenn Ihre Parititon auf der sich der Kernel befindet nicht
ext2 oder ext3 als Dateisystem verwendet, Sie möglicherweise manuell Ihren
Kernel konfigurieren müssen mit genkernel --menuconfig all und
Unterstützung für das Dateisystem im Kernel (also nicht als
Modul) hinzufügen müssen. Benutzer von EVMS2 oder LVM2 werden wahrscheinlich
die Argumente --evms2 oder --lvm2 ebenfalls hinzufügen wollen.
Befehlsauflistung 5.3: Ausführen von genkernel |
# genkernel --udev all
|
Sowie genkernel abgeschlossen wurde, ist ein Kernel, ein voller Satz
Module und eine initiale root disk (initrd) erstellt worden. Wir werden
den Kernel und das initrd verwenden wenn wir einen Bootloader, später in
diesem Handbuch, konfigurieren. Schreiben Sie sich die Namen des Kernels und
des initrd auf, denn Sie werden diese benötigen, wenn Sie die
Konfigurationsdatei für Ihren Bootloader schreiben. Das initrd wird direkt
nach dem booten gestartet, um Hardware Autoerkennung durchzuführen (genau
wie die Installations-CD), bevor ein "richtiges" System hochfährt.
Befehlsauflistung 5.4: Überprüfen der Namen des erstellten Kernel-Image und initrd |
# ls /boot/kernel* /boot/initrd*
|
Lassen Sie uns nun einen weiteren Schritt durchführen um das System weiter
der Installations-CD anzugleichen. Installieren Sie mit emerge coldplug.
Während initrd dafür zuständig ist, die Hardware zu erkennen die
benötigt wird um Ihr System zu starten, erkennt coldplug automatisch
weitere Hardware. coldplug wird als Paket auf einer der Package CDs
mitgeliefert.
Befehlsauflistung 5.5: Installieren und aktivieren von coldplug |
# emerge -k coldplug
# rc-update add coldplug boot
|
Fahren Sie nun mit der Konfiguration des
System fort.
[ << ]
[ < ]
[ Hauptseite ]
[ > ]
[ >> ]
Die Inhalte dieses Dokuments sind, sofern nicht explizit
anders genannt, unter der Creative Commons -
Namensnennung / Weitergabe Lizenz lizenziert. Die Gentoo Name and Logo
Usage Guidelines treffen zu.
|