Hoe verander ik arch linux naar lts kernel?

Ik “draai een headless serverinstallatie van arch linux. Het hoge aantal kernelupgrades bezorgde me wat onderhoudshoofdpijn en daarom wil ik overschakelen naar de lts kernel .

Ik heb de linux-lts en linux-lts-headers pakketten. Nu heb ik beide kernels geïnstalleerd, maar ik “had geen idee hoe ik vanaf hier verder moest gaan. De documenten leggen uit :

[…] die u nodig heeft om uw bootloader “s configuratiebestand om de LTS-kernel en ramdisk te gebruiken: vmlinuz-linux-lts en initramfs-linux-lts.img.

Ik heb ze al in de opstartsectie gevonden:

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 

Nu heb ik al vermeldingen gevonden die naar de niet-lts-kernel verwijzen in de grub.cfg maar de header vertelt me dit bestand niet te bewerken. Het verwijst me naar het hulpprogramma grub-mkconfig maar ik kan er niet achter komen hoe deze tool te gebruiken om grub te vertellen welke kernel en ramdisk gebruikt moet worden.

Hoe archlinux met grub naar de lts-kernel te wisselen? Waar moet ik nog meer op letten bij het wisselen van de kernel?

Reacties

  • dit is de eenvoudigste aanroep. de tool zou je bestaande kernels automatisch moeten lokaliseren ( plus extra bits zoals ramdisk, microcode enz.) en een voeg ze automatisch toe. dit geeft een mooi overzicht van hoe je het resulterende grub.cfg bestand kunt configureren.
  • ook , je kunt items toevoegen aan bestanden in /etc/grub.d – zie hier
  • Voer grub-mkconfig uit , controleer of je een stanza voor linux-lts in grub.cfg ziet, en start opnieuw op.

Answer

Oké, nadat Joe me in opmerkingen de goede richting had gewezen, is dit hoe ik het deed:

  1. installeer in principe gewoon pacman -S linux-lts

  2. (optioneel) controleer of kernel, ramdisk en fallback beschikbaar zijn in ls -lsha /boot

  3. verwijder de standaard kernel pacman -R linux

  4. update de grub-configuratie grub-mkconfig -o /boot/grub/grub.cfg

  5. reboot

Let op, voor syslinux moet je de syslinux-configuratie bewerken bestand in /boot/syslinux/syslinux.cfg dienovereenkomstig, wijs alles naar de -lts kernel.

Commentaren

  • Merk op dat het nodig kan zijn om kernelmodules te vervangen door hun lts-equivalent . bijv. als acpi_call eerder was geïnstalleerd, is ' waarschijnlijk het beste om ook acpi_call-lts te installeren, anders de module heeft ' t geladen.
  • FWIW je kunt stap 3 overslaan en beide kernels tegelijk installeren. Voor mij is lts standaard geselecteerd na het opnieuw opstarten, maar ik zou ook naar grub ' s advanced options en selecteer in plaats daarvan de standaard kernel.
  • De mijne liep vast bij het opstarten van initramfs en ik moest sudo mkinitcpio -p linux-lts handmatig uitvoeren.
  • en hoe schakel ik terug?
  • stap 4 is kritiek, anders moet je grub tijdens het opstarten handmatig bewerken om de juiste kernel op te starten.

Answer

Het antwoord van Afri werkt goed voor GRUB, maar ik ben rechtstreeks gebruikmakend van UEFI , die lichter is en volledig gebruik maakt van het UEFI-moederbord.

  1. Installeer linux-lts
  2. (optioneel) Controleer of de LTS-versie van de kernel, ramdisk en fallback beschikbaar zijn in de map /boot.
  3. Genereer de EFI-invoer, op dezelfde manier als u de normale Linux-invoer hebt gegenereerd, maar vervang de ram schijf en lader met de LTS-versies. Bijvoorbeeld:

    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 

    Let op de --loader waarde en initrd waarde. Deze bestanden zouden in de /boot map moeten staan.

  4. Herstart. Mogelijk wilt u de opstartvolgorde in het moederbord aanpassen voordat u het besturingssysteem opstart, bijvoorbeeld door op F12 te drukken (afhankelijk van uw moederbord). Ik gebruik eigenlijk Hyper-V, wat configuratie van opstartvolgorde in “Hyper-V Manager” mogelijk maakt.

  5. (optioneel) Na het succesvol opstarten in de LTS-kernel (verifieer het met uname -r), verwijder de standaard kernel met pacman -R linux.

Antwoord

  1. Installeer linux-lts (of een andere kernel):

    pacman -S linux-lts 
  2. Update je bootloader-item:

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

    en verander:

    linux /vmlinuz-linux initrd /initramfs-linux.img ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ linux /vmlinuz-linux-lts initrd /initramfs-linux-lts.img 
  3. Herstart en bevestig met uname -r

Antwoord

Net als Franklin Yu zit ik ook op een systeem zonder GRUB. nodig om over te schakelen naar een andere kernel en “efibootmgr niet eerder gebruikt. Ik vroeg een goed geïnformeerde vriend hierover en hij stelde de tool voor rEFInd , dat de stappen automatiseert die Franklin voorstelde en je tijdens het opstarten een mooi menu laat zien van welke kernels je beschikbaar hebt. De installatie was volkomen eenvoudig en ik was in staat om gemakkelijk van kernelversie te wisselen.

Opmerkingen

  • Op mijn computer (Arch Linux dual boot met Windows + rEFInd ), na het installeren van de lts kernel, moet ik ook refind_linux.conf: change initrd=/boot/initramfs-linux.img bewerken naar initrd=/boot/initramfs-linux-lts.img.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *