Gentoo Logo

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. Suchen Sie Ihre Zeitzone in/usr/share/zoneinfo/ und kopieren Sie diese dann nach /etc/localtime. Bitte vermeiden Sie die /usr/share/zoneinfo/Etc/GMT* Zeitzonen, denn deren Namen verweisen nicht auf die erwarteten Zonen. Zum Beispiel ist GMT-8 in Wirklichkeit GMT+8.

Befehlsauflistung 1.1: Setzen der Zeitzone

# ls /usr/share/zoneinfo
(Beispiel: GMT)
# cp /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 mehrere mögliche Kernelquellen. Eine komplette Liste mit Beschreibungen finden Sie im Gentoo Kernel Leitfaden.

Für sparc-basierende Systeme gibt es die sparc-sources (Kernelquellen, die optimiert sind für sparc Benutzer) und die vanilla-sources (die Standard-Kernelquellen, wie sie von den Linux Kernelentwicklern erstellt wurden).

Im nächsten Beispiel installieren wir die sparc-sources. Verwenden Sie logischerweise die Kernelquellen Ihrer Wahl, dies ist nur ein mögliches Beispiel. Das USE="-doc" ist notwendig um zu verhindern, dass xorg-x11 oder andere Abhängigkeiten zu diesem Zeitpunkt installiert werden. USE="symlink" ist nicht zwingend bei einer Neuinstallation, stellt aber sicher, dass der /usr/src/linux Symlink korrekt erstellt wird.

Befehlsauflistung 2.1: Installieren der Kernelquellen

# USE="-doc symlink" emerge sparc-sources

Wenn Sie einen Blick in /usr/src werfen, sollten Sie einen Symlink sehen, genannt linux, der auf Ihre Kernelquellen verweist. In diesem Fall verweisen die installierten Kernelquellen auf sparc-sources-2.4.31. Denken Sie daran, dass Ihre Version eine andere sein kann.

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.4.31-sparc

Nun ist es Zeit Ihre Kernelquellen zu konfigurieren und zu kompilieren

7.c. 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. Die meisten Informationen können gesammelt werden, indem Sie sich pciutils mit emerge installieren (emerge pciutils), denn dies enthält lspci. Sie werden nun in der Lage sein lspci in der chroot-Umgebung zu verwenden. Sie können ohne Probleme alle pcilib Warnungen (wie pcilib: cannot open /sys/bus/pci/devices), die lspci ausgibt, ignorieren. Alternativ können Sie lspci von einer nicht-chroot Umgebung ausführen. Die Ergebnisse sind identisch. 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

Code maturity level options --->
  [*] Prompt for development and/or incomplete code/drivers

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 in der Lage sein Ihre Partitionen zu mounten. Selektieren Sie auch Virtual memory und /proc file system. Wenn Sie einen 2.4 Kernel verwenden, sollten Sie auch /dev file system + Automatically mount at boot selektieren:

Befehlsauflistung 3.3: Selektieren notwendiger Dateisysteme

File systems --->
  [*] Virtual memory file system support (former shm fs)
  [*] /proc file system support
  [ ] /dev/pts file system for Unix98 PTYs

(Selektieren Sie eine oder mehrere der folgenden Optionen, wie benötigt von Ihrem System)
  <*> Ext3 journalling file system support
  <*> Second extended fs support

Wenn Sie PPPoE benutzen um sich ins Internet einzuwählen oder Sie ein Dialup-Modem einsetzen, 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

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.

Aktivieren Sie zuerst die korrekte Bus-Unterstützung:

Befehlsauflistung 3.5: Aktivieren von SBUS/UPA

Console drivers --->
  Frame-buffer support --->
    [*] SBUS and UPA framebuffers             
      [*] Creator/Creator3D support     (Nur für UPA Slot Adapter; verwendet in vielen Ultras)
    [*] CGsix (GX,TurboGX) support      (Only for SBUS Slot Adapter; verwendet in vielen SparcStations)

Natürlich wollen Sie Unterstützung für die OBP:

Befehlsauflistung 3.6: Aktivieren von OBP Unterstützung

Misc Linux/SPARC drivers --->
  [*]  /dev/openprom device support

Sie werden auch SCSI-spezifische Unterstützung benötigen:

Befehlsauflistung 3.7: Aktivieren von SCSI-spezifischer Unterstützung

