Hogyan lehet az arch linuxot lts kernelre váltani?

Fejetlen kiszolgálót futtatok az arch linuxon. A kernel frissítésének magas aránya némi karbantartási fejfájást okozott nekem, ezért át akarok váltani a lts kernel .

Már telepítettem a linux-lts és linux-lts-headers csomagok. Most telepítettem mindkét kernelt, de kissé tanácstalan vagyok, hogyan folytassam innen. A dokumentumok elmagyarázzák :

[…] frissítenie kell a a bootloader konfigurációs fájlja az LTS kernel és ram lemez használatához: vmlinuz-linux-lts és initramfs-linux-lts.img.

Már megtaláltam őket a rendszerindítási szakaszban:

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 

Most már találtam olyan bejegyzéseket, amelyek a nem lts kernelre mutatnak a grub.cfg fájlban, de a fejléc azt mondja, hogy ne szerkesszem ezt a fájlt. Helyette a grub-mkconfig segédprogramra mutat, de nem tudom kitalálni hogyan használhatom ezt az eszközt a grub megmondására, hogy melyik kernelt és ramdisk-et használja.

Hogyan kapcsolhatom át az archlinuxot a grub-al az lts kernelre? Mire kell még vigyáznom a rendszermag váltásakor?

Megjegyzések

  • ez a legegyszerűbb meghívás. az eszköznek automatikusan le kell jelölnie a meglévő kerneleket ( plusz extra bitek, mint ramdisk, mikrokód stb.) és a utomatikusan add hozzá őket. ez szép áttekintést nyújt arról, hogyan konfigurálhatja a kapott grub.cfg fájlt.
  • szintén , bejegyzéseket hozzáadhat a fájlokhoz a /etc/grub.d fájlban – lásd itt
  • A grub-mkconfig futtatása , ellenőrizze, hogy a linux-lts szakaszát látja-e a grub.cfg fájlban, és indítsa újra.

Válasz

Oké, miután joe rámutatott a helyes irányba a megjegyzésekben, én ezt így tettem:

  1. alapvetően csak telepíteni kell a pacman -S linux-lts

  2. (opcionális) ellenőrizze, hogy a kernel, a ramdisk és a tartalék elérhető-e a ls -lsha /boot

  3. távolítsa el a szokásos kernelt pacman -R linux

  4. frissítse a grub konfigurációt grub-mkconfig -o /boot/grub/grub.cfg

  5. reboot

Megjegyzés: syslinux esetén módosítania kell a syslinux konfigurációját fájl a /boot/syslinux/syslinux.cfg fájlban, csak mutasson mindent a -lts kernel.

Megjegyzések

  • Ne feledje, hogy szükség lehet bármely kernelmodul cseréjére az lts megfelelőjével is . például. ha az acpi_call programot korábban telepítették, akkor valószínűleg ' valószínűleg a acpi_call-lts -t is telepíteni, különben a modul nem töltötte be ' t.
  • FWIW átugorhatja a 3. lépést, és mindkét kernelt egyszerre telepítheti. Számomra alapértelmezés szerint a lts lehetőséget választották ki az újraindítás után, de bemehettem a grub ' s advanced options és válassza ki a normál kernelt.
  • Az enyém elakadt az initramfs indításakor, és kézzel kellett futtatnom a sudo mkinitcpio -p linux-lts fájlt.
  • és hogyan válthatok vissza?
  • A 4. lépés kritikus, különben a grub indításakor manuálisan kell szerkesztenie a megfelelő kernel indításához.

Válasz

Az Afri válasza jól működik a GRUB számára, de én közvetlenül az UEFI használatával , amely könnyebb és teljes mértékben kihasználja az UEFI alaplapját.

  1. Telepítse a linux-lts
  2. (nem kötelező) Ellenőrizze, hogy a kernel, a ramdisk és a tartalék fájl LTS-verziója elérhető-e a /boot mappában.
  3. Generálja az EFI bejegyzést, ugyanúgy, mint a normál Linuxot, de helyettesíti a ramot lemez és betöltő az LTS-ekkel. Például:

    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 

    Vegye figyelembe a --loader értéket és a initrd érték. Ezeknek a fájloknak a /boot mappában kell lenniük.

  4. Indítsa újra. Érdemes az operációs rendszer indítása előtt módosítani az alapbetét indítási sorrendjét, például az F12 megnyomásával (az alaplaptól függően). Valójában a Hyper-V-t használom, amely lehetővé teszi az indítási sorrend konfigurálását a “Hyper-V Manager” alkalmazásban.

  5. (opcionális) Miután sikeresen elindult az LTS kernelbe (ellenőrizze a uname -r), távolítsa el a standard kernelt a pacman -R linux paranccsal.

Válasz

  1. Telepítés linux-lts (vagy bármely más kernel):

    pacman -S linux-lts 
  2. Frissítse a rendszerbetöltő bejegyzését:

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

    és változtat:

    linux /vmlinuz-linux initrd /initramfs-linux.img ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ linux /vmlinuz-linux-lts initrd /initramfs-linux-lts.img 
  3. Indítsa újra és erősítse meg a uname -r

Válasz

Franklin Yuhoz hasonlóan én is GRUB nélküli rendszeren vagyok. I más rendszermagra váltáshoz szükséges, és még nem használta az efibootmgr-t. Megkérdeztem egy hozzáértő barátomat erről, és javasolta a rEFInd , amely automatizálja a Franklin által javasolt lépéseket, és indításkor egy szép menüt mutat be, melyik kernelek állnak rendelkezésre. A telepítés teljesen egyszerű volt, és könnyen tudtam váltani a rendszermag verzióit.

Megjegyzések

  • A gépemben (Arch Linux kettős rendszerindítás Windows + rEFInd-tel ), a lts kernel telepítése után módosítanom kell a refind_linux.conf: change initrd=/boot/initramfs-linux.img hogy initrd=/boot/initramfs-linux-lts.img.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük