Jeg kører en hovedløs serverinstallation af arch linux. Den høje hastighed af kerneopgraderinger forårsagede mig noget vedligeholdelseshovedpine, og jeg vil derfor skifte til lts kerne .
Jeg har allerede installeret linux-lts
og linux-lts-headers
-pakker. Nu fik jeg begge kerner installeret, men jeg er lidt klar over, hvordan jeg fortsætter herfra. docs forklarer :
[…] du bliver nødt til at opdatere din bootloaders konfigurationsfil til at bruge LTS-kernen og ramdisken:
vmlinuz-linux-lts
oginitramfs-linux-lts.img
.
Jeg har allerede fundet dem i opstartsafsnittet:
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 jeg allerede fundet poster, der peger på kernen, der ikke er lts i grub.cfg
men overskriften fortæller mig ikke at redigere denne fil. Den peger på værktøjet grub-mkconfig
i stedet, men jeg kan ikke finde ud af hvordan man bruger dette værktøj til at fortælle grub hvilken kerne og ramdisk der skal bruges.
Sådan skifter du archlinux med grub til lts-kernen? Hvad skal jeg ellers være forsigtig med, når jeg skifter kerne?
Kommentarer
Svar
Okay, efter at joe pegede mig den rigtige retning i kommentarer, så gjorde jeg det:
-
grundlæggende skal du bare installere
pacman -S linux-lts
-
(valgfrit) kontroller om kerne, ramdisk og fallback er tilgængelige i
ls -lsha /boot
-
fjern standardkernen
pacman -R linux
-
opdater grub-konfigurationen
grub-mkconfig -o /boot/grub/grub.cfg
-
reboot
Bemærk, for syslinux
skal du redigere syslinux-konfigurationen fil i /boot/syslinux/syslinux.cfg
i overensstemmelse hermed skal du bare pege alt på -lts
kerne.
Kommentarer
- Bemærk, at man muligvis også skal udskifte kernemoduler med deres lts ækvivalente . for eksempel. hvis
acpi_call
tidligere var installeret, er det ' sandsynligvis bedst at installereacpi_call-lts
modulet vandt ' ikke indlæst. - FWIW, du kan springe trin 3 over og have begge kerner installeret på én gang. For mig blev
lts
valgt som standard efter genstart, men jeg kunne også gå ind i grub ' sadvanced options
og vælg standardkernen i stedet. - Mine sidder fast ved opstart af initramfs, og jeg var nødt til manuelt at køre
sudo mkinitcpio -p linux-lts
. - og hvordan skifter jeg tilbage?
- trin 4 er kritisk, ellers skal du manuelt redigere grub ved opstartstidspunktet for at starte den korrekte kerne.
Svar
Svaret fra Afri fungerer godt for GRUB, men jeg er bruger UEFI direkte , hvilket er mere let og bruger fuldt ud UEFI-bundkortet.
- Installer
linux-lts
- (valgfrit) Kontroller, om LTS-versionen af kernen, ramdisk og fallback er tilgængelig i
/boot
-mappen. -
Generer EFI-posten på samme måde som du genererede den almindelige Linux, men udskift ram disk og loader med LTS. For eksempel:
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
Bemærk
--loader
-værdien oginitrd
værdi. Disse filer skal være i mappen/boot
. -
Genstart. Det kan være en god idé at justere opstartsrækkefølgen i bundkortet, før du starter i operativsystemet, f.eks. Ved at trykke på F12 (afhængigt af dit bundkort). Jeg bruger faktisk Hyper-V, som tillader konfiguration af opstartsordre i “Hyper-V Manager”.
-
(valgfrit) Efter vellykket opstart i LTS-kernen (bekræft det med
uname -r
), fjern standardkernen medpacman -R linux
.
Svar
-
Installer
linux-lts
(eller enhver anden kerne):pacman -S linux-lts
-
Opdater din boot loader-post:
$ sudo vim /boot/loader/entries/arch.conf
og skift:
linux /vmlinuz-linux initrd /initramfs-linux.img ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ linux /vmlinuz-linux-lts initrd /initramfs-linux-lts.img
- Genstart og bekræft med
uname -r
Svar
Ligesom Franklin Yu er jeg også på et system uden GRUB. I nødvendigt at skifte til en anden kerne og ikke har brugt efibootmgr før. Jeg spurgte en mere kyndig ven om dette og han foreslog værktøjet rEFInd , der automatiserer de trin, som Franklin foreslog, og præsenterer dig med en dejlig menu ved opstartstidspunktet, hvilke kerner du har til rådighed. Installationen var helt ligetil, og jeg kunne let skifte kerneversioner.
Kommentarer
- I min maskine (Arch Linux dual boot med Windows + rEFInd ) efter installation af
lts
kerne, skal jeg også redigererefind_linux.conf
: ændreinitrd=/boot/initramfs-linux.img
tilinitrd=/boot/initramfs-linux-lts.img
.
grub.cfg
-fil./etc/grub.d
– se her