Как переключить Arch Linux на ядро ​​lts?

Как переключить Arch Linux на ядро ​​lts?

Я использую headless server install of 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? На что еще следует обратить внимание при переключении ядра?

решение1

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

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

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

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

  4. обновить конфигурацию grubgrub-mkconfig -o /boot/grub/grub.cfg

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

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

решение2

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

  1. Установитьlinux-lts
  2. (необязательно) Проверьте, доступны ли в /bootпапке LTS-версия ядра, ramdisk и резервная версия.
  3. Сгенерируйте запись EFI, так же, как вы сгенерировали обычную запись Linux, но заменив ramdisk и loader на 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. Перезагрузите. Возможно, вам захочется настроить порядок загрузки на материнской плате перед загрузкой операционной системы, например, нажав F12 (в зависимости от вашей материнской платы). На самом деле я использую Hyper-V, который позволяет настраивать порядок загрузки в "Hyper-V Manager".

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

решение3

  1. Установить linux-lts(или любое другое ядро):

    pacman -S linux-lts
    
  2. Обновите запись загрузчика:

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

    и изменить:

    linux   /vmlinuz-linux
    initrd  /initramfs-linux.img
    ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
    linux   /vmlinuz-linux-lts
    initrd  /initramfs-linux-lts.img
    
  3. Перезагрузите и подтвердите с помощьюuname -r

решение4

Спасибоэтот ответ, Дэниел Шаперо.пересмотретьподдерживает Arch без дополнительных правок @dmn. Я делаю следующее для установки refind, особенно важны "extra_kernel_version_strings", каталог EFI ваш, также автоматически выполняет двойную загрузку Windows, если у вас есть Windows или другие дистрибутивы Linux:

pacman -S refind
mkdir -p /efi/EFI/Boot
cp /usr/share/refind/refind_x64.efi /efi/EFI/Boot/bootx64.efi
cp -r /usr/share/refind/drivers_x64/ /efi/EFI/Boot/
echo 'extra_kernel_version_strings linux,linux-hardened,linux-lts,linux-zen,linux-git;' > /efi/EFI/Boot/refind.conf
echo 'fold_linux_kernels false' >> /efi/EFI/Boot/refind.conf
echo 'default_selection "linux from"' >> /efi/EFI/Boot/refind.conf

Связанный контент