Handbuch:SPARC/Installation/Kernel

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:SPARC/Installation/Kernel and the translation is 100% complete.
SPARC Handbuch
Installation
Über die Installation
Auswahl des Mediums
Konfiguration des Netzwerks
Vorbereiten der Festplatte(n)
Installation des Stage Archivs
Installation des Basissystems
Konfiguration des Kernels
Konfiguration des Systems
Installation der Tools
Konfiguration des Bootloaders
Abschluss
Arbeiten mit Gentoo
Portage-Einführung
USE-Flags
Portage-Features
Initskript-System
Umgebungsvariablen
Arbeiten mit Portage
Dateien und Verzeichnisse
Variablen
Mischen von Softwarezweigen
Zusätzliche Tools
Eigener Portage-Tree
Erweiterte Portage-Features
Netzwerk-Konfiguration
Zu Beginn
Fortgeschrittene Konfiguration
Modulare Vernetzung
Drahtlose Netzwerke
Funktionalität hinzufügen
Dynamisches Management


Optional: Firmware und/oder Microcode installieren

Firmware

Suggested: Linux Firmware

On many systems, non-FOSS firmware is required for certain hardware to function. The sys-kernel/linux-firmware package contains firmware for many, but not all, devices.

Tipp
Most wireless cards and GPUs require firmware to function.
root #emerge --ask sys-kernel/linux-firmware
Hinweis
Die Installation bestimmter Firmware-Pakete erfordert oft das Akzeptieren der zugehörigen Firmware-Lizenzen. Falls erforderlich, finden Sie im Lizenzhandhabungsabschnitt des Handbuchs Hilfe zum Akzeptieren von Lizenzen.
Firmware Loading

Firmware files are typically loaded when the associated kernel module is loaded. This means the firmware must be built into the kernel using CONFIG_EXTRA_FIRMWARE if the kernel module is set to Y instead of M. In most cases, building-in a module which required firmware can complicate or break loading.

