Comment passer arch linux au noyau lts?

24

J'exécute une installation de serveur sans tête de arch linux. Le taux élevé de mises à jour du noyau m'a causé quelques maux de tête de maintenance et je souhaite donc passer au noyau lts .

J'ai déjà installé les packages linux-ltset linux-lts-headers. Maintenant, j'ai installé les deux noyaux, mais je ne sais pas comment continuer à partir d'ici. Les documents expliquent :

[...] vous devrez mettre à jour le fichier de configuration de votre chargeur de démarrage pour utiliser le noyau LTS et le disque ram: vmlinuz-linux-ltset initramfs-linux-lts.img.

Je les ai déjà localisés dans la section 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

Maintenant, j'ai déjà trouvé des entrées pointant vers le noyau non-lts dans le grub.cfgmais l'en-tête me dit de ne pas modifier ce fichier. Cela me montre l'utilitaire à la grub-mkconfigplace mais je ne peux pas comprendre comment utiliser cet outil pour dire à grub quel noyau et ramdisk utiliser.

Comment passer archlinux avec grub au noyau lts? Que dois-je faire d'autre lors de la commutation du noyau?

Afr
la source
1
c'est l'invocation la plus simple. l'outil devrait localiser automatiquement vos noyaux existants (ainsi que des bits supplémentaires comme le disque virtuel, le microcode, etc.) et les ajouter automatiquement. cela donne un bon aperçu de la façon dont vous pouvez configurer le grub.cfgfichier résultant .
Joe
vous pouvez également ajouter des entrées aux fichiers dans /etc/grub.d- voir ici
Joe
Exécutez grub-mkconfig, vérifiez que vous voyez une strophe pour linux-lts dans grub.cfg et redémarrez.
fpmurphy

Réponses:

23

D'accord, après que Joe m'ait indiqué la bonne direction dans les commentaires, voici comment je l'ai fait:

  1. il suffit d'installer simplement pacman -S linux-lts

  2. (facultatif) vérifiez si le noyau, le ramdisk et le repli sont disponibles dans ls -lsha /boot

  3. supprimer le noyau standard pacman -R linux

  4. mettre à jour la configuration de grub grub-mkconfig -o /boot/grub/grub.cfg

  5. redémarrer

Remarque, car syslinuxvous devrez modifier le fichier de configuration syslinux en /boot/syslinux/syslinux.cfgconséquence, il suffit de tout pointer vers le -ltsnoyau.

Afr
la source
1
Notez que l'on peut aussi avoir besoin de remplacer tous les modules du noyau par leur équivalent lts. Par exemple, s'il a acpi_callété installé précédemment, il est probablement préférable de l'installer également acpi_call-lts, sinon le module ne se chargera pas.
Ponkadoodle le
4
FWIW, vous pouvez ignorer l'étape 3 et installer les deux noyaux en même temps. Pour moi, a ltsété sélectionné par défaut après le redémarrage, mais je pouvais également aller dans grub's advanced optionset sélectionner le noyau standard à la place.
Sparhawk
Le mien est resté bloqué au démarrage d'initramfs et j'ai dû exécuter manuellement sudo mkinitcpio -p linux-lts.
leetNightshade
1
et comment revenir en arrière?
Benj
3

La réponse d'Afri fonctionne bien pour GRUB, mais j'utilise directement UEFI , qui est plus léger et utilise pleinement la carte mère UEFI.

  1. Installer linux-lts
  2. (facultatif) Vérifiez si la version LTS du noyau, du ramdisk et du repli sont disponibles dans le /bootdossier.
  3. Générez l'entrée EFI, de la même manière que vous avez généré celle Linux standard, mais en remplaçant le ramdisk et le chargeur par ceux LTS. Par exemple:

    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
    

    Notez la --loadervaleur et la initrdvaleur. Ces fichiers doivent se trouver dans le /bootdossier.

  4. Redémarrez. Vous voudrez peut-être ajuster l'ordre de démarrage dans la carte mère avant de démarrer dans le système d'exploitation, par exemple en appuyant sur F12 (en fonction de votre carte mère). J'utilise en fait Hyper-V, qui permet la configuration de l'ordre de démarrage dans "Hyper-V Manager".

  5. (facultatif) Après avoir réussi à démarrer dans le noyau LTS (vérifiez-le avec uname -r), supprimez le noyau standard avec pacman -R linux.

Franklin Yu
la source