Arch Linux を LTS カーネルに切り替えるにはどうすればいいですか?

Arch Linux を LTS カーネルに切り替えるにはどうすればいいですか?

私はヘッドレスサーバーのインストールにArch Linuxを使用しています。カーネルのアップグレード頻度が高いため、メンテナンスに頭を悩ませており、カーネル

linux-ltsおよびパッケージはすでにインストールされていますlinux-lts-headers。両方のカーネルをインストールしましたが、ここからどのように進めていけばいいのかよくわかりません。ドキュメントの説明:

vmlinuz-linux-lts[...] LTS カーネルと RAM ディスクを使用するには、ブートローダの設定ファイルを更新する必要があります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代わりにユーティリティが示されていますが、このツールを使用して、どのカーネルと RAM ディスクを使用するかを GRUB に指示する方法がわかりません。

GRUB を搭載した Arch Linux を LTS カーネルに切り替えるにはどうすればよいでしょうか? カーネルを切り替えるときに他に注意すべきことはありますか?

答え1

さて、ジョーがコメントで正しい方向を指摘してくれたので、私は次のように実行しました。

  1. 基本的にはインストールするだけですpacman -S linux-lts

  2. (オプション)カーネル、RAMディスク、フォールバックが利用可能かどうかを確認しますls -lsha /boot

  3. 標準カーネルを削除するpacman -R linux

  4. GRUBの設定を更新するgrub-mkconfig -o /boot/grub/grub.cfg

  5. リブート

注意: syslinuxsyslinux 構成ファイルを/boot/syslinux/syslinux.cfg適宜編集する必要があるので、すべてをカーネルに向けるだけです-lts

答え2

アフリからの答えGRUBではうまく機能しますが、私はUEFIを直接使用する、より軽量で、UEFI マザーボードを最大限に活用します。

  1. インストールlinux-lts
  2. (オプション) カーネル、RAM ディスク、フォールバックの LTS バージョンが/bootフォルダー内で使用可能かどうかを確認します。
  3. 通常の Linux エントリを生成するのと同じ方法で EFI エントリを生成しますが、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. 再起動します。オペレーティング システムを起動する前に、マザーボードのブート順序を調整する必要がある場合があります (マザーボードによって異なります)。私は実際に Hyper-V を使用しており、「Hyper-V マネージャー」でブート順序を構成できます。

  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 や他の Linux ディストリビューションがインストールされている場合は、Windows も自動的にデュアル ブートします。

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

関連情報