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 Alpha-basierende Systeme haben wir die vanilla-sources (die
Standard 2.6 Kernelquellen).
Wählen Sie Ihre Kernelquelle aus und installieren Sie diese mit emerge.
Im nächsten Beispiel installieren wir die vanilla-sources Natürlich
sollten Sie hier die Quelle verwenden, die Sie ausgewählt haben. Dies ist nur
ein Beispiel:
Befehlsauflistung 2.1: Installieren einer Kernelquelle |
# emerge vanilla-sources
|
Wenn Sie einen Blick in /usr/src werfen, sollten Sie einen Symlink
sehen, genannt linux, der auf Ihre Kernelquelle verweist.
Befehlsauflistung 2.2: Anzeigen des Kernelquellen Symlinks |
# ls -l /usr/src/linux
lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-2.6.11.2
|
Wenn das nicht der Fall ist (also der Symlink auf eine andere Kernelquelle
verweist), sollten sie den Symlink ändern bevor sie weitermachen:
Befehlsauflistung 2.3: Ändern des Kernelquellen-Symlinks |
# rm /usr/src/linux
# cd /usr/src
# ln -s linux-2.6.11.2 linux
|
Nun ist es Zeit Ihre Kernelquelle zu konfigurieren und zu kompilieren. Sie
können hierfür 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 benutzen wollen, sollten Sie stattdessen
Alternativ: Benutzung 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 insgesamt 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. Sie können lsmod
ausführen um zu sehen, welche Kernelmodule die Installations-CD verwendet (dies
kann Ihnen einen hilfreichen Tipp geben, was aktiviert werden sollte).
Gehen Sie nun in Ihr Kernelquellverzeichnis und führen Sie make menuconfig
aus. Dies startet ein ncurses-basiertes Konfigurationsmenü.
Befehlsauflistung 3.1: menuconfig starten |
# cd /usr/src/linux
# make menuconfig
|
Ihnen werden verschiedene Konfigurationsabschnitte 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 angezeigt.
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.
Selektieren Sie auch Virtual memory, /proc file system. Nur bei
einem 2.4 Kernel sollten Sie auch /dev file system und
Automatically mount at boot aktivieren.
Befehlsauflistung 3.3: Selektieren notwendiger Dateisysteme |
File systems --->
[*] Virtual memory file system support (former shm fs)
[*] /proc file system support
[*] /dev file system support (EXPERIMENTAL)
[*] Automatically mount at boot
[ ] /dev/pts file system for Unix98 PTYs
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
<*> JFS filesystem support
<*> Second extended fs support
<*> XFS filesystem support
|
Wenn Sie PPPoE benutzen um sich ins Internet einzuwählen oder Sie ein
Einwahlmodem benutzen, brauchen Sie folgende Optionen im Kernel:
Befehlsauflistung 3.4: Auswählen PPPoE notwendiger Treiber |
Network device support --->
<*> PPP (point-to-point protocol) support
<*> PPP support for async serial ports
<*> PPP support for sync tty ports
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 Ünterstützung für Ihre Netzwerkkarte
in Ihren Kernel einzubinden.
Die folgenden Optionen werden außerdem empfohlen:
Befehlsauflistung 3.5: Empfohlene Alpha Optionen |
General setup --->
<*> SRM environment through procfs
<*> Configure uac policy via sysctl
Plug and Play configuration --->
<*> Plug and Play support
<M> ISA Plug and Play support
SCSI support --->
SCSI low-level drivers --->
<*> SYM53C8XX Version 2 SCSI support (NEW)
<*> Qlogic ISP SCSI support
Network device support --->
Ethernet (10 or 100 Mbit) --->
<M> DECchip Tulip (dc21x4x) PCI support
<M> Generic DECchip & DIGITAL EtherWORKS PCI/EISA
<M> EtherExpressPro/100 support (eepro100)
<M> EtherExpressPro/100 support (e100)
Ethernet (1000 Mbit) --->
<M> Alteon AceNIC
[*] Omit support for old Tigon I
<M> Broadcom Tigon3
[*] FDDI driver support
<M> Digital DEFEA and DEFPA
<*> PPP support
<*> PPP Deflate compression
Character devices --->
[*] Support for console on serial port
[*] Direct Rendering Manager
File systems --->
<*> Kernel automounter version 4 support
Network File Systems --->
<*> NFS
[*] NFSv3 client
<*> NFS server
[*] NFSv3 server
Partition Types --->
[*] Advanced partition selection
[*] Alpha OSF partition support
Native Language Support
<*> NLS ISO 8859-1
Sound --->
<M> Sound card support
<M> OSS sound modules
[*] Verbose initialisation
[*] Persistent DMA buffers
<M> 100% Sound Blaster compatibles
|
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 starten Sie den
Kompilierungsvorgang:
Befehlsauflistung 3.6: Kompilieren des Kernels |
# make dep && make vmlinux modules modules_install
# make && make modules_install
# make boot
|
Wenn der Kernel mit der Kompilierung fertig ist, kopieren Sie das Kernel-Image
nach /boot. Im nächsten Beispiel nehmen wir an, dass Sie die
vanilla-sources-2.6.11.2 konfiguriert und kompiliert haben, aktuelle
Kernel erstellen möglicherweise vmlinux anstelle von
vmlinux.gz.
Befehlsauflistung 3.7: Installieren des Kernels |
# cp arch/alpha/boot/vmlinux.gz /boot/
# cp System.map /boot/System.map-2.6.11.2
|
Es ist auch ratsam Ihre Kernelkonfiguration nach /boot zu kopieren,
nur für alle Fälle :)
Befehlsauflistung 3.8: Erstellen eines Backups der Kernelkonfiguration |
# cp .config /boot/config-2.6.11.2
|
Fahren Sie nun mit dem Installieren separater
Kernelmodule fort.
7.d. Alternativ: Benutzung 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 ist. 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 4.1: Genkernel emergen |
# emerge genkernel
|
Kompilieren Sie nun Ihre Kernelquellen durch genkernel all.
Seien Sie sich aber bewusst, dass genkernel einen Kernel kompiliert,
der fast alle Hardware unterstützt, was bedeutet dass das Kompilieren durchaus
eine ganze Weile dauern kann!
Beachten Sie das, wenn Ihre Boot Partition weder ext2 noch ext3 als Dateisystem
benutzt Sie Ihren Kernel selber mit genkernel --menuconfig all
konfigurieren und Unterstützung für Ihr Dateisystem im Kernel aktivieren
müssen (nicht als Modul).
Befehlsauflistung 4.2: Ausführen von Genkernel |
# genkernel all
GenKernel v3.0.1_beta10
* ARCH: Alpha
* KERNEL VER: 2.6.11.2
* kernel: configuring source
* kernel: running mrproper
* Kernel compiled successfully!
* Required Kernel Params:
* : root=/dev/ram0 init=/linuxrc real_root=/dev/$ROOT
* where $ROOT is the devicenode for your root partition as
* you should have specified in /etc/fstab
*
* You MUST tell your bootloader to use the generated initrd
*
* Recommended Kernel Params:
* : vga=0x317 splash=verbose
*
* Do NOT report kernel bugs (configs included) as genkernel bugs.
* Make sure you have the latest genkernel before reporting bugs
*
* For more info see /usr/share/genkernel/README
|
Sobald genkernel beendet ist werden ein Kernel, ein voller Satz Module
und eine initial root disk (initrd) erstellt sein. Wir werden den Kernel
und initrd benutzen wenn wir später in diesem Handbuch einen Bootloader
konfigurieren. Schreiben Sie den Namen des Kernels und den Ihrer initrd auf, da
Sie diese brauchen werden, wenn Sie die den Bootloader konfigurieren.
Die initrd wird direkt nach dem Booten gestartet um die Hardware
Autoerkennung zu starten (genau wie auf der Installations-CD) bevor Ihr
"richtiges" System startet.
Befehlsauflistung 4.3: Kontrollieren des Namens des Kernel-Image und des initrd |
# ls /boot/kernel* /boot/initrd*
|
Nun lassen Sie uns einen weiteren Schritt tun, der unser System dazu bringt mehr
wie die Installations-CD zu sein -- lassen Sie uns coldplug emergen.
Während das initrd die Hardware automatisch erkennt, die nötig ist um Ihr
System zu starten, wird coldplug automatisch alles andere erkennen. Um
coldplug zu installieren und zu aktivieren tippen sie folgendes:
Befehlsauflistung 4.4: Installieren und aktivieren von coldplug |
# emerge coldplug
# rc-update add coldplug boot
|
7.e. Installieren separater Kernelmodule
Installation zusätzlicher Module
Wenn angebracht, sollten Sie mit emerge Ebuilds für jegliche zusätzliche
Hardware, die in Ihrem System steckt, installieren. Hier ist eine Liste von
Kernel-relevanten Ebuilds die Sie emergen können:
| Ebuild |
Zweck |
Befehl |
| x11-drm |
Beschleunigte Darstellungen für ATI Radeon bis 9200, Rage128, Matrox,
Voodoo und andere Karten für xorg-x11. Beachten Sie die
IUSE_VIDEO_CARDS Variable in den
/usr/portage/x11-base/x11-drm Ebuilds um zu sehen, was Sie
als IhreKarte eintragen müssen.
|
VIDEO_CARDS="IhreKarte" emerge x11-drm |
Beachten Sie jedoch, dass einige dieser Ebuilds große Abhängigkeiten (sog.
Dependencies) mit sich bringen können. Um zu erfahren, welche Pakete durch das
emerge eines Ebuilds installiert werden sollen, benutzen Sie emerge --pretend.
Zum Beispiel für das x11-drm Paket:
Befehlsauflistung 5.1: Betrachten der vollen Liste der zu installierenden Pakete |
# emerge --pretend x11-drm
|
Konfiguration der Module
Sie sollten alle Module, die automatisch geladen werden sollen, in
/etc/modules.autoload.d/kernel-2.4 (oder 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 den folgende find
Befehl aus. Vergessen Sie nicht "<kernel version>" mit der Version
Ihres Kernel zu ersetzen, den Sie gerade kompiliert haben:
Befehlsauflistung 5.2: 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
entweder die kernel-2.4 oder die kernel-2.6 Datei und
tragen das Modul ein.
Befehlsauflistung 5.3: /etc/modules.autoload.d/kernel-2.4 editieren |
# nano -w /etc/modules.autoload.d/kernel-2.4
|
Befehlsauflistung 5.4: /etc/modules.autoload.d/kernel-2.4 oder kernel-2.6 |
3c59x
|
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.
|