自分自身の好みに合うLinuxを作ることは,決して難しくない。フリーソフトを手順よく組み合わせていくことで,ごく普通のユーザーであっても自分だけのLinuxを作成できる。本講座を読みながら,Linuxの仕組みを理解して『自分Linux』を完成させよう。
いよいよ自分Linuxの頭脳となるカーネルを作成する(図1)。カーネルには数多くのパラメータが存在する。それらの中から自分Linuxを起動・実行するために必要なパラメータだけを組み込み,自分Linux仕様のカーネルに仕立てていこう。一からカーネルを構築する作業を通じて,カーネルの機能や作成方法を学んでいただきたい。
図1 自分Linux作成作業の流れ 今回は,カーネルのコンパイルである。 |
カーネルとは何か
カーネルは,LinuxをはじめとするさまざまなOSの中核を担う重要なプログラムである。カーネルの主な役割はメモリー管理やディスク管理,割り込み管理,プロセス間通信などであり,OSが動作するための基本的な機能を提供する。ここで,カーネルには「モノリシック・カーネル」と「マイクロ・カーネル」の2種類があることを覚えておいていただきたい。違いは,別掲記事(本ページ下に掲載)「モノリシック・カーネルとマイクロ・カーネル」にまとめた。
ちなみにLinuxのカーネルはモノリシック・カーネルであり,Windows XP/2000などのカーネルはマイクロ・カーネルである。
Linuxカーネルの歴史
Linuxは,読者の皆さんもご存知であろうLinus Torvalds氏が,1991年ころの大学生時代(21歳当時)に開発したカーネル部分を指す。Linux(カーネル)の歴史はUNIXやそのほかのUNIX系OSに比べると浅く,カーネル・バージョン1.0が公開されてからまだ11年しか経っていない。しかし,数多く存在するコミュニティによって支えられ,日々急速に進化し続けている。Linux誕生の歴史をより詳しく知りたい場合は,「Linuxの歴史」(http://uc.linux-cafe.jp/r/linux_history.html)が参考になる。
Linuxカーネルのバージョンには暗黙のルールがある。バージョンのリリース部分(小数点以下の最初の数字)が奇数の場合は開発版,偶数の場合は安定版である。例えば,現在の安定版カーネルのバージョンは2.6であるが,その安定版が公開されるまでの開発版カーネルのバージョンは2.5である。おそらく次期カーネルの開発が始まると,バージョン2.7が開発版,バージョン2.8が安定版となるだろう。
自分Linuxのカーネルを作る
早速,自分Linuxの頭脳であるカーネルの作成を開始しよう。冒頭でも述べたが,自分Linuxの起動や動作に必要なパラメータのみを組み込み,最最低限に機能を絞り込んでいく。
そうすることでデバイス・ドライバの数を減らせ,カーネル全体のサイズが小さくなる。フラッシュ・メモリーやメイン・メモリーの容量が少ない環境でも自分Linuxを動作できる可能性が広がる。
本講座では表1に示したハードウエア環境を基にして解説する。ただし,ネットワーク・インタフェース・カード(NIC)の設定では一般によく利用されているものも対象にする。取り上げているのとは異なるハードウエア環境の場合には,ここで紹介する手順を適宜変更して自分なりのカーネル設定を施していただきたい。
表1 連載で用いているハードウエア環境 [画像のクリックで拡大表示] |
|