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

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

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

** カーネルの再構築手順 [#gecd4c4c]
Linux カーネルの再構築を行なう方法は下記の通りである。

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

 $ make menuconfig

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

*** カーネルのコンフィギュレーション [#qd68a235]
各項目(USB Support や ビデオカード設定など)について、設定する。

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

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

カーネルに組み込んだ場合
|メリット|モジュール組込みの手間がかからない|
|デメリット|サイズが大きくなる|

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

** 参考 [#ac8d38f0]
- [[カーネルの再構築(Linux活用日記):http://www.a-yu.com/kernel.html]]
----
** 履歴 [#y37237db]
- 2005/11/23 加筆
- 2005/10/04 初版 (ほとんどメモレベルの草稿)

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS