A.2 Manuelle Konfiguration des Kernels I.
Ich habe diesen Teil vom ersten und dritten Teil getrennt, weil er vermutlich der am längsten dauernde Part der Installation sein wird. Gleich vorweg: Versuche nicht im ersten Anlauf einen "perfekten" Kernel zu konfigurieren. Das dürfte kaum möglich sein und ist auch gar nicht notwendig. Das wichtigste für den Anfang ist, dass er überhaupt bootet. Wenn da der Sound noch nicht funktioniert, ist das kein Problem - das kann man alles nachholen. Der Sound ist auch das häufigste Problem einer Kernel Konfiguration; wenn der nicht gleich auf Anhieb funktioniert bist Du in bester Gesellschaft und musst nicht gleich frustriert sein; bis jetzt haben wir aber noch jedes exotische Teil zum Laufen gebracht. Je öfter Du die Konfiguration des Kernels "aufsuchst", desto größer wird das Verständnis, wo, welche Teile, wie zusammen gehören.
Für den Anfang musst Du folgendes beachten:
1. Alles was der Kernel benötigt um seine Root-Partition zu finden MUSS statisch = fest in den Kernel eingebunden werden; also NICHT als Modul ! Was das ist MÜSSEN wir also wissen.
2. Alles wovon wir wissen, dass wir es (immer) benötigen, binden wir ebenso nicht als Modul ein, sondern statisch. Das hilft später, die Übersicht nach einem "lsmod" zu bewahren; noch später (in B.2) werden wir das tun um einen monolithischen Kernel zu basteln.
3. Wenn wir nicht wissen, was wir vielleicht zusätzlich benötigen, aktivieren wir alle relevanten Module und prüfen nach einem Neustart welche geladen wurden. Je weniger Module wir aber (unnötigerweise) mitcompilieren, desto schneller wird unser "make all".
4. Wenn wir wissen, das wir etwas nicht brauchen, schmeissen wir es sofort raus.
5. Editiere niemals die .config manuell ! Mache Änderungen an der Kernel-Konfig NUR über "make menuconfig". Du kannst gerne in der .config nach den vorhandenen Einstellungen suchen; manuell ändern darfst Du nichts ! Nur Gucken - nicht anfassen ! Grund: Viele Parameter beeinflussen (=aktivieren) andere Parameter - meist sogar unsichtbare ! Wenn Du neugierig bist kannst Du Dir diese Unsichtbaren anzeigen lassen, indem Du "z" in der "make menuconfig" drückst. Drücke danach nochmal "z" (toggle-funktion) um diese Anzeige wieder auszuschalten. Du brauchst das nicht und sie würden Dich nur verwirren (sie sind bei mir auch ausgeschaltet; das brauchen nur die Kernel-Entwickler oder wenn Du etwas suchst, was bisher unsichtbar ist). Lese dazu auch nochmal den Post Nr. 7 dieses Threads ...
Edit 2022-03-28: In diesem kurzen Artikel beschreibt @NeddySeagoon den Boot-Prozess einfach und verständlich. Lese es wenn Du noch nie einen Kernel konfiguriert hast:
https://wiki.gentoo.org/wiki/User:Neddy ... ot_Process
(Wir benötigen kein initrd/initramfs weil wir unserem Kernel alles mitgeben, was er benötigt um seine Root-Partition zu finden)
Wir werden erst in A.3 einen Reboot durchführen. Sollte dann Dein Kernel nicht "durch-booten", führe bitte erneut folgende Schritte aus (oder falls Du jetzt eine Pause machen willst, um morgen weiter zu machen und Du den PC ausschaltest):
Code: Select all
- boot with amd64-minimal CD
# clear
# mount /dev/sdXY /mnt/gentoo
# cd /mnt/gentoo
# mount -t proc /proc /mnt/gentoo/proc
# mount --rbind /sys /mnt/gentoo/sys
# mount --rbind /dev /mnt/gentoo/dev
# mount --bind /run /mnt/gentoo/run
# chroot /mnt/gentoo /bin/bash
# . /etc/profile
# mount /dev/sdXZ /bootCode: Select all
# dmesg | grep "Intel(R)"
-> write family,model,stepping to a paper :-)
# dmesg | grep firmware
-> notice all firmware files
# lspci -k
-> write all "Kernel driver in use: xxxx" to a paper
# lsmod | more
-> write all modules - except above - to a paperNoch ein Wort zur Sicherheit: Je weniger Software Du nutzt, desto weniger potentielle Angriffsflächen bietet ein System. Das gilt auch für den Kernel, den wir deshalb so schlank wie möglich halten wollen. Das bedeutet: Wenn Du Dir unsicher bist, ob Du einen Parameter benötigst, dann lass es lieber weg. Wenn etwas fehlt, merkst Du das sofort - weil irgend etwas nicht funktionieren wird.
Ein letztes Wort zum Aufwand einer manuellen Konfiguration: Ja, er ist - einmalig - sehr hoch ! Aber - Du sparst Dir in Zukunft sehr viel Ärger und Zeit, denn für alles was auch nur entfernt mit Sicherheit zu tun hat, musst Du doch wieder etwas im Kernel manuell konfigurieren (firewall, verschlüsselung, raid, ima, evm, u.v.w.m.). Die Vermutung mit der Verwendung von "genkernel" wäre man alle Sorgen los, ist leider (momentan) ein Trugschluß.
Edit 2021-03-02: Lies diesen Thread komplett durch und mache dann GEGEBENENFALLS JETZT gleich das was ich in Post Nr. 5 beschrieben habe.
Edit 2021-04-04: Der stable Kernel ist bei Gentoo nun auch von 5.4 auf 5.10 gehoben worden. Damit ist weder das ACCEPT_KEYWORDS noch Post Nr. 5 nötig, falls Du auf dem 5.10er bleiben willst (=meine Empfehlung). Nur wenn Du den allerneuesten haben willst, machst Du es wie hier beschrieben (ich lasse deshalb mal die Beschreibung unverändert).
Edit 2022-01-04: Der stable Kernel ist nun von 5.10 auf 5.15 gehoben worden und natürlich empfehle ich immer den neuesten Kernel aus der neuesten LTS-Serie, auch wenn ich selbst die zwei wichtigsten Neuerungen - ein Samba-Server im Kernel und ein neues NTFS - gar nicht benötige (bedeutet: wenn Du noch auf 5.10 bist, sollte ein Upgrade nicht so dringend sein).
Edit 2023-02-23: Der stable Kernel ist vor einigen Tagen von 5.15 auf 6.1 gehoben worden. Mein Update findest Du im 11. Post dieses Threads. Du kannst alle hier unten aufgeführten Einstellungen des 5.15er benutzen, mit einer Ausnahme: "Choose SLAB allocator" wurde verschoben von "General Setup" nach "Memory Management options"; ist aber auch nochmal beschrieben.
Eine schöne Übersicht der derzeit verfügbaren Kernel Versionen liefert (die stable Versionen sind Grün):
Code: Select all
# eix gentoo-sourcesJetzt gehts aber wirklich weiter:
Code: Select all
# emerge -pv gentoo-sources
# ACCEPT_KEYWORDS="~amd64" emerge -pv intel-microcode
# emerge -pv linux-firmware
# cd /usr/src/linux-5.xx.yy-gentoo
# make menuconfigWeil Du es aber sowieso nur lesen sollst, habe ich es unverändert gelassen:
1. Als erstes müssen alle Teile die ein MUSS sind rein (siehe oben Punkt 1). Lies dazu:
https://wiki.gentoo.org/wiki/Handbook:A ... ion/Kernel
Nur lesen - nicht machen; einiges ist nicht mehr aktuell - anderes fehlt -> siehe meine folgende Zusammenfassung.
Lass die vorhandene Default-Konfiguration unverändert, wenn nicht explizit in diesem Guide etwas anderes konfiguriert werden soll (also disable nichts, wenn es hier nicht steht; und enable nichts, wenn es hier nicht steht). Es kann sein, dass einiges bereits so konfiguriert ist, wie hier (oder den anderen Artikeln) beschrieben. Dann sehe das als Überprüfung an. Sobald Du mehr Erfahrung bei der Konfiguration Deines Kernels hast und dann weißt was Du tust, wirst Du diese Anweisung erfolgreich ignorieren, und dann auch Dinge wie z.B. I2C und GPIO disabeln, wenn Du diese gar nicht benötigst. Erfahrung benötigt halt seine Zeit; den "perfekten" Kernel wirst Du dann aber irgendwann sicher haben.
Edit 2021-09-24: Falls Du meinst auch den systemd support enabeln zu wollen (weil im AMD64-Handbuch steht: "It does not hurt to have support for both init systems enabled."), dann studiere vorher die Datei: /usr/src/linux/distro/Kconfig ... Du wirst dann feststellen, dass Du dann nicht mehr in der Lage sein wirst IPv6 disablen zu können, weil es nun hart aktiviert wurde. Glaub mir: Wir brauchen das nicht; Lass es einfach ...
Es gibt noch einen Vorteil wenn Du gleich immer in die Hilfe schaust: Du siehst den Namen des Moduls und kannst gleich beginnen in Deinen Listen (s.o. "Daten sammeln") diese wegzustreichen; dann hast Du später weniger zu tun ...
Edit 2023-03-25: Ich habe das unten stehende komplett überarbeitet. Lese es nur und gehe dann in diese Wiki Seite:
https://wiki.gentoo.org/wiki/User:Pieti ... figuration
-------------------------------------------
Edit 2023-02-23: Hier findest Du für den Kernel Version 6.1.x den SLAB allocator:
Code: Select all
Memory Management options --->
SLAB allocator options --->
Choose SLAB allocator (SLUB (Unqueued Allocator)) --->
(X) SLUB (Unqueued Allocator)
[*] SLUB per cpu partial cacheCode: Select all
Cryptographic API --->
Accelerated Cryptographic Algorithms for CPU (x86) --->
[*] CRC32c (SSE4.2/PCLMULQDQ)
[*] CRC32 (PCLMULQDQ)Code: Select all
Gentoo Linux --->
[*] 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
[ ] Kernel Self Protection Project --->
[*] Print firmware information that the kernel attempts to load
General setup --->
[*] Compile the kernel with warnings as errors
Checkpoint/restore ist inzwischen nicht mehr zwingend nötig; es ist aber nicht verkehrt es zu enabeln
[*] Checkpoint/restore support
[ ] Initial RAM filesystem and RAM disk (initramfs/initrd) support
[*] Configure standard kernel features (expert users)
Choose SLAB allocator (SLUB (Unqueued Allocator)) --->
(X) SLUB (Unqueued Allocator)
Processor type and features --->
[*] Symmetric multi-processing support
If you have an AMD or INTEL NOTEBOOK; dont enable for a desktop mainboard (only one of them)
[?] Intel Low Power Subsystem Support
[?] AMD ACPI2Platform devices support
Enable this in every case for a INTEL or AMD system (only one of them)
[*] Supported processor vendors --->
[?] Support Intel processor
[?] Support AMD processors
[*] Machine Check / overheating reporting
Enable this in every case for an INTEL or AMD system (only one of them)
[?] Intel MCE Features
[?] AMD MCE Features
[ ] Enable 5-level page tables support
[*] EFI runtime service support
[*] EFI stub support
[ ] EFI mixed-mode support
vsyscall table for legacy applications (None) --->
[ ] Enable the LDT (local descriptor table)
Bus options (PCI etc.) --->
[*] Support mmconfig PCI config space access
Power management and ACPI options --->
[ ] Hibernation (aka 'suspend to disk')
[*] ACPI (Advanced Configuration and Power Interface) Support
Binary Emulations --->
[ ] IA32 Emulation
[ ] x32 ABI for 64-bit mode
[*] Enable the block layer --->
Partition Types --->
[*] Advanced partition selection
[*] PC BIOS (MSDOS partition tables) support
[*] EFI GUID Partition support
Device Drivers --->
Generic Driver Options --->
[*] Maintain a devtmpfs filesystem to mount at /dev
[*] Automount devtmpfs at /dev, after the kernel mounted the rootfs
Firmware Drivers --->
EFI (Extensible Firmware Interface) Support --->
[*] EFI Variable Support via sysfs
SCSI device support --->
[*] legacy /proc/scsi/ support
[*] SCSI disk support
This is for my Intel CPU:
[*] Hardware Monitoring support --->
[*] Intel Core/Core2/Atom temperature sensor
Graphics support --->
Console display driver support --->
[*] Framebuffer Console support
HID support --->
-*- HID bus support
[*] Battery level reporting for HID devices
[*] /dev/hidraw raw HID device support
[*] Generic HID driver
USB HID support --->
[*] USB HID transport layer
[*] /dev/hiddev raw HID device support
[*] USB support --->
[*] Support for Host-side USB
[*] PCI based USB host interface
[*] USB announce new devices
[*] Enable USB persist by default
[*] USB Monitor
[*] xHCI HCD (USB 3.0) support
If you have an old USB 2.0 or 1.1; look into your list from: "lspci -k"; if you dont find any module named ehci, ohci or uhci you dont have it !
[?] EHCI HCD (USB 2.0) support
[?] OHCI HCD (USB 1.1) support
[?] UHCI HCD (most Intel and VIA) support
[*] USB Mass Storage support
[*] USB Attached SCSI
This is for my Intel CPU; choose AMD IOMMU support for an AMD CPU:
[*] IOMMU Hardware Support --->
IOMMU default domain type (Translated - Strict) --->
[ ] AMD IOMMU support
[*] Support for Intel IOMMU using DMA Remapping Devices
[*] Support for Shared Virtual Memory with Intel IOMMU
[*] Enable Intel DMA Remapping Devices by default
[*] Enable Intel IOMMU scalable mode by default
[*] Support for Interrupt Remapping
File systems --->
[ ] Second extended fs support
[ ] The Extended 3 (ext3) filesystem
[*] The Extended 4 (ext4) filesystem
[*] Use ext4 for ext2 file systems
[*] Ext4 POSIX Access Control Lists
[*] Ext4 Security Labels
[ ] JBD2 (ext4) debugging support
[ ] Reiserfs support
[ ] JFS filesystem support
[ ] XFS filesystem support
[ ] GFS2 file system support
[ ] Btrfs 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)
Native Language support --->
(utf8) Default NLS Option
[*] Codepage 437 (United States, Canada)
[*] Codepage 850 (Europe)
[*] ASCII (United States)
[*] NLS ISO 8859-1 (Latin 1; Western European Languages)
[*] NLS ISO 8859-15 (Latin 9; Western European Languages with Euro)
[*] NLS UTF-8Für Deine Festplatte (auch SSD) lies dies und konfiguriere so:
https://wiki.gentoo.org/wiki/HDD
Wenn Du eine NVMe-"Platte" hast, lies dies und konfiguriere so:
https://wiki.gentoo.org/wiki/NVMe
Falls Du KEINE heutzutage gebräuchliche SATA Festplatte hast (also z.B. PATA oder schlimmer), lies dies und konfiguriere so:
https://wiki.gentoo.org/wiki/Kernel/Gen ... ts_and_DMA
Was man auch noch lesen kann (aber nicht unbedingt notwendig ist):
https://wiki.gentoo.org/wiki/Kernel/Gen ... tion_Guide
Speichere jetzt gleich die Konfiguration, damit Du einen definierten Stand hast, falls Du Dich später irgendwo vertust. Dann kannst Du nämlich die Konfiguration OHNE Sichern verlassen und von diesem Punkt aus neu starten (mit "make menuconfig").
Hast Du schon selbst den Unterschied zwischen [*] und -*- herausgefunden ? Falls nicht, lies das:
https://wiki.gentoo.org/wiki/Kernel/Configuration#Usage
Edit 2022-01-14: Hier hat @NeddySeagoon kurz erläutert wie die Kernel-Module zur Ansteuerung der Festplatte aufeinander aufbauen:
https://forums.gentoo.org/viewtopic-p-8 ... ml#8688524
2. MUSS: Konfiguriere Deine Grafikkarte anhand dieser beiden Links:
2.a. https://wiki.gentoo.org/wiki/Framebuffer UND einen dieser folgenden Links:
Falls Du noch nie eine Kernel konfiguriert hast, lies VORHER dieses kurze Kapitel zum Verständnis (auf englisch):
https://wiki.gentoo.org/wiki/User:Pieti ... s_Firmware
2.b. Hier findest Du auch die Werte für VIDEO_CARDS für Deine make.conf.
https://wiki.gentoo.org/wiki/Intel
- oder -
https://wiki.gentoo.org/wiki/Nouveau
- oder -
https://wiki.gentoo.org/wiki/Radeon
- oder -
https://wiki.gentoo.org/wiki/AMDGPU
... und speichere ...
3. MUSS: Konfiguriere als nächstes den Microcode anhand dieser Links und Deiner Daten auf Deinem ersten Blatt Papier:
https://forums.gentoo.org/viewtopic-t-1065464.html
(Das gleiche wird hier - aber natürlich viel verwirrender
- oder-
https://wiki.gentoo.org/wiki/AMD_microcode
... und speichere ...
4. MUSS: Tastatur und Maus:
https://wiki.gentoo.org/wiki/Libinput
5. MUSS: Suche Deinen Ethernet-Treiber indem Du ein / im Hauptmenü eingibst. Danach gib den Modul-Namen aus Deinen Notizen von oben ein. Du erhältst ein "Defined at drivers/net/ethernet/....". Genau da gehst Du rein, aktivierst Dein Ethernet-Modul statisch mit [*] und löscht bei allen anderen Ethernet-Modulen das <M> raus (sofern vorhanden), da wir sonst keine anderen Ethernet-Module unnötigerweise mitcompilieren wollen.
6. MUSS: Mache Schritt Nr. 5 für alle übrig geblienen Module aus Deiner Abfrage mit lspci -k (einige hast Du ja vermutlich bereits gesetzt, wie z.B. vermutlich ahci) ... und speichere ...
Code: Select all
Device Drivers --->
[*] PCI support --->
PCI controller drivers --->
[*] Intel Volume Management Device DriverFalls das Modul thunderbolt in Deiner lspci-Abfrage auftaucht (weil Du einen USB-C hast) und Du dieses mit / suchst, wirst Du leider nur "INTEL_WMI_THUNDERBOLT" finden. Dies ist aber das falsche; das Modul thunderbolt ist hier versteckt:
Code: Select all
Device Drivers --->
[*] Unified support for USB4 and Thunderbolt --->Bezüglich der Sicherheit lies das hier: https://docs.kernel.org/admin-guide/thunderbolt.html
7. Kein MUSS - aber mehr als nur sinnvoll: Falls Du eine "High-end-CPU" mit vielen logischen Kernen hast, überprüfe diese Einstellung und ändere es ab auf die Anzahl Deiner logische Kerne. Wenn Du "nur" eine CPU mit 8 Kernen hast, ist eine Anpassung ebenfalls sinnvoll, WEIL es dem Kernel Hauptspeicher (RAM) spart (bei mir steht da also eine 8 drin für meinen Intel i7).
Code: Select all
Processor type and features --->
[ ] Enable Maximum number of SMP Processors and NUMA Nodes
(15) Maximum number of CPUs8. Kein MUSS - nur ein Hinweis: Falls Du ein hypermodernes Notebook haben solltest mit Gemeinheiten wie z.B. Touchpad-Anbindung über I2C, dann lese doch auch gleich Post Nr. 9 dieses Threads; lies dann auch gleich hier weiter und kombiniere das mit dem Schritt (Y) !
Das sollte vorerst genügen und Du kannst den Kernel jetzt gleich compilieren. Wenn Du dann in A.3 einen Neustart gemacht hast und somit weißt, dass dieser Kernel bootet, kannst Du in aller Ruhe weiter konfigurieren.
Folgendes gilt es - jetzt oder später - "abzuarbeiten":
-----------------------------------------------------------------------------------
- https://wiki.gentoo.org/wiki/ALSA (Hier findest Du auch die Werte für ALSA_CARDS für Deine make.conf)
- https://wiki.gentoo.org/wiki/Power_management/Processor Hier aktivierst Du: High Resolution Timer Support, Idle dynticks system und HPET Timer Support. Für neuere Intel-Prozessoren sollte ausschließlich P-State benutzt werden; für Desktops dann: Performance; für Notebooks: Powersave. Siehe auch ->
- https://wiki.gentoo.org/wiki/Power_management/Guide
- https://wiki.gentoo.org/wiki/System_time
- Für KDE Vaults (meine Empfehlung) benötigen wir: https://wiki.gentoo.org/wiki/Encfs
- Optional: https://wiki.gentoo.org/wiki/CDROM
- Optional: https://wiki.gentoo.org/wiki/Webcams und/oder https://wiki.gentoo.org/wiki/Motion
- Optional: Nur wenn Du mal einen unter Windows mit NTFS formattierten USB-Stick lesen möchtest: https://wiki.gentoo.org/wiki/NTFS
- (Höchst optional: https://wiki.gentoo.org/wiki/ECryptfs )
(Y) Mache Schritt Nr. 5 für alle Module aus Deiner Abfrage mit lsmod ... (die meisten dürften jedoch schon aktiviert sein).
(Z) wie: Zuletzt ... entferne alles, was definitiv nicht gebraucht wird. Bei mir z.B.: Alles mit IPv6, initramfs, serielle und paralelle Treiber, und alle INTEL_MEI-Module; lies in der Hilfe was das ist und ob Du das wirklich willst/brauchst
Falls Du einen hochauflösenden Monitor (4K) hast und Dir die Ausgabe im Terminal zu klein ist, kannst Du einen größeren Font wählen:
Code: Select all
Library routines --->
[*] Select compiled-in fonts
[*] Terminus 16x32 font (not supported by all drivers)Nun compilieren wir den Kernel und installieren ihn automatisch nach /boot mittels "make install". Benutze beim Paramter "-j" die Anzahl der Kerne Deiner CPU (ich habe 8 ). Aufgrund meines Backup-Konzepts erstelle ich ein Verzeichnis in /etc und kopiere dort die Kernel-Konfiguration rein. Der "eselect kernel" verwaltet lediglich den soft-link von /usr/src/linux. (Du kannst das gerne immer überprüfen mit "ls -l /usr/src" )
Code: Select all
# make -j 8
# make install
# make modules_install
# mkdir /etc/MY
# cp .config /etc/MY/config-X-Y-Z
# eselect kernel list
# eselect kernel set 1
https://kernsec.org/wiki/index.php/Kern ... d_Settings
Vorläufiges Cheat Sheet - gültig ab erfolgreichen Reboot in A.3:
Code: Select all
Neue Kernel-Version:
--------------------
# emerge -1uvDp gentoo-sources
# mount /boot
# cd /usr/src/linux-X.Y.Z-gentoo
# cp /usr/src/linux/.config .
# make oldconfig
# make -j 8
# make install
# make modules_install
# cp .config /etc/MY/config-X-Y-Z
# grub-mkconfig -o /boot/grub/grub.cfg
# eselect kernel list
# eselect kernel set
# umount /boot
Änderung der Konfiguration des bestehenden Kernels:
---------------------------------------------------
# mount /boot
# cd /usr/src/linux
# make menuconfig
# make -j 8
# make install
# make modules_install
# cp .config /etc/MY/config-X-Y-Z-revA
# grub-mkconfig -o /boot/grub/grub.cfg
# umount /boot
P.S.: @Josef.95 hat in diesem Thread https://forums.gentoo.org/viewtopic-t-1 ... ight-.html darauf hingewiesen, dass man sich das Umkopieren der alten .config sparen kann, wenn man ein "make oldconfig" macht. @mike155 meinte im gleichen Thread, dass das aber nicht immer funktionieren muss. Das ist ein Grund warum ich das Umkopieren der .config in diesem Cheat Sheet aufgeführt habe. Der zweite Grund ist: Wenn Du einen stub kernel (nach B.2) machst, wird es dann kein "make install" mehr geben. Dann MUSS eh wieder die .config manuell umkopiert werden (Du bekommst in B.2 aber eh wieder ein passendes Cheat Sheet).
P.P.S.: Es gibt einige Anleitungen, die zuerst den Soft-Link per "eselect kernel set X" umbiegen, dann in /usr/src/linux wechseln und dort alles nötige machen. Jetzt könnte man meinen, es ist doch egal wie ich vorgehe, hauptsache ich gehe in das richtige Verzeichnis und kopiere die alte .config vom richtigen Verzeichnis in das richtige. Warum gehe ich so vor, dass ich erst nach dem Erstellen des neuen Kernels den Soft-Link umbiege ? Weil es seltene Momente gibt, wo der neue Kernel nicht compiliert wird und der "make" abbricht ... denkst Du dann wirklich daran, dass Du in so einem Fall den Soft-Link wieder zurück biegen musst ? Wenn man wirklich sehr penibel sein will, dürfte man den Soft-Link eigentlich erst dann umbiegen, wenn der neue Kernel auch erfolgreich gebootet hat.
Weiter geht es in A.3

