助け合いフォーラム
この問題はプレミアムコンテンツです。
カーネルとカーネルモジュールのmake installが行っていることについて
まず、設問は「2.6 系や 3.x 系カーネルをビルド・インストールする際に、make install コマンドはどのような動作をしているか。正しいものをすべて選びなさい。」
というものです。
問題ID:8709の正しい選択肢の解説に
・「ブートローダに新しいカーネルを使った起動設定を追加する」
正しいです。ブートローダの設定ファイルに、新しいカーネルを使う設定が追加されます。
これにより、インストール後に再起動すれば、自動的に新しいカーネルが使われるようにできます。
とありますが、Linux教科書 LPICレベル2 Version4.5対応 (p.66)によると…
カーネルをインストールするには、makeinstallを実行します。このコマンドは次の処理を行います。
・カーネルを/boot以下に、バージョンをファイル名に付加してコピー
・初期RAMディスクが必要な場合は作成
・ブートローダの設定ファイルに新しいカーネル用のエントリを追加
続けて、このように記載されていました。
この時点では、デフォルトのカーネルは変更されていません。システムを再起動し、新しいカーネルで起動して、問題なく動作するようであれば、GRUBの設定を変更してデフォルトのカーネルを新しいものに変更するとよいでしょう。
make installでは、起動時のデフォルトのカーネルは変更されていない為、GRUBの設定を変更する必要があると記載があります。
kernelバージョンによって違いがあるのでしょうか?
有識者の方、どなたか解説いただけませんでしょうか。
あんまり有識でもないんですが、調べてて勉強になったので共有させてもらいますね。
GRUB でどのカーネルを使って起動するようにするのかは、
/etc/default/grubの中の"GRUB_DEFAULT"という項目で定義してます。
で、ちょっと見てみたんですが、この項目の既定値が統一されていないみたいなんですね。
(異なる要因が GRUB と GRUB2 なのか、ディストリビューションなのかまではわからないのですが)
手元の Ubuntu 19.04 では「GRUB_DEFAULT=0(menuentryの0番目)」、
CentOS 7.9では「GRUB_DEFAULT=saved(前回起動時と同じものを使う)」となってました。
新しいカーネルをインストールすると0番目のエントリに追加されるので、
GRUB_DEFAULT=0となっているシステムでは新しいカーネルで起動するようになる、
そうでないシステムでは手動で設定する必要がある、
ということなのかなあと思います。
コメント
この投稿に対して返信しませんか?
P Pnt930_008
2023/03/16 09:23
ご回答いただきありがとうございます。 >GRUB でどのカーネルを使って起動するようにするのかは、 >/etc/default/grubの中の"GRUB_DEFAULT"という項目で定義してます。 >で、ちょっと見てみたんですが、この項目の既定値が統一されていないみたいなんですね。 参考にしているLinux教科書 LPICレベル2 Version4.5対応は2017年の発行のようなので、GRUB等もアップデートされているでしょうし、既定値が統一されていないからこそLinux教科書では「GRUBの設定を変更してデフォルトのカーネルを新しいものに変更するとよいでしょう。」という解説になったのかもしれないですね。 >手元の Ubuntu 19.04 では「GRUB_DEFAULT=0(menuentryの0番目)」、 >CentOS 7.9では「GRUB_DEFAULT=saved(前回起動時と同じものを使う)」となってました。 >新しいカーネルをインストールすると0番目のエントリに追加される 勉強になります。 検証いただきありがとうございました。 繰り返しになりますが、ご回答いただきありがとうございました。