Hvordan skifter arch linux til lts kernel?

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 og initramfs-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

  • dette er den enkleste påkaldelse. værktøjet skal autolokalisere dine eksisterende kerner ( plus ekstra bits som ramdisk, mikrokode osv.) og en tilføj dem utomatisk. dette giver et godt overblik over, hvordan du kan konfigurere den resulterende grub.cfg -fil.
  • også , du kan tilføje poster til filer i /etc/grub.d – se her
  • Kør grub-mkconfig , kontroller at du ser en strofe til linux-lts i grub.cfg, og genstart.

Svar

Okay, efter at joe pegede mig den rigtige retning i kommentarer, så gjorde jeg det:

  1. grundlæggende skal du bare installere pacman -S linux-lts

  2. (valgfrit) kontroller om kerne, ramdisk og fallback er tilgængelige i ls -lsha /boot

  3. fjern standardkernen pacman -R linux

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

  5. 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 installere acpi_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 ' s advanced 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.

  1. Installer linux-lts
  2. (valgfrit) Kontroller, om LTS-versionen af kernen, ramdisk og fallback er tilgængelig i /boot -mappen.
  3. 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 og initrd værdi. Disse filer skal være i mappen /boot.

  4. 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”.

  5. (valgfrit) Efter vellykket opstart i LTS-kernen (bekræft det med uname -r), fjern standardkernen med pacman -R linux.

Svar

  1. Installer linux-lts (eller enhver anden kerne):

    pacman -S linux-lts 
  2. 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 
  3. 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å redigere refind_linux.conf: ændre initrd=/boot/initramfs-linux.img til initrd=/boot/initramfs-linux-lts.img.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *