Hvordan bytte arch linux til lts kernel?

Jeg kjører en hodeløs serverinstallasjon av arch linux. Den høye frekvensen av kjerneoppgraderinger førte til at jeg opprettholdt hodepine, og jeg ønsker derfor å bytte til lts kjerne .

Jeg har allerede installert linux-lts og linux-lts-headers -pakker. Nå har jeg fått begge kjernene installert, men jeg er litt klar over hvordan jeg kan fortsette herfra. docs forklarer :

[…] du må oppdatere bootloader konfigurasjonsfil for å bruke LTS-kjernen og RAM-disken: vmlinuz-linux-lts og initramfs-linux-lts.img.

Jeg har allerede lokalisert dem i oppstartsseksjonen:

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 

Nå fant jeg allerede oppføringer som peker til ikke-lts-kjernen i grub.cfg men overskriften forteller meg at jeg ikke skal redigere denne filen. Den peker meg på verktøyet grub-mkconfig i stedet, men jeg kan ikke finne ut hvordan bruker jeg dette verktøyet for å fortelle grub hvilken kjerne og ramdisk du skal bruke.

Hvordan bytte archlinux med grub til lts-kjernen? Hva mer må jeg være forsiktig med når jeg bytter kjernen?

Kommentarer

  • dette er den enkleste påkallingen. verktøyet skal autolokalisere eksisterende kjerner ( pluss ekstra biter som ramdisk, mikrokode osv.) og en legg dem utomatisk. dette gir en fin oversikt over hvordan du kan konfigurere den resulterende grub.cfg -filen.
  • også , kan du legge til oppføringer i filer i /etc/grub.d – se her
  • Kjør grub-mkconfig , sjekk at du ser en strofe for linux-lts i grub.cfg, og start på nytt.

Svar

Ok, etter at joe pekte meg riktig retning i kommentarer, så gjorde jeg det:

  1. Grunnleggende bare installer pacman -S linux-lts

  2. (valgfritt) sjekk om kjerne, ramdisk og reserve er tilgjengelig i ls -lsha /boot

  3. fjern standardkjernen pacman -R linux

  4. oppdater grub-konfigurasjonen grub-mkconfig -o /boot/grub/grub.cfg

  5. reboot

Merk, for syslinux må du redigere syslinux-konfigurasjonen filen i /boot/syslinux/syslinux.cfg deretter, bare pek alt til -lts kjerne.

Kommentarer

  • Vær oppmerksom på at det kan være nødvendig å erstatte alle kjernemoduler med deres lts-ekvivalente . f.eks. hvis acpi_call tidligere var installert, er det ' sannsynligvis best å også installere acpi_call-lts modulen vant ' t belastes.
  • FWIW du kan hoppe over trinn 3 og ha begge kjernene installert samtidig. For meg ble lts valgt som standard etter omstart, men jeg kunne også gå inn i grub ' s advanced options og velg standardkjernen i stedet.
  • Mine ble sittende fast ved oppstart av initramfs, og jeg måtte kjøre sudo mkinitcpio -p linux-lts manuelt.
  • og hvordan bytter jeg tilbake?
  • trinn 4 er kritisk, ellers må du redigere grub manuelt ved oppstart for å starte riktig kjerne.

Svar

Svaret fra Afri fungerer bra for GRUB, men jeg er bruker UEFI direkte , som er lettere og gjør full bruk av UEFI-hovedkortet.

  1. Installer linux-lts
  2. (valgfritt) Sjekk om LTS-versjonen av kjerne, ramdisk og reserve er tilgjengelig i /boot -mappen.
  3. Generer EFI-oppføringen, på samme måte som du genererte den vanlige Linux-en, men erstatt ram disk og laster med LTS-ene. 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 

    Legg merke til --loader -verdien og initrd verdi. Disse filene skal være i /boot -mappen.

  4. Start på nytt. Det kan være lurt å justere oppstartsrekkefølgen i hovedkortet før du starter opp i operativsystemet, for eksempel ved å trykke på F12 (avhengig av hovedkortet). Jeg bruker faktisk Hyper-V, som tillater konfigurasjon av oppstartsordre i «Hyper-V Manager».

  5. (valgfritt) Etter vellykket oppstart i LTS-kjernen (bekreft med uname -r), fjern standardkjernen med pacman -R linux.

Svar

  1. Installer linux-lts (eller en hvilken som helst annen kjerne):

    pacman -S linux-lts 
  2. Oppdater oppføringen for opplasteren:

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

    og endre:

    linux /vmlinuz-linux initrd /initramfs-linux.img ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ linux /vmlinuz-linux-lts initrd /initramfs-linux-lts.img 
  3. Start på nytt og bekreft med uname -r

Svar

Som Franklin Yu, er jeg også på et system uten GRUB. Jeg trengte å bytte til en annen kjerne og ikke brukte efibootmgr før. Jeg spurte en mer kunnskapsrik venn om dette og han foreslo verktøyet rEFInd , som automatiserer trinnene som Franklin foreslo, og presenterer deg en fin meny ved oppstart av hvilke kjerner du har tilgjengelig. Installasjonen var helt grei, og jeg kunne enkelt bytte kjerneversjoner.

Kommentarer

  • I maskinen min (Arch Linux dual boot med Windows + rEFInd ), etter at jeg har installert lts -kjernen, må jeg også redigere refind_linux.conf: endre initrd=/boot/initramfs-linux.img til initrd=/boot/initramfs-linux-lts.img.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *