Wie kann man Arch Linux auf seinen Kernel umstellen?

Ich führe eine Headless-Server-Installation von Arch Linux aus. Die hohe Rate an Kernel-Upgrades verursachte mir einige Wartungsprobleme und ich möchte daher auf lts Kernel .

Ich habe bereits die linux-lts und linux-lts-headers -Pakete. Jetzt habe ich beide Kernel installiert, aber ich weiß nicht, wie ich von hier aus fortfahren soll. In den Dokumenten wird erklärt :

[…] müssen Sie Ihre aktualisieren Konfigurationsdatei des Bootloaders zur Verwendung des LTS-Kernels und der RAM-Disk: vmlinuz-linux-lts und initramfs-linux-lts.img.

Ich habe sie bereits im Boot-Bereich gefunden:

0 ✓ root@host ~ $ ll /boot/ total 85M 4,0K drwxr-xr-x 4 root root 4,0K 21. Mai 13:46 ./ 4,0K drwxr-xr-x 17 root root 4,0K 4. Apr 15:08 ../ 4,0K drwxr-xr-x 6 root root 4,0K 4. Apr 14:50 grub/ 27M -rw-r--r-- 1 root root 27M 20. Mai 17:01 initramfs-linux-fallback.img 12M -rw-r--r-- 1 root root 12M 20. Mai 17:01 initramfs-linux.img 27M -rw-r--r-- 1 root root 27M 21. Mai 13:46 initramfs-linux-lts-fallback.img 12M -rw-r--r-- 1 root root 12M 21. Mai 13:46 initramfs-linux-lts.img 16K drwx------ 2 root root 16K 4. Apr 14:47 lost+found/ 4,3M -rw-r--r-- 1 root root 4,3M 11. Mai 22:23 vmlinuz-linux 4,2M -rw-r--r-- 1 root root 4,2M 19. Mai 21:05 vmlinuz-linux-lts 

Jetzt habe ich bereits Einträge gefunden, die auf den Nicht-lts-Kernel verweisen in der grub.cfg, aber der Header sagt mir, dass ich diese Datei nicht bearbeiten soll. Er verweist stattdessen auf das Dienstprogramm grub-mkconfig, aber ich kann es nicht herausfinden Wie man dieses Tool verwendet, um grub mitzuteilen, welcher Kernel und welche Ramdisk verwendet werden sollen.

Wie man Archlinux mit grub auf den lts-Kernel umschaltet? Worauf muss ich beim Umschalten des Kernels noch achten?

Kommentare

Antwort

Okay, nachdem Joe mir in den Kommentaren die richtige Richtung gezeigt hat, habe ich es so gemacht:

  1. Installieren Sie einfach pacman -S linux-lts

  2. (optional) Überprüfen Sie, ob Kernel, Ramdisk und Fallback in ls -lsha /boot

  3. verfügbar sind Entfernen Sie den Standardkernel pacman -R linux

  4. Aktualisieren Sie die Grub-Konfiguration grub-mkconfig -o /boot/grub/grub.cfg

  5. Neustart

Hinweis: Für syslinux müssen Sie die syslinux-Konfiguration bearbeiten Datei in /boot/syslinux/syslinux.cfg entsprechend zeigen Sie einfach alles auf die -lts Kernel.

Kommentare

  • Beachten Sie, dass möglicherweise auch alle Kernelmodule durch ihre lts-Entsprechung ersetzt werden müssen . z.B. Wenn acpi_call zuvor installiert wurde, ist es ' wahrscheinlich am besten, andernfalls auch acpi_call-lts zu installieren Das Modul wird ' nicht geladen.
  • FWIW Sie können Schritt 3 überspringen und beide Kernel gleichzeitig installieren. Für mich wurde lts nach dem Neustart standardmäßig ausgewählt, aber ich könnte auch in grub ' s advanced options und wählen Sie stattdessen den Standardkernel aus.
  • Meiner blieb beim Booten von initramfs hängen und ich musste sudo mkinitcpio -p linux-lts manuell ausführen.
  • und wie wechsle ich zurück?
  • Schritt 4 ist wichtig, andernfalls müssen Sie grub beim Booten manuell bearbeiten, um den richtigen Kernel zu booten.

Antwort

Die Antwort von Afri funktioniert gut für GRUB, aber ich bin direktes Verwenden von UEFI , das leichter ist und das UEFI-Motherboard voll ausnutzt.

  1. Installieren Sie linux-lts
  2. (optional) Überprüfen Sie, ob die LTS-Version von Kernel, Ramdisk und Fallback im Ordner /boot verfügbar ist.
  3. Generieren Sie den EFI-Eintrag genauso wie den regulären Linux-Eintrag, ersetzen Sie jedoch den RAM Festplatte und Lader mit den LTS. Beispiel:

    efibootmgr --disk /dev/sdX --part Y --create --label "Arch Linux LTS" --loader /vmlinuz-linux-lts --unicode "root=PARTUUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw initrd=\initramfs-linux-lts.img" --verbose 

    Beachten Sie den Wert --loader und initrd Wert. Diese Dateien sollten sich im Ordner /boot befinden.

  4. Neustart. Möglicherweise möchten Sie die Startreihenfolge in Motherboad anpassen, bevor Sie das Betriebssystem starten, indem Sie beispielsweise F12 drücken (abhängig von Ihrem Motherboard). Ich verwende tatsächlich Hyper-V, das die Konfiguration der Startreihenfolge in „Hyper-V Manager“ ermöglicht.

  5. (optional) Nach dem erfolgreichen Booten des LTS-Kernels (überprüfen Sie dies mit uname -r), entfernen Sie den Standardkernel mit pacman -R linux.

Antwort

  1. Installieren Sie linux-lts (oder ein anderer Kernel):

    pacman -S linux-lts 
  2. Aktualisieren Sie Ihren Bootloader-Eintrag:

    $ sudo vim /boot/loader/entries/arch.conf 

    und ändern:

    linux /vmlinuz-linux initrd /initramfs-linux.img ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ linux /vmlinuz-linux-lts initrd /initramfs-linux-lts.img 
  3. Starten Sie neu und bestätigen Sie mit uname -r

Antwort

Wie Franklin Yu bin ich auch auf einem System ohne GRUB musste zu einem anderen Kernel wechseln und efibootmgr noch nicht verwendet haben. Ich habe einen sachkundigeren Freund danach gefragt und er hat das Tool rEFInd , das die von Franklin vorgeschlagenen Schritte automatisiert und Ihnen beim Booten ein schönes Menü mit den verfügbaren Kerneln anzeigt. Die Installation war völlig unkompliziert und ich konnte die Kernel-Versionen problemlos wechseln.

Kommentare

  • Auf meinem Computer (Arch Linux Dual Boot mit Windows + rEFInd ) Nach der Installation des Kernels lts muss ich auch refind_linux.conf bearbeiten: change initrd=/boot/initramfs-linux.img zu initrd=/boot/initramfs-linux-lts.img.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.