カーネルの再構築

組込み向け Linux をやっていると、PC Linux 以上にカーネル再構築の場面に出会う。ここに備忘録を残しておく。

カーネルの再構築とは

文字通り、OS の心臓部であるカーネルを作り直すことである。こう書くと、PC の中身すべてをひっくり返すように聞こえるかもしれないが、そうではない。カーネルは数 MB 程度の小さなプログラムであり、それを更新するに過ぎない。その他のファイルには、何の影響も及ぼさない。また、万が一失敗したカーネルを作った場合でも、以前のカーネルを利用して起動できるので、心配には及ばない。

ちなみにカーネル本体は、/boot/vmlinuz に置かれている。そして現在 OS を動かしているカーネルは、メモリ上にロードされている。また、カーネルのソースは一般的に /usr/src/linux に置かれている。このソースをもとにカーネルの再構築は行なわれる。

カーネルの再構築手順

Linux カーネルの再構築を行なう方法は下記の通りである。

ソースディレクトリへ移動

/usr/src/linux にあるソースディレクトリへ移動する。下記のコマンドで、カーネルコンフィグのメニューを表示する。

$ make menuconfig

上記の menuconfig 以外にも、config や xconfig を指定することもできる。設定のやり方が異なるだけである。

カーネルのコンフィギュレーション

各項目(USB Support や ビデオカード設定など)について、設定する。

Y(*)カーネルに組み込む
Mモジュールとして組み込む

モジュールとして組み込む場合、カーネル自体にその機能は入りません。insmod や modprobe(insmod と違い依存関係も解決) コマンドで、都度組み込む必要があります。

カーネルに組み込んだ場合

メリットモジュール組込みの手間がかからない
デメリットサイズが大きくなる

モジュール化した場合

メリット用途に合わせて、再構築なしにカスタマイズできる
デメリット都度モジュール組込みを行なわなければならない

参考


履歴


トップ   編集 凍結解除 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-11-23 (水) 14:27:13