Cum se trece Arch Linux la kernel LTS?

Execut o instalare de server headless a arch linux. Rata ridicată de upgrade-uri de kernel mi-a cauzat o durere de cap de întreținere și, prin urmare, doresc să trec la lts kernel .

Am instalat deja linux-lts și linux-lts-headers pachete. Acum, am ambele nuclee instalate, dar „sunt cam lipsit de idei cum să continui de aici. Documentele explică :

[…] va trebui să vă actualizați fișierul de configurare al încărcătorului pentru a utiliza nucleul LTS și discul ram: vmlinuz-linux-lts și initramfs-linux-lts.img.

Le-am localizat deja în secțiunea de boot:

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 

Acum, am găsit deja intrări care indică nucleul non-lts în grub.cfg, dar antetul îmi spune să nu editez acest fișier. Mă indică în schimb utilitarul grub-mkconfig, dar nu-mi pot da seama cum să utilizați acest instrument pentru a spune grub ce kernel și ramdisk să utilizați.

Cum să comutați archlinux cu grub la kernel-ul lts? Ce altceva trebuie să fiu precaut atunci când comutați kernel-ul?

Comentarii

  • aceasta este cea mai simplă invocare. Instrumentul ar trebui să localizeze automat nucleele dvs. existente ( plus biți suplimentari precum ramdisk, microcod etc.) și a adăugați-le în mod automat. aceasta oferă o prezentare generală frumoasă a modului în care puteți configura fișierul grub.cfg rezultat.
  • , puteți adăuga intrări la fișiere în /etc/grub.d – consultați aici
  • Rulați grub-mkconfig , verificați dacă vedeți o strofă pentru linux-lts în grub.cfg și reporniți.

Răspuns

Bine, după ce joe mi-a indicat direcția corectă în comentarii, așa am făcut-o:

  1. de bază, trebuie doar să instalați pacman -S linux-lts

  2. (opțional) verificați dacă nucleul, discul ram și discul alternativ sunt disponibile în ls -lsha /boot

  3. eliminați nucleul standard pacman -R linux

  4. actualizați configurarea grub grub-mkconfig -o /boot/grub/grub.cfg

  5. reboot

Notă, pentru syslinux va trebui să editați configul syslinux fișier din /boot/syslinux/syslinux.cfg în consecință, îndreptați totul către -lts kernel.

Comentarii

  • Rețineți că este posibil să fie nevoie să înlocuiți orice module de kernel cu echivalentul lor lts. . de exemplu. dacă acpi_call a fost instalat anterior, ' este probabil cel mai bine să instalați și acpi_call-lts, altfel modulul a câștigat ' t încărcare.
  • FWIW puteți sări peste pasul 3 și să aveți ambele nuclee instalate simultan. Pentru mine, lts a fost selectat în mod implicit după repornire, dar aș putea intra și în grub ' s advanced options și selectați nucleul standard.
  • Al meu s-a blocat la boot-ul initramfs și a trebuit să rulez manual sudo mkinitcpio -p linux-lts.
  • și cum pot reveni?
  • pasul 4 este esențial, altfel trebuie să editați manual grub la momentul pornirii pentru a porni nucleul corect.

Răspuns

Răspunsul de la Afri funcționează bine pentru GRUB, dar eu sunt folosind direct UEFI , care este mai ușor și folosește pe deplin placa de bază UEFI.

  1. Instalați linux-lts
  2. (opțional) Verificați dacă versiunea LTS a kernel-ului, ramdisk-ului și alternativului este disponibilă în folderul /boot.
  3. Generați intrarea EFI, la fel cum ați generat-o pe cea obișnuită Linux, dar înlocuind RAM disc și încărcător cu cele LTS. De exemplu:

    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 

    Rețineți valoarea --loader și initrd valoare. Aceste fișiere ar trebui să se afle în folderul /boot.

  4. Reporniți. Poate doriți să reglați ordinea de încărcare în placa de bază înainte de a porni în sistemul de operare, de exemplu, apăsând F12 (în funcție de placa de bază). De fapt folosesc Hyper-V, care permite configurarea comenzii de boot în „Hyper-V Manager”.

  5. (opțional) După ce ați pornit cu succes în kernel-ul LTS (verificați-l cu uname -r), eliminați nucleul standard cu pacman -R linux.

Răspuns

  1. Instalați linux-lts (sau orice alt kernel):

    pacman -S linux-lts 
  2. Actualizați intrarea încărcătorului de încărcare:

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

    și schimbare:

    linux /vmlinuz-linux initrd /initramfs-linux.img ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ linux /vmlinuz-linux-lts initrd /initramfs-linux-lts.img 
  3. Reporniți și confirmați cu uname -r

Răspuns

La fel ca Franklin Yu, sunt și pe un sistem fără GRUB. I trebuia să treacă la un kernel diferit și nu mai foloseam efibootmgr înainte. Am întrebat un prieten mai bine informat despre acest lucru și a sugerat instrumentul rEFInd , care automatizează pașii pe care i-a sugerat Franklin și vă oferă un meniu frumos la momentul pornirii, din care nuclee aveți la dispoziție. Instalarea a fost total simplă și am putut schimba cu ușurință versiunile kernelului.

Comentarii

  • În mașina mea (boot dual Arch Linux cu Windows + rEFInd ), după instalarea kernelului lts, trebuie să editez și refind_linux.conf: schimbare initrd=/boot/initramfs-linux.img la initrd=/boot/initramfs-linux-lts.img.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *