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
ochinitramfs-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
Svar
Okej, efter att joe pekat mig rätt riktning i kommentarer, så gjorde jag det:
-
grundläggande installerar du bara
pacman -S linux-lts
-
(valfritt) kontrollera om kärna, ramdisk och fallback finns i
ls -lsha /boot
-
ta bort standardkärnan
pacman -R linux
-
uppdatera grub-konfigurationen
grub-mkconfig -o /boot/grub/grub.cfg
-
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å installeraacpi_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 ' sadvanced 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.
- Installera
linux-lts
- (valfritt) Kontrollera om LTS-versionen av kärna, ramdisk och fallback finns i
/boot
-mappen. -
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 ochinitrd
värde. Dessa filer ska finnas i mappen/boot
. -
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”.
-
(valfritt) Efter att jag startat upp i LTS-kärnan (verifiera det med
uname -r
), ta bort standardkärnan medpacman -R linux
.
Svar
-
Installera
linux-lts
(eller någon annan kärna):pacman -S linux-lts
-
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
- 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å redigerarefind_linux.conf
: ändrainitrd=/boot/initramfs-linux.img
tillinitrd=/boot/initramfs-linux-lts.img
.
grub.cfg
-filen./etc/grub.d
– se här