Как переключить arch linux на lts kernel?

24

Я запускаю установку безголового сервера Arch Linux. Высокий уровень обновления ядра вызвал у меня некоторую головную боль при обслуживании, и поэтому я хочу переключиться на ядро lts .

Я уже установил linux-ltsи linux-lts-headersпакеты. Теперь у меня установлены оба ядра, но я немного не понимаю, как продолжить. В документах объясняют :

[...] вам нужно будет обновить файл конфигурации вашего загрузчика, чтобы использовать ядро ​​LTS и ram диск: vmlinuz-linux-ltsи initramfs-linux-lts.img.

Я уже нашел их в разделе загрузки:

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

Теперь я уже нашел записи, указывающие на не-lts ядро, grub.cfgно заголовок говорит мне не редактировать этот файл. grub-mkconfigВместо этого он указывает мне на утилиту, но я не могу понять, как использовать этот инструмент, чтобы сказать grub, какое ядро ​​и ramdisk использовать.

Как переключить archlinux с grub на ядро ​​lts? С чем еще нужно быть осторожным при переключении ядра?

Afr
источник
1
это самый простой вызов. инструмент должен автоматически локализовать ваши существующие ядра (плюс дополнительные биты, такие как ramdisk, микрокод и т. д.) и автоматически добавлять их. это дает хороший обзор того, как вы можете настроить полученный grub.cfgфайл.
Джо
Кроме того, вы можете добавлять записи в файлы /etc/grub.d- см. здесь
Джо
Запустите grub-mkconfig, убедитесь, что вы видите раздел для linux-lts в grub.cfg, и перезагрузитесь.
fpmurphy

Ответы:

23

Хорошо, после того, как Джо указал мне правильное направление в комментариях, вот как я это сделал:

  1. в основном просто установить pacman -S linux-lts

  2. (необязательно) проверьте, доступны ли ядро, рамдиск и резервный файл в ls -lsha /boot

  3. удалить стандартное ядро pacman -R linux

  4. обновить конфиг grub grub-mkconfig -o /boot/grub/grub.cfg

  5. перезагружать

Обратите внимание, syslinuxчто вам нужно соответствующим образом отредактировать конфигурационный файл syslinux /boot/syslinux/syslinux.cfg, просто укажите все на -ltsядро.

Afr
источник
1
Обратите внимание, что может потребоваться заменить любые модули ядра на их lts-эквивалент. например, если он acpi_callбыл ранее установлен, то, вероятно, лучше также установить acpi_call-lts, иначе модуль не загрузится.
Ponkadoodle
4
FWIW вы можете пропустить шаг 3 и установить оба ядра одновременно. Для меня ltsбыло выбрано по умолчанию после перезагрузки, но я также мог зайти в grub advanced optionsи выбрать вместо него стандартное ядро.
Sparhawk
Моя зависла при загрузке initramfs, и мне пришлось запускаться вручную sudo mkinitcpio -p linux-lts.
leetNightshade
и как мне вернуться обратно?
Бендж
3

Ответ от Afri хорошо работает для GRUB, но я использую UEFI напрямую , который является более легким и полностью использует материнскую плату UEFI.

  1. устанавливать linux-lts
  2. (необязательно) Проверьте, доступны ли в /bootпапке LTS-версия ядра, ramdisk и резервная версия .
  3. Сгенерируйте запись EFI так же, как вы сгенерировали обычную запись Linux, но заменили ramdisk и загрузчик на LTS. Например:

    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
    

    Обратите внимание на --loaderценность и initrdценность. Эти файлы должны быть в /bootпапке.

  4. Перезагружать. Вы можете настроить порядок загрузки в Motherboad перед загрузкой операционной системы, например, нажав F12 (в зависимости от вашей материнской платы). На самом деле я использую Hyper-V, который позволяет настраивать порядок загрузки в «Диспетчере Hyper-V».

  5. (необязательно) После успешной загрузки ядра LTS (проверьте его с помощью uname -r) удалите стандартное ядро ​​с помощью pacman -R linux.

Франклин Ю
источник