SCSI support --->
  SCSI low-level drivers --->
    <*> Sparc ESP Scsi Driver             (Nur für SPARC ESP On-Board SCSI Adapter)
    <*> PTI Qlogic, ISP Driver            (Nur für SBUS SCSI Controller von PTI und QLogic)
    <*> SYM53C8XX Version 2 SCSI support  (Nur für Ultra 60 On-Board SCSI Adapter

Um Ihre Netzwerkkarte zu unterstützen, wählen Sie eines der folgenden:

Befehlsauflistung 3.8: Aktivieren von Neztwerkunterstützung

Network device support --->
  Ethernet (10 or 100Mbit) --->
    <*> Sun LANCE support                   (Nur für SPARCStation, ältere Ultra Systeme und als Sbus Option)
    <*> Sun Happy Meal 10/100baseT support  (Nur für Ultra; unterstützt auch "qfe" Quad-Ethernet auf PCI und Sbus)
    <*> DECchip Tulip (dc21x4x) PCI support (Für einige Netras, wie N1)
  Ethernet (1000Mbit) --->
    <*> Broadcom Tigon3 support (Moderne Netras, Sun Fire Rechner)

Wenn Sie einen 4-Port Ethernet Rechner haben (10/100 oder 10/100/1000), ist die Adressierung der Ports anders als unter Solaris. Sie können sys-apps/ethtool oder mii-tool verwenden um den Linkstatus einen Ports festzustellen.

Wenn Sie die Konfiguration des Kernel beendet haben fahren Sie mit Kompilieren und Installieren fort. Überprüfen Sie aber nach der Kompilierung des Kernels desen Größe:

Befehlsauflistung 3.9: Überprüfen der Kernelgröße

# ls -lh vmlinux
-rw-r--r--    1 root     root         2.4M Oct 25 14:38 vmlinux

Wenn die (unkomprimierte) Größe größer ist als 2.5MB (für Sparc32) oder 3.5MB (für Sparc64), dann konfigurieren Sie den Kernel solange erneut, bis der Kernel diese Grenzen nicht mehr überschreitet. Eine Art dies zu erreichen ist die Kompilierung der meisten Kerneltreiber als Module. Ignoriert man dies, kann es dazu führen, dass der Kernel nicht bootet.

Wenn ihr Kernel nur ein bisschen zu groß ist, können Sie im mit dem strip Kommando strippen:

Befehlsauflistung 3.10: Strippen des Kernel

# strip -R .comment -R .note vmlinux

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 Kompiliervorgang:

Befehlsauflistung 3.11: Kompilieren des Kernels

(sparc32)
# make dep && make clean vmlinux modules modules_install

(sparc64)
# make dep && make clean vmlinux image modules modules_install

Wenn der Kernel fertig ist mit der Kompilierung, kopieren Sie das Kernel-Image nach /boot. Denken Sie daran Denken Sie daran <Kernelversion> durch den Namen und die Version Ihres Kernels zu ersetzten.

Befehlsauflistung 3.12: Installieren des Kernels

(sparc32)
# cp vmlinux /boot/<Kernelversion>

(sparc64)
# cp arch/sparc64/boot/image /boot/<Kernelversion>

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.4 eintragen. Wenn Sie möchten, können Sie auch zusätzliche Optionen an die Module 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, den Sie gerade kompiliert haben, zu ersetzen:

Befehlsauflistung 4.1: Alle verfügbaren Module auflisten

# 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.4 Datei und tragen das Modul dort ein.

Befehlsauflistung 4.2: Editieren von /etc/modules.autoload.d/kernel-2.4

# nano -w /etc/modules.autoload.d/kernel-2.4

Befehlsauflistung 4.3: /etc/modules.autoload.d/kernel-2.4

3c59x

Fahren Sie nun mit der Konfiguration des System fort.


[ << ] [ < ] [ Hauptseite ] [ > ] [ >> ]


Drucken

Alles ansehen

Seite aktualisiert 6. Januar 2006

Diese Übersetzung wird nicht länger gepflegt

Zusammenfassung: Der Linux Kernel ist der Kern jeder Distribution. Dieses Kapitel erklärt, wie Sie Ihren Kernel konfigurieren.

Sven Vermuelen
Autor

Roy Marples
Autor

Daniel Robbins
Autor

Chris Houser
Autor

Jerry Alexandratos
Autor

Seemant Kulleen
Gentoo x86 Entwickler

Tavis Ormandy
Gentoo Alpha Entwickler

Jason Huebel
Gentoo AMD64 Entwickler

Guy Martin
Gentoo HPPA Entwickler

Pieter Van den Abeele
Gentoo PPC Entwickler

Joe Kallar
Gentoo SPARC Entwickler

John P. Davis
Bearbeiter

Pierre-Henri Jondot
Bearbeiter

Eric Stockbridge
Bearbeiter

Rajiv Manglani
Bearbeiter

Jungmin Seo
Bearbeiter

Stoyan Zhekov
Bearbeiter

Jared Hudson
Bearbeiter

Colin Morey
Bearbeiter

Jorge Paulo
Bearbeiter

Carl Anderson
Bearbeiter

Jon Portnoy
Bearbeiter

Zack Gilburd
Bearbeiter

Jack Morgan
Bearbeiter

Benny Chuang
Bearbeiter

Erwin
Bearbeiter

Joshua Kinard
Bearbeiter

Tobias Scherbaum
Bearbeiter

Xavier Neys
Bearbeiter

Grant Goodyear
Korrektor

Gerald J. Normandin Jr.
Korrektor

Donnie Berkholz
Korrektor

Ken Nowack
Korrektor

Lars Weiler
Mitarbeiter

Tobias Scherbaum
Übersetzer

Jens Schittenhelm
Übersetzer

Patrick Sudowe
Übersetzer

Torsten Veller
Übersetzer

Michael Frey
Übersetzer

Markus Nigbur
Übersetzer

Boris Ruppert
Übersetzer

Jan Hendrik Grahl
Übersetzer

Christian Hartmann
Korrektor

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.