Hur byter arch linux till lts kernel?

Jag kör en huvudlös serverinstallation av arch linux. Den höga frekvensen av kärnuppgraderingar orsakade mig lite underhållshuvudvärk och jag vill därför byta till lts kärna .

Jag har redan installerat linux-lts och linux-lts-headers -paket. Nu har jag fått båda kärnorna installerade men jag vet lite hur jag ska fortsätta härifrån. docs förklarar :

[…] du måste uppdatera din bootloaders konfigurationsfil för att använda LTS-kärnan och ram-disken: vmlinuz-linux-lts och initramfs-linux-lts.img.

Jag har redan hittat dem i startavsnittet:

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 har jag redan hittat poster som pekar på kärnan som inte är lts i grub.cfg men rubriken säger till mig att inte redigera den här filen. Det pekar på verktyget grub-mkconfig istället men jag kan inte räkna ut hur man använder det här verktyget för att berätta för grub vilken kärna och ramdisk som ska användas.

Hur byter jag archlinux med grub till lts-kärnan? Vad mer måste jag vara försiktig med när jag byter kärna?

Kommentarer

  • detta är den enklaste anropet. verktyget ska automatiskt placera dina befintliga kärnor ( plus extra bitar som ramdisk, mikrokod etc) och a lägg dem utomatiskt. detta ger en fin översikt över hur du kan konfigurera den resulterande grub.cfg -filen.
  • också , du kan lägga till poster i filer i /etc/grub.d – se här
  • Kör grub-mkconfig , kontrollera att du ser en strofe för linux-lts i grub.cfg och starta om.

Svar

Okej, efter att joe pekat mig rätt riktning i kommentarer, så gjorde jag det:

  1. grundläggande installerar du bara pacman -S linux-lts

  2. (valfritt) kontrollera om kärna, ramdisk och fallback finns i ls -lsha /boot

  3. ta bort standardkärnan pacman -R linux

  4. uppdatera grub-konfigurationen grub-mkconfig -o /boot/grub/grub.cfg

  5. reboot

Obs! För syslinux måste du redigera syslinux-konfigurationen filen i /boot/syslinux/syslinux.cfg följaktligen, peka bara på -lts kärna.

Kommentarer

  • Observera att man kan behöva byta ut alla kärnmoduler med deras ekvivalenter . t.ex. om acpi_call tidigare installerades är det ' troligen bäst att också installera acpi_call-lts, annars modulen vann ' t laddas.
  • FWIW du kan hoppa över steg 3 och ha båda kärnorna installerade samtidigt. För mig valdes lts som standard efter omstart, men jag kunde också gå in i grub ' s advanced options och välj standardkärnan istället.
  • Gruvan fastnade vid start av initramfs och jag var tvungen att köra sudo mkinitcpio -p linux-lts manuellt.
  • och hur byter jag tillbaka?
  • steg 4 är viktigt, annars måste du redigera grub manuellt vid starttid för att starta rätt kärna.

Svar

Svaret från Afri fungerar bra för GRUB, men jag är använder UEFI direkt , vilket är lättare och använder UEFI-moderkortet till fullo.

  1. Installera linux-lts
  2. (valfritt) Kontrollera om LTS-versionen av kärna, ramdisk och fallback finns i /boot -mappen.
  3. Generera EFI-posten, på samma sätt som du genererade den vanliga Linux, men ersätt ram disk och lastare med LTS-enheterna. Till exempel:

    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 

    Notera --loader -värdet och initrd värde. Dessa filer ska finnas i mappen /boot.

  4. Starta om. Du kanske vill justera startordningen i moderkortet innan du startar i operativsystemet, till exempel genom att trycka på F12 (beroende på moderkortet). Jag använder faktiskt Hyper-V, som tillåter konfiguration av startorder i ”Hyper-V Manager”.

  5. (valfritt) Efter att jag startat upp i LTS-kärnan (verifiera det med uname -r), ta bort standardkärnan med pacman -R linux.

Svar

  1. Installera linux-lts (eller någon annan kärna):

    pacman -S linux-lts 
  2. Uppdatera din startposter:

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

    och ändra:

    linux /vmlinuz-linux initrd /initramfs-linux.img ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ linux /vmlinuz-linux-lts initrd /initramfs-linux-lts.img 
  3. Starta om och bekräfta med uname -r

Svar

Liksom Franklin Yu är jag också på ett system utan GRUB. I behövs för att byta till en annan kärna och har inte använt efibootmgr tidigare. Jag frågade en mer kunnig vän om detta och han föreslog verktyget rEFInd , som automatiserar stegen som Franklin föreslog och presenterar en trevlig meny vid start av vilka kärnor du har tillgängliga. Installationen var helt enkel och jag kunde enkelt byta kärnversioner.

Kommentarer

  • I min maskin (Arch Linux dual boot med Windows + rEFInd ), efter att ha installerat lts -kärnan, måste jag också redigera refind_linux.conf: ändra initrd=/boot/initramfs-linux.img till initrd=/boot/initramfs-linux-lts.img.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *