web-dev-qa-db-ja.com

Arch Linuxをltsカーネルに切り替えるには?

Arch Linuxのヘッドレスサーバーインストールを実行しています。カーネルのアップグレード率が高いため、メンテナンスに頭が痛くなるので、 lts kernel に切り替えたいと思います。

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

さて、grub.cfgで非ltsカーネルを指すエントリをすでに見つけましたが、ヘッダーはこのファイルを編集しないように指示しています。代わりにユーティリティgrub-mkconfigを示しますが、このツールを使用してgrubに使用するカーネルとRAMディスクを指示する方法を理解できません。

Grubを使用してarchlinuxをltsカーネルに切り替える方法は?カーネルを切り替えるとき、他に何を注意する必要がありますか?

26
Afr

さて、ジョーがコメントで正しい方向を指摘した後、これが私がやった方法です:

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

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

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

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

  5. リブート

syslinuxの場合、/boot/syslinux/syslinux.cfgのsyslinux設定ファイルを編集する必要があることに注意してください。すべてを-ltsカーネルに向けるだけです。

28
Afr

Afriからの回答 はGRUBに適していますが、私は EFIを直接使用 です。これは、より軽量で、UEFIマザーボードを最大限に活用します。

  1. インストールlinux-lts
  2. (オプション)カーネルのLTSバージョン、ramdisk、およびフォールバックが/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. リブート。たとえば、マザーボードに応じてF12キーを押すなどして、オペレーティングシステムを起動する前に、マザーボードの起動順序を調整できます。私は実際にHyper-Vを使用しています。これにより、「Hyper-Vマネージャー」でブート順序を設定できます。

  5. (オプション)LTSカーネルで正常に起動した後(uname -rで確認)、pacman -R linuxで標準カーネルを削除します。

4
Franklin Yu
  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で確認します
2
Granitosaurus