{{#switch: sparc | amd64 | x86 =

Microcode

Neben Grafik- und Netzwerk-Hardware können auch CPUs Firmware-Updates benötigen. Dieser Typ von Firmware wird Microcode genannt. Manchmal sind aktuelle Versionen von Microcode erforderlich, um Stabilitätsprobleme, Sicherheitsprobleme oder andere Bugs in CPU-Hardware zu patchen.

Microcode Updates für AMD CPUs sind in dem bereits genannten Paket sys-kernel/linux-firmware enthalten. Microcode Updates für Intel CPUs sind in dem Paket sys-firmware/intel-microcode enthalten. Dieses muss zusätzlich installiert werden. Weitere Informationen finden Sie im Microcode Artikel, in dem auch beschrieben wird, wie Microcode Updates auf der CPU aktiviert werden.

sys-kernel/installkernel

Installkernel may be used to automate the kernel installation, initramfs generation, unified kernel image generation and/or bootloader configuration among other things. sys-kernel/installkernel implements two paths of achieving this: the traditional installkernel originating from Debian and systemd's kernel-install. Which one to choose depends, among other things, on the system's bootloader. By default, systemd's kernel-install is used on systemd profiles, while the traditional installkernel is the default for other profiles.

Bootloader

Now is the time to think about which bootloader the user wants for the system, if unsure, follow the 'Traditional layout' subsection below.

GRUB

Users of GRUB can use either systemd's kernel-install or the traditional Debian installkernel. The systemd USE flag switches between these implementations. To automatically run grub-mkconfig when installing the kernel, enable the grub USE flag.

DATEI /etc/portage/package.use/installkernel
sys-kernel/installkernel grub
root #emerge --ask sys-kernel/installkernel

Traditional layout, other bootloaders (e.g. (e)lilo, syslinux, etc.)

The traditional /boot layout (for e.g. (e)LILO, syslinux, etc.) is used by default if the grub, systemd-boot, efistub and uki USE flags are not enabled. No further action is required.

Initramfs

An initial ram-based file system, or initramfs, may be required for a system to boot. A wide of variety of cases may necessitate one, but common cases include:

  • Kernels where storage/filesystem drivers are modules.
  • Layouts with /usr/ or /var/ on separate partitions.
  • Encrypted root filesystems.
Tipp
Distribution kernels are designed to be used with an initramfs, as many storage and filesystem drivers are built as modules.

In addition to mounting the root filesystem, an initramfs may also perform other tasks such as:

  • Running file system consistency check fsck, a tool to check and repair consistency of a file system in such events of uncleanly shutdown a system.
  • Providing a recovery environment in the event of late-boot failures.

Installkernel can automatically generate an initramfs when installing the kernel if the dracut or ugrd USE flag is enabled:

DATEI /etc/portage/package.use/installkernel
sys-kernel/installkernel dracut
root #emerge --ask sys-kernel/installkernel

Kernel konfigurieren und Kompilieren

Tipp
It can be a wise move to use the dist-kernel on the first boot as it provides a very simple method to rule out system issues and kernel config issues. Always having a known working kernel to fallback on can speed up debugging and alleviate anxiety when updating that your system will no longer boot.

Nun ist es an der Zeit, die Kernel-Quellen zu konfigurieren und zu kompilieren. Für die Zwecke der Installation werden drei Ansätze für die Kernelverwaltung vorgestellt, jedoch kann zu jedem Zeitpunk nach der Installation ein neuer Ansatz gewählt werden.

Hinweis
During the installation phase of Gentoo, only one kernel type should be installed i.e. either the sys-kernel/gentoo-kernel-bin or sys-kernel/gentoo-sources.

In der Reihenfolge vom geringsten bis zum größten Aufwand:

Full automation approach: Distribution kernels
A Distribution Kernel is used to configure, automatically build, and install the Linux kernel, its associated modules, and (optionally, but enabled by default) an initramfs file. Future kernel updates are fully automated since they are handled through the package manager, just like any other system package. It is possible provide a custom kernel configuration file if customization is necessary. This is the least involved process and is perfect for new Gentoo users due to it working out-of-the-box and offering minimal involvement from the system administrator.
Hybrid approach: Genkernel
New kernel sources are installed via the system package manager. System administrators use Gentoo's genkernel tool to generically configure, automatically build and install the Linux kernel, its associated modules, and (optionally, but not enabled by default) an initramfs file. It is possible provide a custom kernel configuration file if customization is necessary. Future kernel configuration, compilation, and installation require the system administrator's involvement in the form of running eselect kernel, genkernel, and potentially other commands for each update.
Full manual approach
New kernel sources are installed via the system package manager. The kernel is manually configured, built, and installed using the eselect kernel and a slew of make commands. Future kernel updates repeat the manual process of configuring, building, and installing the kernel files. This is the most involved process, but offers maximum control over the kernel update process.
Vollständiger Automatisierungsansatz: Distributionskernel
Ein Distributionskernel wird verwendet, um den Linux-Kernel, seine dazugehörigen Module und (optional, aber standardmäßig aktiviert) eine initramfs-Datei zu konfigurieren, automatisch zu bauen und zu installieren. Zukünftige Kernel-Aktualisierungen sind vollständig automatisiert, da sie über den Paketmanager abgewickelt werden, genauso wie jedes andere Systempaket. Es ist möglich eine eigene Kernelkonfigurationsdatei bereitzustellen, wenn Anpassungen notwendig sind. Dies ist der am wenigsten aufwendige Prozess und eignet sich perfekt für neue Gentoo-Benutzer, da er sofort funktioniert und nur minimale Eingriffe des Systemadministrators erfordert.
Hybridansatz: Genkernel
Neue Kernelquellen werden über den Systempaketmanager installiert. Systemadministratoren benutzen Gentoos genkernel Werkzeug, um den Linux-Kernel, seine dazugehörigen Module und (optional aber nicht standardmäßig aktiviert) eine initramfs-Datei zu konfigurieren, automatisch zu bauen und zu installieren. Es ist möglich, eine benutzerdefinierte Kernelkonfigurationsdatei bereitzustellen, wenn eine Anpassung erforderlich ist. Zukünftige Kernelkonfigurationen, -kompilierungen und -installationen erfordern die Beteiligung des Systemadministrators in Form der Ausführung von eselect kernel, genkernel und möglicherweise andere Befehle für jede Aktualisierung.
Vollständige manuelle Vorgehensweise
Neue Kernelquellen werden über den Systempaketmanager installiert. Der Kernel wird manuell konfiguriert, gebaut und installiert unter Verwendung des eselect kernel und einer Reihe von make Befehlen. Künftige Kernel-Updates wiederholen den manuellen Prozess des Konfigurierens, Erstellens und Installieren der Kernel-Dateien. Dies ist der aufwändigste Prozess, bietet aber maximale Kontrolle über den Kernel-Aktualisierungsprozess.

Der Kern, um den alle Distributionen gebaut sind, ist der Linux Kernel. Er ist die Schicht zwischen den Benutzerprogrammen und der Systemhardware. Obwohl das Handbuch seinen Benutzern verschiedene Kernel-Quellen anbietet, ist eine umfassendere Auflistung mit detaillierter Beschreibung auf der Kernel Übersichtsseite verfügbar.

Tipp
Kernel installation tasks such as copying the kernel image to /boot or the EFI System Partition, generating an initramfs and/or Unified Kernel Image, updating bootloader configuration, can be automated with installkernel. Users may wish to configure and install sys-kernel/installkernel before proceeding. See the Kernel installation section below for more more information.

Installieren der Kernel-Quellen

Für die Installation und Kompilierung des Kernels für sparc-basierte Systeme empfiehlt Gentoo das Paket sys-kernel/gentoo-sources.

Wählen Sie eine geeignete Kernelquelle und installieren Sie sie mit emerge:

root #emerge --ask sys-kernel/gentoo-sources

Dieser Befehl installiert die Quellen des Linux-Kernels in dem Verzeichnis /usr/src/. Im Namen des angelegten Unterverzeichnisses steht die Version des Linux-Kernels (beispielsweise /usr/src/linux-4.9.16-gentoo). Der emerge-Befehl erzeugt einen symbolischen Link /usr/src/linux auf dieses Verzeichnis, wenn das USE-Flag symlink bei dem Paket gesetzt ist.

Es ist gute Praxis, einen Symlink /usr/src/linux auf das Verzeichnis mit dem Source-Code der Kernel-Version zeigen zu lassen, die auf dem System läuft. Dieser Symlink wird nicht automatisch erzeugt. Er kann jedoch einfach mit Hilfe des eselect Kernel Modules erzeugt werden.

Weitere Informationen über Zweck und Handhabung des Symlinks finden Sie unter Kernel/Upgrade.

Lassen Sie eine Liste der installierten Kernel anzeigen:

root #eselect kernel list
Available kernel symlink targets:
  [1]   linux-6.6.21-gentoo

Mit folgendem Befehl können Sie einen symbolischen Link namens linux anlegen:

root #eselect kernel set 1
root #ls -l /usr/src/linux
lrwxrwxrwx    1 root   root    12 Oct 13 11:04 /usr/src/linux -> linux-6.6.21-gentoo

Alternative: Manuelle Konfiguration

Hinweis
In case it was missed, this section requires the kernel sources to be installed. Be sure to obtain the relevant kernel sources, then return here for the rest of section.

Manually configuring a kernel is commonly seen as one of the most difficult procedures a system administrator has to perform. Nothing is less true - after configuring a few kernels no one remembers that it was difficult! There are two ways for a Gentoo user to manage a manual kernel system, both of which are listed below:

Modprobed-db process

A very easy way to manage the kernel is to first install sys-kernel/gentoo-kernel-bin and use the sys-kernel/modprobed-db to collect information about what the system requires. modprobed-db is a tool which monitors the system via crontab to add all modules of all devices over the system's life to make sure it everything a user needs is supported. For example, if an Xbox controller is added after installation, then modprobed-db will add the modules to be built next time the kernel is rebuilt. More on this topic can be found in the Modprobed-db article.

Manual process

This method allows a user to have full control of how their kernel is built with as minimal help from outside tools as they wish. Some could consider this as making it hard for the sake of it.

Eine Sache ist jedoch wahr: um einen Kernel manuell konfigurieren zu können, ist es wichtig, das System zu kennen. Die meisten Informationen erhalten Sie durch das Programm lspci, das im Paket sys-apps/pciutils enthalten ist.

root #emerge --ask sys-apps/pciutils
root #lspci
root #lspci -v
Hinweis
Innerhalb der chroot-Umgebung können Sie jegliche pcilib-Warnung (wie pcilib: cannot open /sys/bus/pci/devices) ignorieren, die lspci auswerfen könnte.

Eine weitere Quelle von Systeminformationen ist lsmod. Diese Anweisung zeigt Ihnen, welche Kernel-Module die Installations-CD verwendet. Dies liefert gute Hinweise darauf, was im Kernel aktiviert werden sollte.

Gehen Sie in das Kernel Quellverzeichnis und führen Sie make menuconfig aus. Dies wird eine menübasierte Konfigurationsmaske starten.

root #cd /usr/src/linux
root #make menuconfig

The kernel has a method of autodetecting the modules currently being used on the installcd which will give a great starting point to allow a user to configure their own. This can be called by using:

root #make localmodconfig

It's now time to configure using nconfig:

root #make nconfig

Die Linux Kernel-Konfiguration hat viele, viele Abschnitte. Wir listen zunächst einige Optionen auf, die aktiviert werden müssen (ansonsten wird Gentoo nicht funktionieren, oder ohne zusätzliche Veränderungen nicht richtig funktionieren). Wir haben im Gentoo Wiki auch einen Gentoo Kernel-Konfigurationsleitfaden, der weiterhelfen könnte.

Enabling required options

Bei Verwendung des Pakets sys-kernel/gentoo-sources wird dringend empfohlen, die Gentoo-spezifischen Konfigurations-Optionen zu aktivieren. Diese stellen sicher, dass eine Mindestmenge von Kernel-Funktionen vorhanden ist, die für das einwandfreie Funktionieren erforderlich ist:

KERNEL Gentoo-spezifische Optionen aktivieren
Gentoo Linux --->
  Generic Driver Options --->
    [*] Gentoo Linux support
    [*]   Linux dynamic and persistent device naming (userspace devfs) support
    [*]   Select options required by Portage features
        Support for init systems, system and service managers  --->
          [*] OpenRC, runit and other script based systems and managers
          [*] systemd

Die Wahl für die letzten beiden Zeilen sollte natürlich von dem gewählten Init-System abhängen (OpenRC vs. systemd). Es ist kein Fehler, die Unterstützung für beide Init-Systeme zu aktivieren.

Wenn das Paket sys-kernel/vanilla-sources verwendet wird, gibt es die Auswahlmöglichkeiten für das Init-System nicht. Die Aktivierung der notwendigen Kernel-Optionen ist natürlich trotzdem möglich - aber eine Beschreibung würde den Rahmen dieses Handbuchs sprengen.

Enabling support for typical system components

Stellen Sie sicher, dass jeder Treiber, der für das Booten des Systems wichtig ist (z.B. SATA-Controller, NVMe-Blockgeräteunterstützung, Dateisystemunterstützung, usw.), im Kernel und nicht also Modul kompiliert ist, da das System sonst möglicherweise nicht vollständig booten kann.

Als Nächstes wählen Sie den genauen Prozessor-Typ. Es wird auch empfohlen, die MCE-Funktion zu aktivieren (wenn verfügbar), so dass Benutzer bei Hardwareproblemen benachrichtigt werden können. Auf einigen Architekturen (wie z.B. X86_64) werden diese Fehler nicht über dmesg, sondern auf /dev/mcelog ausgegeben. Dies erfordert das Paket app-admin/mcelog.

Wählen Sie auch Maintain a devtmpfs file system to mount at /dev, damit kritische Gerätedateien bereits früh im Boot-Prozess verfügbar sind (CONFIG_DEVTMPFS and CONFIG_DEVTMPFS_MOUNT):

KERNEL Aktivieren der devtmpfs-Unterstützung (CONFIG_DEVTMPFS)
Device Drivers --->
  Generic Driver Options --->
    [*] Maintain a devtmpfs filesystem to mount at /dev
    [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs

Überprüfen Sie, dass SCSI disk Unterstützung aktiviert wurde (CONFIG_BLK_DEV_SD):

KERNEL Aktivieren der SCSI-Festplattenunterstützung (CONFIG_SCSI, CONFIG_BLK_DEV_SD)
Device Drivers --->
  SCSI device support  ---> 
    <*> SCSI device support
    <*> SCSI disk support
KERNEL Aktivieren der grundlegenden SATA- und PATA-Unterstützung (CONFIG_ATA_ACPI, CONFIG_SATA_PMP, CONFIG_SATA_AHCI, CONFIG_ATA_BMDMA, CONFIG_ATA_SFF, CONFIG_ATA_PIIX)
Device Drivers --->
  <*> Serial ATA and Parallel ATA drivers (libata)  --->
    [*] ATA ACPI Support
    [*] SATA Port Multiplier support
    <*> AHCI SATA support (ahci)
    [*] ATA BMDMA support
    [*] ATA SFF support (for legacy IDE and PATA)
    <*> Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support (ata_piix)

Überprüfen Sie, ob die grundlegende NVMe-Unterstützung aktiviert wurde:

KERNEL Aktivieren der grundlegenden NVMe-Unterstützung für Linux 4.x.x (CONFIG_BLK_DEV_NVME)
Device Drivers  --->
  <*> NVM Express block device
KERNEL Aktivieren der grundlegenden NVMe-Unterstützung für Linux 5.x.x (CONFIG_DEVTMPFS)
Device Drivers --->
  NVME Support --->
    <*> NVM Express block device

Es kann nicht schaden, die folgende zusätzliche NVMe-Unterstützung zu aktivieren:

KERNEL Aktivieren zusätzlicher NVMe-Unterstützung (CONFIG_NVME_MULTIPATH, CONFIG_NVME_MULTIPATH, CONFIG_NVME_HWMON, CONFIG_NVME_FC, CONFIG_NVME_TCP, CONFIG_NVME_TARGET, CONFIG_NVME_TARGET_PASSTHRU, CONFIG_NVME_TARGET_LOOP, CONFIG_NVME_TARGET_FC, CONFIG_NVME_TARGET_FCLOOP, CONFIG_NVME_TARGET_TCP
[*] NVMe multipath support
[*] NVMe hardware monitoring
<M> NVM Express over Fabrics FC host driver
<M> NVM Express over Fabrics TCP host driver
<M> NVMe Target support
  [*]   NVMe Target Passthrough support
  <M>   NVMe loopback device support
  <M>   NVMe over Fabrics FC target driver
  < >     NVMe over Fabrics FC Transport Loopback Test driver (NEW)
  <M>   NVMe over Fabrics TCP target support

Gehen Sie nun zu den Dateisystemen (File Systems) und aktivieren Sie die Dateisysteme, die auf dem System verwendet werden sollen. Kompilieren Sie das Dateisystem, das als Root-Dateisystem verwendet wird, nicht als Modul. Andernfalls wird das Gentoo-System möglicherweise nicht in der Lage sein, die Root-Partition einzuhängen. Wählen Sie ebenfalls Virtual memory und /proc file system. Wählen Sie eine oder mehrere der folgenden Optionen, die auf dem System benötigt werden:

KERNEL Aktivieren der Dateisystemunterstützung (CONFIG_EXT2_FS, CONFIG_EXT3_FS, CONFIG_EXT4_FS, CONFIG_BTRFS_FS, CONFIG_MSDOS_FS, CONFIG_VFAT_FS, CONFIG_PROC_FS, und CONFIG_TMPFS)
File systems --->
  <*> Second extended fs support
  <*> The Extended 3 (ext3) filesystem
  <*> The Extended 4 (ext4) filesystem
  <*> Btrfs filesystem support
  <*> XFS filesystem support
  DOS/FAT/NT Filesystems  --->
    <*> MSDOS fs support
    <*> VFAT (Windows-95) fs support
  Pseudo Filesystems --->
    [*] /proc file system support
    [*] Tmpfs virtual memory file system support (former shm fs)

Wenn PPPoE für die Internetverbindung, oder ein Einwahl-Modem verwendet wird, aktivieren Sie die folgenden Optionen (CONFIG_PPP, CONFIG_PPP_ASYNC, and CONFIG_PPP_SYNC_TTY):

KERNEL Aktivieren der PPPoE-Unterstützung (PPPoE, CONFIG_PPPOE, CONFIG_PPP_ASYNC, CONFIG_PPP_SYNC_TTY
Device Drivers --->
  Network device support --->
    <*> PPP (point-to-point protocol) support
    <*> PPP over Ethernet
    <*> PPP support for async serial ports
    <*> PPP support for sync tty ports

Die beiden Komprimierungsoptionen schaden nicht, werden aber auch nicht unbedingt benötigt. Ebenso wenig wie die PPP over Ethernet Option, die vielleicht nur von ppp benötigt wird, wenn 'kernel mode PPPoE' konfiguriert wird.

Vergessen Sie nicht, die Unterstützung von Netzwerkkarten (Ethernet oder Wireless-LAN) zu aktivieren.

Die meisten Systeme haben auch mehrere Prozessorkerne zur Verfügung. Daher ist es wichtig, Symmetric multi-processing support zu aktivieren (CONFIG_SMP):

KERNEL Aktivieren der SMP-Unterstützung (CONFIG_SMP)
Processor type and features  --->
  [*] Symmetric multi-processing support
Hinweis
In Mehrkernsystemen zählt jeder Kern als ein Prozessor.

Wenn Sie USB-Eingabegeräte (wie Tastatur oder Maus) oder andere USB-Geräte verwenden, vergessen Sie nicht, diese ebenfalls zu aktivieren:

KERNEL Aktivieren der Unterstützung für USB und Human Input Devices (CONFIG_HID_GENERIC, CONFIG_USB_HID, CONFIG_USB_SUPPORT, CONFIG_USB_XHCI_HCD, CONFIG_USB_EHCI_HCD, CONFIG_USB_OHCI_HCD, (CONFIG_HID_GENERIC, CONFIG_USB_HID, CONFIG_USB_SUPPORT, CONFIG_USB_XHCI_HCD, CONFIG_USB_EHCI_HCD, CONFIG_USB_OHCI_HCD, CONFIG_USB4)
Device Drivers --->
  HID support  --->
    -*- HID bus support
    <*>   Generic HID driver
    [*]   Battery level reporting for HID devices
      USB HID support  --->
        <*> USB HID transport layer
  [*] USB support  --->
    <*>     xHCI HCD (USB 3.0) support
    <*>     EHCI HCD (USB 2.0) support
    <*>     OHCI HCD (USB 1.1) support
  <*> Unified support for USB4 and Thunderbolt  --->

Optional: Signed kernel modules

To automatically sign the kernel modules enable CONFIG_MODULE_SIG_ALL:

KERNEL Sign kernel modules CONFIG_MODULE_SIG_ALL
[*] Enable loadable module support  
  -*-   Module signature verification    
    [*]     Automatically sign all modules    
    Which hash algorithm should modules be signed with? (Sign modules with SHA-512) --->

Optionally change the hash algorithm if desired.

To enforce that all modules are signed with a valid signature, enable CONFIG_MODULE_SIG_FORCE as well:

KERNEL Enforce signed kernel modules CONFIG_MODULE_SIG_FORCE
[*] Enable loadable module support  
  -*-   Module signature verification    
    [*]     Require modules to be validly signed
    [*]     Automatically sign all modules
    Which hash algorithm should modules be signed with? (Sign modules with SHA-512) --->

To use a custom key, specify the location of this key in CONFIG_MODULE_SIG_KEY. If unspecified, the kernel build system will generate a key. It is recommended to generate one manually instead. This can be done with:

root #openssl req -new -nodes -utf8 -sha256 -x509 -outform PEM -out kernel_key.pem -keyout kernel_key.pem

OpenSSL will ask some questions about the user generating the key, it is recommended to fill in these questions as detailed as possible.

Store the key in a safe location, at the very least the key should be readable only by the root user. Verify this with:

root #ls -l kernel_key.pem
 -r-------- 1 root root 3164 Jan  4 10:38 kernel_key.pem 

If this outputs anything other then the above, correct the permissions with:

root #chown root:root kernel_key.pem
root #chmod 400 kernel_key.pem
KERNEL Specify signing key CONFIG_MODULE_SIG_KEY
-*- Cryptographic API  ---> 
  Certificates for signature checking  --->  
    (/path/to/kernel_key.pem) File name or PKCS#11 URI of module signing key

To also sign external kernel modules installed by other packages via linux-mod-r1.eclass, enable the modules-sign USE flag globally:

DATEI /etc/portage/make.confEnable module signing
USE="modules-sign"
</div>

<div lang="en" dir="ltr" class="mw-content-ltr">
# Optionally, when using custom signing keys.
MODULES_SIGN_KEY="/path/to/kernel_key.pem"
MODULES_SIGN_CERT="/path/to/kernel_key.pem" # Only required if the MODULES_SIGN_KEY does not also contain the certificate
MODULES_SIGN_HASH="sha512" # Defaults to sha512
Hinweis
MODULES_SIGN_KEY and MODULES_SIGN_CERT may point to different files. For this example, the pem file generated by OpenSSL includes both the key and the accompanying certificate, and thus both variables are set to the same value.


Architekturspezifische Optionen

Aktivieren Sie die korrekte Bus-Unterstützung:

KERNEL SBUS/ UPA Aktivierung
'"`UNIQ--pre-0000003D-QINU`"'

Aktivieren Sie OBP-Unterstützung:

KERNEL OBP-Unterstützung aktivieren
'"`UNIQ--pre-00000040-QINU`"'

Aktivieren Sie SCSI-spezifische Unterstützung:

KERNEL SCSI-specifische Unterstützung aktivieren
'"`UNIQ--pre-00000043-QINU`"'

Um die Netzwerkkarte zu unterstützen, wählen Sie eines der Folgenden:

KERNEL Netzwerkunterstützung aktivieren
'"`UNIQ--pre-00000046-QINU`"'

Mit einer 4-Port Ethernet Maschine (10/100 oder 10/100/1000) ist die Port-Reihenfolge anders als bei denen von Solaris benutzten. Verwenden Sie sys-apps/ethtool um den Port Link Status zu überprüfen.

Wenn Sie einen qla2xxx Festplattencontroller verwenden, installieren Sie sys-block/qla-fc-firmware und fügen Sie Unterstützung für das Laden externer Firmware hinzu.

KERNEL Externe Firmware aktivieren
'"`UNIQ--pre-0000004B-QINU`"'

Stellen Sie "External firmware blobs" auf ql2200_fw.bin und "Firmware blobs root directory" auf /lib/firmware/.

Kompilieren und installieren

Mit beendeter Konfiguration ist es an der Zeit den Kernel zu kompilieren und zu installieren. Schließen Sie die Konfiguration und starten Sie den Kompiliervorgang:

root #make && make modules_install
Hinweis
Es ist möglich parallele Builds durch make -jX zu aktivieren. Wobei X die Anzahl der Tasks ist, die der Build-Prozess parallel starten darf. Dies ist ähnlich der Anleitung zu /etc/portage/make.conf, mit der Variable MAKEOPTS.

Wenn der Kernel mit dem Kompilieren fertig ist, überprüfen Sie die Größe der resultierenden Datei:

root #ls -lh arch/sparc/boot/image
-rw-r--r--    1 root     root         2.4M Oct 25 14:38 image

Wenn die (unkomprimierte) Größe einen Wert größer als 7,5 MB hat, konfigurieren Sie den Kernel erneut bis diese Grenze nicht mehr überschritten wird. Ein Weg dies zu erreichen ist die meisten Kernel-Treiber als Module zu kompilieren. Falls Sie dies ignorieren, kann es zu einem nicht bootenden Kernel führen.

Falls der Kernel nur ein bisschen zu groß ist, können Sie versuchen ihn mit dem Befehl strip ein bisschen zu verkleinern.

root #strip -R .comment -R .note arch/sparc/boot/image

Kopieren Sie das Kernelabbild am Ende in das Verzeichnis /boot/.

root #cp arch/sparc/boot/image /boot/kernel-6.6.21-gentoo


Deprecated: Genkernel

Genkernel should only be considered by users with a required need that only Genkernel can meet. For others, it is recommended to use the Distribution kernel or manually compile their own as it will make maintaining a Gentoo system a lot more simple. An example of why genkernel is more difficult to manage is the lack of integration with sys-kernel/installkernel. This means a user will not get the same level of automation as provided by the other methods; for example, Unified Kernel Images will need to be created manually when using Genkernel.

Users still wishing to use Genkernel should see the Genkernel article for more information.

Kernel-Module

Auflistung der verfügbaren Kernelmodule

Hinweis
Hardware-Module manuell aufzulisten ist optional. In den meisten Fällen werden alle Hardwaremodule, die als angeschlossen erkannt werden, von udev geladen. Es ist jedoch nicht schädlich, wenn Module, die automatisch geladen werden, aufgelistet werden. Module können nicht zweimal geladen werden; sie werden entweder geladen oder nicht geladen. Manchmal benötigt exotische Hardware Hilfe, um ihre Treiber zu laden.

Die Module, die bei jedem Bootvorgang geladen werden müssen, können in die Dateien /etc/modules-load.d/*.conf im Format eines Moduls pro Zeile eingetragen werden. Wenn zusätzliche Optionen für die Module benötigt werden, sollten diese stattdessen in /etc/modprobe.d/*.conf-Dateien gesetzt werden.

Um alle Module anzuzeigen, die für eine bestimmte Kernelversion verfügbar sind, geben Sie den folgenden Befehl find ein. Vergessen Sie nicht, "<Kernelversion>" durch die entsprechende Version des zu durchsuchenden Kernels zu ersetzen:

root #find /lib/modules/<Kernelversion>/ -type f -iname '*.o' -or -iname '*.ko' | less

Erzwingung des Ladens bestimmter Kernelmodule

Um den Kernel zu zwingen, das Modul 3c59x.ko (den Treiber für eine bestimmte 3Com-Netzwerkkartenfamilie) zu laden, bearbeiten Sie die Datei /etc/modules-load.d/network.conf und geben Sie den Modulnamen darin in.

root #mkdir -p /etc/modules-load.d
root #nano -w /etc/modules-load.d/network.conf

Beachten Sie, dass das Dateisuffix .ko des Moduls für den Lademechanismus unbedeutend ist und in der Konfigurationsdatei weggelassen wird:

DATEI /etc/modules-load.d/network.confLaden des 3c59x Moduls erzwingen
3c59x

Setzen Sie die Installation mit der Konfiguration des Systems fort.