助け合いフォーラム

LPIC

LPIC Lv2-201(Ver4.5)
問題ID : 8709
問題を開く
2.6 系や 3.x 系カーネルをビルド・インストールする際に、make install コマンドはどのような動作をしているか。正しいものをすべて選びなさい。

この問題はプレミアムコンテンツです。

上に戻る

カーネルとカーネルモジュールのmake installが行っていることについて

公開日 2023/03/14

まず、設問は「2.6 系や 3.x 系カーネルをビルド・インストールする際に、make install コマンドはどのような動作をしているか。正しいものをすべて選びなさい。」
というものです。

問題ID:8709の正しい選択肢の解説に

・「ブートローダに新しいカーネルを使った起動設定を追加する」
正しいです。ブートローダの設定ファイルに、新しいカーネルを使う設定が追加されます。
これにより、インストール後に再起動すれば、自動的に新しいカーネルが使われるようにできます。

とありますが、Linux教科書 LPICレベル2 Version4.5対応 (p.66)によると…

カーネルをインストールするには、makeinstallを実行します。このコマンドは次の処理を行います。
・カーネルを/boot以下に、バージョンをファイル名に付加してコピー
・初期RAMディスクが必要な場合は作成
・ブートローダの設定ファイルに新しいカーネル用のエントリを追加

続けて、このように記載されていました。

この時点では、デフォルトのカーネルは変更されていません。システムを再起動し、新しいカーネルで起動して、問題なく動作するようであれば、GRUBの設定を変更してデフォルトのカーネルを新しいものに変更するとよいでしょう。

make installでは、起動時のデフォルトのカーネルは変更されていない為、GRUBの設定を変更する必要があると記載があります。

kernelバージョンによって違いがあるのでしょうか?
有識者の方、どなたか解説いただけませんでしょうか。

2023/03/15 16:01

あんまり有識でもないんですが、調べてて勉強になったので共有させてもらいますね。

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番目のエントリに追加される 勉強になります。 検証いただきありがとうございました。 繰り返しになりますが、ご回答いただきありがとうございました。

この返信に対して
コメントを記入できます

スタッフからの返信

s staff_khira0410

2023/03/16 12:52

Pnt930_008 さん、ojixii さん ご指摘の点を修正いたしました。 ご報告、誠にありがとうございました。

この投稿に対して返信しませんか?