「インストール - カーネルのアッブグレード(SUSE)」の版間の差分

📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

 
(同じ利用者による、間の5版が非表示)
4行目: 4行目:
<br>
<br>
ここでは、SUSEにおいて、カーネルをアップグレードする方法を記載する。<br>
ここでは、SUSEにおいて、カーネルをアップグレードする方法を記載する。<br>
<br><br>
== 依存関係のライブラリのインストール ==
Linuxカーネルのビルドに必要な依存関係のライブラリをインストールする。<br>
sudo zypper install patterns-base-basesystem patterns-devel-base-devel_basis patterns-devel-C-C++-devel_C_C++ gcc gcc-g++ ncurses-devel
<br><br>
<br><br>


55行目: 50行目:


== ソースコードからインストール ==
== ソースコードからインストール ==
==== 依存関係のライブラリのインストール ====
Linuxカーネルのビルドに必要な依存関係のライブラリをインストールする。<br>
sudo zypper install bc bison flex patterns-base-basesystem patterns-devel-base-devel_basis patterns-devel-C-C++-devel_C_C++ \
                    gcc ncurses-devel ncurses5-devel libopenssl-1_1-devel libelf-devel dwarves
<br>
==== Linuxカーネルのソースコードのダウンロード ====
==== Linuxカーネルのソースコードのダウンロード ====
[https://www.kernel.org/ The Linux Kernel Archives]または以下に示すURLからLinuxカーネルのTarballをダウンロードする。<br>
[https://www.kernel.org/ The Linux Kernel Archives]または以下に示すURLからLinuxカーネルのTarballをダウンロードする。<br>
88行目: 88行目:
<code>make olderconfig</code>コマンドは、可能な限り既存のカーネルコンフィグの設定を使用して、ビルドディレクトリ内に必要なファイルを生成する。<br>
<code>make olderconfig</code>コマンドは、可能な限り既存のカーネルコンフィグの設定を使用して、ビルドディレクトリ内に必要なファイルを生成する。<br>
  make -j $(nproc) olddefconfig O=./build
  make -j $(nproc) olddefconfig O=./build
<br>
以下に示すような警告が出力される場合がある。<br>
不要ならば、.configファイルから該当する設定をコメントアウトする。<br>
.config:9850:warning: symbol value 'm' invalid for CRYPTO_BLAKE2S_X86
.config:9941:warning: symbol value 'm' invalid for CRYPTO_ARCH_HAVE_LIB_BLAKE2S
.config:9942:warning: symbol value 'm' invalid for CRYPTO_LIB_BLAKE2S_GENERIC
<br>
<br>
ビルドディレクトリに移動する。<br>
ビルドディレクトリに移動する。<br>
103行目: 109行目:
   
   
  sudo make -j $(nproc) modules_install  # カーネルモジュールのインストール
  sudo make -j $(nproc) modules_install  # カーネルモジュールのインストール
  sudo make -j $(nproc) install          # Linuxカーネルのインストール(GRUBのエントリも生成する)
  sudo make -j $(nproc) install          # Linuxカーネルのインストール(GRUB2のエントリも生成する)
<br>
初期化スクリプトを生成する。<br>
sudo mkinitrd
<br>
==== GRUB2ブートメニューの設定 ====
GRUB2を使用している場合、かつ、GRUB2スクリプトが新しいカーネルを自動検出できない場合、手動で/etc/grub.d/40_customファイルに関連情報を追加することができる。<br>
なお、UUID名またはPARTUUID名は、<code>sudo blkid</code>コマンドを使用することにより、確認することができる。<br>
sudo vi /etc/grub.d/40_custom
<br>
# /etc/grub.d/40_customファイル
menuentry '<任意のLinuxカーネル名  例. kernel x.y.z>' {
    echo '<Linuxカーネルの読み込み時のメッセージ>'
    linux <vmlinuzファイルのパス> root=UUID=<ルートパーティションがあるUUIDまたはPARTUUID> <Linuxカーネルのパラメータ>
    echo '<初期化スクリプト(initrd)の読み込み時のメッセージ>'
    initrd <initrdファイルのパス>
}
# 例
menuentry 'kernel x.y.z' {
    echo 'Loading Linux x.y.z ...'
    linux /boot/vmlinuz root=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ${extra_cmdline} splash=vervose resume=/dev/disk/by-uuid/<SWAPパーティションのUUID> preempt=full security=apparmor mitigations=auto
    echo 'Loading initial ramdisk ...'
    initrd /boot/initrd
}
<br>
GRUB2の変更を有効にするため、GRUB2を更新する必要がある。<br>
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
<br>
<br>
Linuxを再起動する。<br>
Linuxを再起動する。<br>
110行目: 144行目:
再起動後、Grubブートローダにおいて、インストールしたLinuxカーネルを選択する。<br>
再起動後、Grubブートローダにおいて、インストールしたLinuxカーネルを選択する。<br>
<br>
<br>
==== セキュアブートが有効の場合 ====
==== セキュアブートが有効の場合 ====
===== 署名の登録 =====
===== 署名の登録 =====
pesignとnss-toolsをインストールする。<br>
pesignとnss-toolsをインストールする。<br>
pesignのインストールと同時に、/etc/pki/pesignディレクトリ、および、/etc/pki/pesign-rh-testディレクトリにデータベースがインストールされる。<br>
pesignのインストールと同時に、/etc/pki/pesignディレクトリ、および、/etc/pki/pesign-rh-testディレクトリにデータベースがインストールされる。<br>
  sudo zypper install pesign nss-tools
  sudo zypper install pesign mozilla-nss-tools
<br>
<br>
certificateファイルを抽出する。<br>
certificateファイルを抽出する。<br>