Arch LinuxをLTSカーネルに切り替える方法


24

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

linux-ltslinux-lts-headersパッケージを既にインストールしました。さて、両方のカーネルをインストールしましたが、ここから続行する方法は少しわかりません。ドキュメントを説明します

[...]あなたはLTSのカーネルとRAMディスクを使用するようにブートローダの設定ファイルを更新する必要があります。vmlinuz-linux-ltsinitramfs-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を使用するかを指示する方法がわかりません。

Arch Linuxをgrubでltsカーネルに切り替える方法は?カーネルを切り替えるとき、他に何に注意する必要がありますか?


1
これは最も単純な呼び出しです。ツールは、既存のカーネル(およびRAMディスク、マイクロコードなどの追加ビット)を自動検索し、自動的に追加する必要があります。これにより、結果のgrub.cfgファイルを構成する方法の概要がわかります。
ジョー

また、あなたは内のファイルにエントリを追加することができます/etc/grub.d-を参照してここに
ジョー・

grub-mkconfigを実行し、grub.cfgにlinux-ltsのスタンザが表示されることを確認して、再起動します。
fpmurphy

回答:


23

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

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

  2. (オプション)kernel、ramdisk、およびfallbackが利用可能かどうかを確認します ls -lsha /boot

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

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

  5. リブート

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


1
カーネルモジュールを同等のltsに置き換える必要がある場合があることに注意してください。たとえば、acpi_call以前にインストールしたことがある場合は、おそらくインストールすることacpi_call-ltsをお勧めします。そうしないと、モジュールがロードされません。
ポンカドゥードル

4
FWIWステップ3をスキップして、両方のカーネルを一度にインストールできます。私にとっては、lts再起動後にデフォルトで選択されましたが、advanced options代わりにgrubに移動して標準カーネルを選択することもできました。
スパラフーク

私はinitramfsのブート時に立ち往生し、手動で実行する必要がありましたsudo mkinitcpio -p linux-lts
leetNightshade

そして、どのように元に戻すのですか?
ベンジ

3

Afriからの回答はGRUBでうまく機能しますが、私は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ます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.