自分自身の好みに合うLinuxを作ることは,決して難しくない。オープンソース・ソフトウエアを手順よく組み合わせていけば,Linuxの専門家ではなくても,自分だけのLinuxを作成できる。

 本講座を読みながら,Linuxの仕組みを理解して,自分だけのオリジナルLinux OS『自分Linux』を完成させよう。

1:まずは仕様を決めよう

 自分自身の好みに合うLinuxを作ることは,決して難しくない。フリーソフトを手順よく組み合わせていくことで,ごく普通のユーザーであっても自分だけのLinuxを作成できる。Linuxの仕組みを理解して『自分Linux』を完成させよう。

2:構築に必要なシステムなどをそろえる

 前回は自分Linuxの仕様を決めた。今回は,構築に必要な(1)自分Linux開発マシン,(2)自分Linux稼働マシン,(3)基になるLinux,(4)自分Linuxのソフトウエアについて説明する。

3:開発環境を準備する

 今回は,自分Linuxを作成するための開発環境を整備する。まずは,開発マシンにLinuxディストリビューションの「Vine Linux」を導入しよう。Vine Linuxの導入時のポイントは以下の通りだ。

4:静音PCを選定する

 今回は,筆者が「自分Linux」を動作させた静音PCのハードウエア仕様を示す。残念ながら,BIOSの問題でUSBメモリーからの起動はできなかった。もし,USBメモリーから自分Linuxを起動したいのなら,256Mバイト以上のメモリーを搭載可能な比較的新しいノートPCを用いると良いかもしれない。

5:ファイル・システムの作成

 今回から,いよいよ自分好みの「自分Linux」の作成を開始する。自分Linuxを作成するための作業手順を大まかにまとめると,7つの工程に分けられる。まずは,ファイル・システムの作成作業から始めよう。

6:ディレクトリ構成を決める

 今回はファイル・システム内に作成するディレクトリを決定する。LinuxをはじめとするUNIX系OSでは,最小限必要なディレクトリが決められている。Linuxでは,標準仕様の開発ガイドライン「Linux Standard Base(LSB)」が設けられており,その一部である「FHS(Filesystem Hierarchy Standard)」にはシステム・プログラムやディレクトリ構成などの標準仕様が盛り込まれている。

7:デバイス・ファイルの作成

 LinuxなどのUNIX系OSでは,周辺機器を「キャラクタ・デバイス」と「ブロック・デバイス」,「ネットワーク・デバイス」の3種類に分類し,それぞれ異なる方法で管理する。今回はデバイス・ファイルを作成する。

8:/procファイル・システムの内容を確認する

 /procファイル・システムは,ハード・ディスク装置上にデータを持たない仮想ファイル・システムである。起動中のカーネル・プロセスによって,システム資源に関する各種情報が記録される。/procファイル・システムの内容を確認する方法を紹介する。

9:カーネル・ソースの展開

 自分自身の好みに合うLinuxを作ることは,決して難しくない。フリーソフトを手順よく組み合わせていくことで,ごく普通のユーザーであっても自分だけのLinuxを作成できる。本講座を読みながら,Linuxの仕組みを理解して『自分Linux』を完成させよう。

10:各ソフトウエアのコンパイルと導入 その1

 自分Linuxを構成する各ソフトウエアをコンパイルする際は,依存関係があるため,決められた順序でコンパイルを実施する必要がある。今回は「glibc」「sysvinit」「ncurses」「bash」をコンパイルして導入する。作業はかなりの時間を要するため,じっくり腰を据えて取り組もう。

11:各ソフトウエアのコンパイルと導入 その2

 前回に引き続き,自分Linuxに必要な各種ソフトウエアをコンパイルして導入していこう。今回は,「util-linux」「sh-utils」「net-tools」のコンパイルと導入方法を説明する。

12:各ソフトウエアのコンパイルと導入 その3

 前々回,前回に引き続き,自分Linuxに必要な各種ソフトウエアをコンパイルして導入していこう。今回は,「modutils」「procps」「fileutils」「sysklogd」のコンパイルと導入方法を説明する。

13:カーネルのコンパイル

 いよいよ「自分Linux」の頭脳となるカーネルを作成する。カーネルには数多くのパラメータが存在する。その中から自分Linuxを起動・実行するために必要なパラメータだけを組み込み,自分Linux仕様のカーネルに仕立てていこう。一からカーネルを構築する作業を通じて,カーネルの機能や作成方法を学んでほしい。

14:カーネル・パラメータの設定画面

 カーネルの各パラメータを設定する前に自分Linuxのカーネルの名前を決めておこう。自分の好みに合わせて任意の名前を指定しても構わないが,本講座ではカーネルの名前を分かりやすいように「2.4.29-mylinux」とした。

15:カーネル・パラメータを設定する

 カーネル2.4.29のパラメータは大きく32種類のカテゴリに分かれている。このカテゴリ内には多岐にわたる設定項目が用意されている。まずは,自分Linuxで明らかに使用しない機能から無効にしていこう。

16:カーネルなどのコンパイルとインストール

 自分Linuxのカーネルをコンパイルする手順は,一般的なLinuxカーネルのコンパイルと同様だ。唯一違う点は,導入先が自分Linux開発用の bootディレクトリ(sr/local/src/origdev/boot/)になることである。今回は,カーネルとモジュールのコンパイルおよびインストール方法を説明する。

17:電源オンからLinuxが起動するまで

 前回までに作成した各種ライブラリやコマンド群,カーネルを用いて,自分Linuxの起動開始部分までを組み立てる。この組み立て作業で重要なのは,PC の電源を投入してLinuxシステムが起動するまでの仕組み作りである。この仕組み作りは少々複雑だが,手順だけでなく,作業内容を理解しながら行えば,決して難しくはない。

18:initrdファイルの作成

 今回から「自分Linux用initrdファイル」の作成に取り掛かろう。自分Linux用initrdファイルは,他のファイルと区別しやすいようにファイル名「ramdisk.img」とする。今回は,作成手順が複雑なため,RAMディスク上にRFS(ルート・ファイル・システム)を作成するまでを説明する。

19:initrdファイルの完成

 initrdファイル内に自分Linuxと同一のデバイス・ファイルとrsyncコマンドを導入し,ファイル・システムをマウントするためのfstabファイルを作成,gzip圧縮を行って自分Linux用のinitrdファイルを完成させる。

20:Linuxの起動を確認

 自分自身の好みに合うLinuxを作ることは,決して難しくない。フリーソフトを手順よく組み合わせていくことで,ごく普通のユーザーであっても自分だけのLinuxを作成できる。今回は前回までに作成した「自分Linuxの起動確認」を行う。

21:初期化プロセスの実行方法

 今回から3回にわたり,自分Linuxのルート・ファイル・システムを完成させて,ハード・ディスク上から起動できることを試してみる。まずは,以前に説明を持ち越した「(5)初期化プロセスの実行」から解説しよう。「System VとBSDの成り立ち」も簡単に紹介する。

22:ルート・ファイル・システムの完成 その1

 実際に自分Linuxのルート・ファイル・システム(RFS)を作成しながら,初期化プロセス実行の仕組みを理解していこう。今回は,システム起動時に実行されるスクリプト「rc.sysinit」「rc0」「rc1」「rc2」「rc3」「rc4」「rc5」「rc6」を作成する。

23:ルート・ファイル・システムの完成 その2

 前回までに,初期化プロセスの実行に必要なファイルやスクリプトがすべて完成した。最後に,passwdファイルにユーザーの設定を,profileファイルに後述するログイン・シェルが起動したときに反映される設定を記述する。さらに,ログやメッセージの取得に関する設定を記し,自分Linuxに必要なファイルをすべてそろえる。

24:フラッシュ・メモリーに書き込む前の準備

 自分自身の好みに合うLinuxを作ることは,決して難しくない。フリーソフトを手順よく組み合わせていくことで,普通のユーザーであっても自分だけの Linuxを作成できる。本講座を読みながら,Linuxの仕組みを理解して『自分Linux』を完成させよう。今回は,完成した「自分Linux」をフラッシュ・メモリーに書き込むための準備を説明する。

25:自分Linuxをフラッシュ上に完成させる

 前回にようやく,自分Linuxのソフトウエア部分が完成した。早速,自分Linuxをフラッシュ・メモリー(コンパクトフラッシュあるいはUSBメモリー)に書き込み,そこからパソコンを起動してみよう。「mylinux login:」というログイン・プロンプトが表示されたら成功だ。

26:コマンドの追加

 前回までに,自分Linuxをフラッシュ・メモリーに導入し,自分Linuxの基本部分を完成させた。今回からは,実用的なソフトウエアをいくつか導入しながら,自分LinuxをサーバーOSに仕立てていこう。

27:DHCPサーバーを導入する

 自分Linuxをサーバーとして稼働させる第一歩として,自分Linux上でDHCPサーバーを稼働させよう。DHCPサーバーは,ブロードバンド・ルーターなどが備える機能の一つであり,ネットワークに接続しているPCに対してDHCPサーバーが管理するIPアドレスを自動で貸し出す。さらにDNSサーバーやゲートウエイのIPアドレス,ホスト名などのネットワークに関する情報をクライアントに通知する。

28:Webサーバーを稼働させる その1

 自分自身の好みに合うLinuxを作ることは,決して難しくない。フリーソフトを手順よく組み合わせていくことで,ごく普通のユーザーであっても自分だけのLinuxを作成できる。本講座を読みながら,Linuxの仕組みを理解して『自分Linux』を完成させよう。今回はApacheを導入するための準備を行う。

29:Webサーバーを稼働させる その2

 Apacheのバージョン2.0系は,「DSO」という「モジュール」(ソフトウエア部品)を組み込むことによって,必要に応じて機能を拡張できる仕組みを持つ。ほとんどのLinuxディストリビューションに含まれるApacheにおいても,DSOを用いた機能拡張が施されている。自分Linuxでもこの DSOを利用しよう。

30:Webサーバーを稼働させる その3

 Webサーバーを立ち上げることができたので,今度は本格的なWebアプリケーションを稼働させてみよう。今回用いたWebアプリケーションは,Perl で開発されたチャット・ソフトだ。自分が選んだキャラクタが,居酒屋や回転寿司,パチンコ店などで飲食などをしながらチャットできるというコミカルなソフトだ。では,早速インストールを始めよう。

31:ファイル・サーバーを稼働させる その1

 自分自身の好みに合うLinuxを作ることは,決して難しくない。フリーソフトを手順よく組み合わせていくことで,普通のユーザーであっても自分だけの Linuxを作成できる。本講座を読みながら,Linuxの仕組みを理解して『自分Linux』を完成させよう。前回までに,自分LinuxをWebサーバーとして稼働させた。今回からはファイル・サーバーを自分Linux上で稼働させる。

32:ファイル・サーバーを稼働させる その2

 Sambaには,Windows互換のファイル・サーバーとして動作させるためのさまざまな設定が用意されている。ここでは,具体例を取り上げて, Sambaの設定方法の要点を簡潔に説明する。Sambaの設定は,/usr/local/src/origdev/opt/Samba/libディレクトリ内に「smb.conf」というテキスト・ファイルとして作成する。

33:ファイル・サーバーを稼働させる その3

 最終回となる今回は,「Samba版自分Linux」をフラッシュ・メモリーに書き込んで完成させる。いつも通り,フラッシュ・メモリーに書き込む前に自分Linux開発マシンのHDD上で,ファイル・サーバーの動作を確認しよう。