次のページ
前のページ
目次へ
ftp.kernel.org の /pub/linux/kernel/vx.y から
anonymous(匿名) FTP でソースを入手することができます.ここで
x.y は前に説明したようなバージョンであり,奇数で終わるものは
開発リリースなので不安定かもしれません.
たいていは linux-x.y.z.tar.gz (x.y.z がバージョン)と
いう名前が付けられています.普通はこのサイトには拡張子 .bz2
が付いているファイルもあります.これは bzip2 で圧縮されているファイル
です(このようなファイルはサイズが小さく,転送時間を節約することができ
ます).
できるだけ ftp.xx.kernel.org (xx は国コード)を使うと
よいでしょう.例えばオーストリアでは ftp.at.kernel.org ,
アメリカでは ftp.us.kernel.org となります.
root としてログインするか su して root にな
り,/usr/src に cd します.最初 Linux をインストール
した際にカーネルのソースをインストールしていれば(普通はそうでしょう),
linux というディレクトリがあるはずです.そこには古いソースツ
リー全体が含まれています.ディスクの容量が十分にあり,かつ安全策を取る
ならこのディレクトリは残しておきましょう.
今現在のシステムのバージョンを調べて,このバージョンにあわせてディレクトリ
名を変えておくとよいでしょう.`uname -r ' で現在のカーネル
バージョンを表示できます.ですから,`uname -r ' で
`1.0.9 ' と表示されたら,`linux ' を (`mv 'で)
`linux-1.2.8 ' というファイル名に変えます.まあ,ちょっと向こ
う見ずのあなたは,ディレクトリごと消してしまいましょう.いずれにせよ,
ソースコードを展開する前に /usr/src に `linux ' とい
うディレクトリが存在しないことを確認してください.
では,/usr/src で `tar zxpvf linux-x.y.z.tar.gz ' と
してソースを展開します(ファイル名の最後が単に .tar となってい
て .gz がついていない場合は `tar xpvf linux-x.y.z.tar '
で展開できます.展開中にはソースの中身が画面に表示されていきます.展開
が終了すると, /usr/src に新しい `linux ' ディレクト
リができています.linux に cd し,README ファ
イルを読んでください.`INSTALLING the kernel 'と
いう題のついた章があります.説明に適宜したがって,必要なシンボリックリ
ンクを張ったり,古い.o ファイルを消去するなどしてください.
ファイルの拡張子が .bz2 であり,bzip2 プログラム(詳しくは
http://www.muraroa.demon.co.uk/ を参照)をお持ちであれば以下の
コマンドで展開してください:
bz2cat linux-x.y.z.tar.bz2 | tar xvf -
注: このうちいくつかは Linus の README ファイルの繰り返しだっ
たり説明だったりします.
/usr/src/linux ディレクトリで `make config ' コマンド
を実行すると,設定スクリプトが起動し,色々な質問をしてきます.このスク
リプトは bash を必要とするので,bash が /bin/bash ,
/bin/sh , $BASH のいずれかにあることを確認して
ください.
しかし,`make config ' よりもずっといいものがいくつかあります.
それらの方がずっと簡単で使いやすいでしょう.`make menuconfig '
がたぶん一番使われています.
どれを使うか決める時には,そのインターフェースを使ってみるのが一番です.
というのも,考えるよりも早く答えが出るからです.
「X を使っている」人は,`make xconfig ' を試すとよいでしょう.
ただし Tk が必要です(`click-o-rama' - Nat).
`make menuconfig ' は,(n)curses を持っており,テキストベース
のメニューが好きな人にお勧めです.これらのインタフェースにはかなりはっ
きりとした利点があります: 設定の時にしくじって選択を誤った時に,簡単に
前に戻って直すことができます.
`make menuconfig ' と `make xconfig ' では,設定オプショ
ンは階層的に表示されます.
これで質問に答える準備ができました.普通は `y '(はい)あるいは
`n '(いいえ)で答えていきます.デバイスドライバにはたいてい
`m ' オプションがあります.これは ``モジュール''を意味しており,
カーネルのコンパイル時にコンパイルは行なわれますが,カーネルに直接組み
込まれるわけではなく,ロード可能なモジュールとしてコンパイルされるので
す.この `m ' をもっとふざけて説明しますと,これは ``maybe''
(多分)です.簡単だったりあまり重要でないオプションについては,ここでは
触れません.「他の設定オプション」の章にいくつかのオプションの簡単な説
明があります.`make menuconfig ' を使っている場合は,スペース
バーによって選択状態が変わります.
2.0.x 以降のカーネルでは,`?' オプションがあります.`?' キーを押すと,
設定パラメータの簡単な説明が表示されます.この情報はたぶん最新でしょう.
以下では重要な機能いくつかについて,その機能がある階層と簡単な解説を示
します.
Kernel math emulation [カーネルの数値演算エミュレーション] (Processor type and features)
数値演算コプロセッサがない場合(素の 386 や 486SX の場合),この項目には
`y ' と答えなければいけません.コプロセッサがあるのに
`y ' と答えても気にする必要はありません -- ちゃんとコプ
ロセッサが使用され,エミュレーションは行なわれません.割と新しいマシン
だったら答えは `n ' でしょうが,間違って `y ' と答えて
も気にすることはありません.必要無ければ,この機能は使われません.
Normal (MFM/RLL) disk and IDE disk/cdrom support[通常(MFM/RLL)のディスクと IDE ディスク/CDROM サポート](Block Devices)
この機能はサポートする必要があるでしょう.ほとんどの人が持っている,PC
標準のハードディスクをカーネルがサポートするということですから.このド
ライバには SCSI ドライバは含まれていません.設定の後の方で出てきます.
続いて ``old disk-only'' と ``new IDE'' のドライバについて聞かれます.
このうちどちらかを選択してください.大きな違いは,古いドライバは 1 つ
のインターフェース上の 2 つのディスクのみをサポートしますが,新しい方
はセカンダリインターフェースと IDE/ATAPI の CD-ROM をサポートします.
新しいドライバは古い方よりも 4 kB 大きいですが多分「改善」されています.
すなわち,含まれているバグの数は別にして,特にハードウェアが新しい
(EIDE タイプ)場合にはディスクの性能が向上します.
Networking support [ネットワークのサポート](General Setup)
インターネットのようなネットワークに接続されていたり,SLIP や PPP,
term などを使ってインターネットへのダイアルアップ接続を行うのであれば
`y ' と答えます.しかし,多くのソフトウェアパッケージ(例えば X
ウィンドウシステム[日本語変換システムも])は,たとえマシンがネットワー
クに接続されていなくてもネットワークサポートを必要とします.ですから
`y ' と答えなければなりません.後で TCP/IP ネットワークが必要
かどうか質問されますが,よくわからなければここでも `y ' と答え
ておいてください.
System V IPC (General Setup)
IPC(Inter-Process Communication, プロセス間通信)のもっとも的確な定義の
一つは Perl book の用語一覧にあります.おどろくほどのことではないです
が,Perlのプログラマーの中にはプロセス間で会話をさせるために IPC を
利用する人がいますし,他にもこれを利用しているパッケージがあります(もっ
とも有名なのは DOOM でしょう[漢字コンソール KON もこれを利用していま
す]).ですから,よくわからない場合はこれに `n ' と答えてはい
けません.
Processor family [CPU のタイプ](Processor type and features)
(古いカーネルでは: Use -m486 flag for 486-specific optimizations)
従来は,このオプションでは特定の CPU 用に最適化したコンパイルを行なっ
ていました; カーネルは他の(最適化した以外の)CPU でも良好に動作しますが,
カーネルは少々大きくなりました.しかし新しいカーネルでは,このことは必
ずしも当てはまりません.ですから,カーネルをコンパイルするマシンの CPU
を必ず入力しなければなりません.``386'' 用カーネルならばすべてのマシン
で動作するでしょう.
SCSI support [SCSI のサポート]
SCSI デバイスを持っていたら `y ' と答えてください.CD-ROM やディ
スクのサポート,およびどの SCSI アダプタを使用するか等がさらに質問され
ます.詳細は SCSI-HOWTO を参照してください.
Network device support [ネットワークデバイスのサポート]
ネットワークカードを持っていたら,あるいは SLIP,PPP やパラレルポート
アダプタを使ってインターネットに接続するのなら `y ' と答えてく
ださい.使用するカードやプロトコルについての質問があります.
Filesystems [ファイルシステム]
設定スクリプトは,以下のファイルシステムをサポートするかどうかを聞いて
きます:
Standard (minix) - 最近の Linux は minix ファイルシステムを作成しませ
んし,ユーザも普通は使用しません.しかし,使用するように設定しておいた
方がよいでしょう.なぜなら「復旧ディスク」のプログラムにはこれを使うも
のがありますし,多くのフロッピーが minix ファイルシステムを使っている
からです.というのも,minix ファイルシステムはフロッピーでの使用に適し
ているからです.
Second extended - これは Linux 標準のファイルシステムです.ほぼ確実に
このファイルシステムがあるはずなので,`y 'と答えなければなりま
せん.
msdos - ハードディスク上の MS-DOS パーティションを使用したり,MS-DOS
フォーマットのフロッピーディスクをマウントするなら `y ' と答え
てください.
他のオペレーティングシステムのファイルシステムもいくつか使用できます.
/proc - (多分ベル研のアイディアのパクリだと思います) ディスク上に proc
というファイルシステムが作られるわけではありません.これはカーネルとプ
ロセスのインターフェースとなるファイルシステムです.多くのプロセスリス
ト表示プログラム(`ps ' など)がこれを使用します.
`cat /proc/meminfo ' や `cat /proc/devices ' などを後
で試してみてください./proc/self/fd (他のシステムでは
/dev/fd として知られる)を I/O に使用するシェルもあります(特に
rc).ほとんどの場合 `y ' と答えなければなりません.Linux の重
要なツールの多くがこのファイルシステムに依存しています.
NFS - ネットワークに接続されていて,他のシステム上にあるファイルシステ
ムを使用するなら `y ' と答えてください.
ISO9660 - ほとんどの CD-ROM が使用しています.CD-ROM ドライブを持って
いて,これを Linux でも使うつもりなら `y ' と答えてください.
でも私はどのファイルシステムを使ったらいいの?
`mount 'とタイプしてみましょう.出力はこんな感じです:
blah# mount
/dev/hda1 on / type ext2 (defaults)
/dev/hda3 on /usr type ext2 (defaults)
none on /proc type proc (defaults)
/dev/fd0 on /mnt type msdos (defaults)
それぞれの行を見てください;`type ' の次の単語がファイルシステ
ムの種類です.この例では / と /usr のファイルシステ
ムが second extended です.私は /proc も使用しています.
msdos ファイルシステムを利用してマウントしたフロッピーディスクもありま
す.
現在 /proc を利用できるなら,`cat /proc/filesystems '
とタイプしてみてください.カーネルが現在使用可能なファイルシステムが表
示されます.
あんまり使わない,それほど重要でないファイルシステムを使用できるように設
定すると,カーネルが不必要に大きくなってしまいます.対処法についてはモ
ジュールに関する章を,また大きくなったカーネルが好まれない理由について
は「落とし穴」の章を参照してください.
Character devices [キャラクタデバイス]
ここではプリンタ(パラレルプリンタのことです),バスマウス,PS/2マウス
(多くのノートパソコンは内蔵ポインティングデバイスで PS/2 プロトコルを
使用しています),いくつかのテープドライブ,その他のキャラクタデバイス
の設定ができます.必要なものについて `y ' と答えてください.
注:gpm は X ウィンドウシステムでなく仮想コンソール間で,マウ
スを用いたカット&ペーストを行うためのプログラムです.シリアルマウ
スを使用しているなら,容易に X と共存できるので便利です.しかし他のマ
ウスではちょっと面倒です.
[gpm は -R オプションをつければ X と共存できます.
また,真鍋さん multimouse はノートパソコンユーザーの方にお薦めです.]
Sound [サウンドカード]
どうしてもbiff が吠えるのを聞きたい[biff コマンドの
名前の由来は,郵便屋さんが来ると吠える犬です]のなら `y ' と答
えてください.あとで別の設定プログラムがサウンドボードに関する質問をし
て設定します.(サウンドカードの設定に関する注:設定プログラムがドライ
バをフルインストールするかどうかを聞いてきたら `n ' と答え,必
要と思われる機能のみを選択できます.カーネルの使用するメモリを節約でき
ます.)
本気でサウンドカードをサポートするなら,
http://www.linux.org.uk/OSS/ にあるフリーのドライバと,
http://www.opensound.com/ にある商用の Open Sound System を両
方調べるとよいでしょう.
他の設定オプション
設定オプションは頻繁に変化しますし,自明だったりしますので(例えば 3Com
3C509 イーサネットカードのためのデバイスドライバをコンパイルする等)
すべてを紹介するわけではありません.
Axel Boldt さん(axel@uni-paderborn.de )がまとめている,全オプ
ションのわかりやすいリスト(設定スクリプトへの組込み方も)とそのオンライ
ンヘルプがあります.Linux 2.0 では,これはカーネルのソースツリーに入っ
ている Documentation/Configure.help という大きなファイルです.
Kernel hacking [カーネルハッキング]
>Linus の README から引用します:
「カーネルハッキング」を設定するとカーネルが大きくなったり遅くなったり
(あるいはその両方)しますし,カーネルの問題(kmalloc())を見つけるため悪
いコードを積極的に中断しようとするルーチンが組み込まれますので,カーネ
ルが不安定になったりします.ですから「製品版」のカーネルでは
`n ' と答えておくべきでしょう.
make config が終ると,カーネルの設定が終ったというメッセージが表示
され,また「追加設定のためトップレベルの Makefile をチェック
しろ」というようなメッセージが表示されます.
では,Makefile を見てください.多分変更する必要はないでしょうが,
見て悪いはずもありません.新しいカーネルができたら,そのオプションを
`rdev ' コマンドで変更することもできます.このファイルを見たときに
わけがわからないと思っても,心配する必要はありません.
次のページ
前のページ
目次へ
|