* カーネルの再構築 [#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 初版 (ほとんどメモレベルの草稿)