Linux-2.4.22 のインストール

推定構築時間:           All default options: 4.20 SBU
推定必要ディススペース  All default options: 181 MB

Linux の内容

Linux カーネルは全ての Linux システムの中心です。これは Linux を動かしているものです。コンピュータの電源が付けられ Linux システムがブートする時、真っ先にロードされる Linux ソフトウェアの一つがカーネルです。カーネルはシステムのハードウェア構成、シリアルポート、パラレルポート、サウンドカード、ネットワークカード、IDE コントローラー、SCSI コントローラやその他にも多くの物をを初期化します。簡単に言えばつまり、カーネルはソフトウェアが実行できるようにハードウェアを準備します。

インストールされるプログラム: the kernel 及び the kernel headers

Linux インストール依存性

Linux は以下のパッケージに依存します: Bash, Binutils, Coreutils, Findutils, GCC, Glibc, Grep, Gzip, Make, Modutils, Perl, Sed.

the kernel のインストール

カーネルの構築はいくつかの段階を踏みます。カーネルの設定、コンパイル、そしてインストールです。 本書のカーネルを設定する方法が気に入らない場合は、その他の方法を探すのにカーネルソースツリーの中の README ファイルを見て下さい。

以下のコマンドを実行してコンパイルの準備をします。

make mrproper

これはカーネルツリーを完全にクリーンにします。カーネルチームはこのコマンドをそれぞれのカーネルのコンパイルに先立ち実行するよう勧めています。 解凍した後のソースツリーがクリーンであると当てにしてはいけません。

メニュー形式のインターフェイスを通じてカーネルを最適化します。

make menuconfig

ある状況では make oldconfig の方がより適切でしょう。より詳しい情報については README を見て下さい。

望むのなら、単純にカーネルコンフィグファイル .config をお使いのホストマシンから(それが利用できると仮定します)解凍した linux-2.4.22 ディレクトリにコピーすることでカーネルの設定を飛ばしてもいいでしょう。 しかしこの方法はお勧めしません。すべてのの設定メニューを調べて、ゼロからご自分用のカーネル設定を作成したほうがようでしょう。

POSIX 共有メモリのサポートについては、カーネルの設定オプション "Virtual memory file system support" が有効になっているのを確かめてください。それは "File systems" メニューの中にあって通常デフォルトで有効になっています

依存性を確認して依存性情報ファイルを作ります。

make CC=/opt/gcc-2.95.3/bin/gcc dep

カーネルイメージをコンパイルします。

make CC=/opt/gcc-2.95.3/bin/gcc bzImage

モジュールとして設定されたドライバーをコンパイルします。

make CC=/opt/gcc-2.95.3/bin/gcc modules

カーネルモジュールを使うつもりなら、/etc/modules.conf ファイルが必要となります。 モジュールと一般的なカーネル設定に付属する情報は、通常は linux-2.4.22/Documentation ディレクトリの中にあるカーネル付属文章にあります。 modules.conf の man page と http://www.tldp.org/HOWTO/Kernel-HOWTO.html にあるカーネル HOWTO も情報源となります。

(訳注:カーネル付属文章の日本語訳は Linux JF Project のウェブサイト http://www.linux.or.jp/JF/JFdocs/kernel-docs-2.6/index.html などで利用できます。)

モジュールをインストールします。

make CC=/opt/gcc-2.95.3/bin/gcc modules_install

文章なしでは何も完成しないので、カーネルと共にマニュアルページも構築します。

make mandocs

そして全てのページをインストールします。

cp -a Documentation/man /usr/share/man/man9

カーネルのコンパイルは完了しましたが、作成されたファイルのいくつかはまだソースツリーの中にあります。 インストールを完成させるために、二つのファイルが /boot ディレクトリにコピーされる必要があります。

カーネルファイルへのパスは、お使いのプラットフォームに依存します。カーネルをインストールするため次のコマンドを実行します。

cp arch/i386/boot/bzImage /boot/lfskernel

System.map はカーネルのシンボルファイルです。 実行中のカーネルの「カーネル API に含まれる全関数の関数エントリポイント」と「カーネルデータ構造のアドレス」のマッピング情報が、このファイルに含まれています。 マップファイルをインストールするために以下のコマンドを実行します。

cp System.map /boot