aboutsummaryrefslogtreecommitdiff
path: root/ja/FAQ/kernelconfig.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'ja/FAQ/kernelconfig.sgml')
-rw-r--r--ja/FAQ/kernelconfig.sgml163
1 files changed, 0 insertions, 163 deletions
diff --git a/ja/FAQ/kernelconfig.sgml b/ja/FAQ/kernelconfig.sgml
deleted file mode 100644
index 1aa2cdb9e7..0000000000
--- a/ja/FAQ/kernelconfig.sgml
+++ /dev/null
@@ -1,163 +0,0 @@
-<!-- $Id: kernelconfig.sgml,v 1.1.1.1 1997-11-17 15:48:59 max Exp $ -->
-<!-- The FreeBSD Japanese Documentation Project -->
-<!-- Original revision: 1.1 -->
-
- <sect>
- <heading>カーネルコンフィグレーション<label id="kernelconfig"></heading>
- <p><em>訳: &a.kiroh;.<newline>10 November 1997.</em>
-
- <sect1>
- <heading>
- カーネルをカスタマイズしたいんですが, 難しいですか?
- <label id="make-kernel">
- </heading>
-
- <p>全然難しくありません. 最低 <tt/kerndist/ がシステムに
- インストールされていることが必要です. もちろん完全な
- <tt/srcdist/ をインストールしてあっても構いません. <tt/kerndist/
- がインストールしてあれば, カーネルを構築するのに必要なソースは
- すべて揃っています. 多くの商用 UNIX ベンダとは違い,
- バイナリオブジェクトでのカーネルは提供して<bf/いません/.
-
- <p>ソースコードで提供すると多少ディスクスペースを多く消費します.
- しかし, 何か問題があった場合や, 動作を確認したい場合など,
- <bf/実際に/カーネルのソースを参照できます.
-
- <p><tt/kerndist/ または <tt/srcdist/ がインストールされたら,
- root で以下の操作をおこなってください.
-
- <enum>
- <item> <tt>cd /usr/src/sys/i386/conf</tt>
- <item> <tt/cp GENERIC MYKERNEL/
- <item> <tt/vi MYKERNEL/
- <item> <tt/config MYKERNEL/
- <item> <tt>cd ../../compile/MYKERNEL</tt>
- <item> <tt/make depend/
- <item> <tt/make all/
- <item> <tt/make install/
- <item> <tt/reboot/
- </enum>
-
- <p>以前のリリース (FreeBSD 2.X) でのカーネルコンフィグファイルが
- 既にある場合は, ステップ 2 は必要ないかもしれません.
- 以前のファイルをコピーして, 書式が変更されてたり,
- 廃止されたドライバがないか, 注意深く確認してください.
-
- <p>カーネルコンフィグファイル <tt/LINT/ には,
- すべての利用可能なカーネルオプションが適切な説明とともに
- 含まれており, 大変参考になります.
-
- <p><tt/GENERIC/ カーネルコンフィグファイル は, 最も一般的と
- 思われる構成が含まれいます. (アップグレードを行っていない限り)
- あなたが最初に使ったカーネルは, おそらくこのファイルにより
- 構築されたものです. カーネルコンフィグファイルを書く場合,
- このファイルを出発点にするとよいでしょう.
-
- <p><tt/GENERIC/ に変更する必要がない場合は, ステップ 3
- も省略できます. このステップでは, カーネルを必要な構成に
- カスタマイズします. ステップ 8 は, ステップ 6 と 7 が
- うまく完了してから実行してください. ステップ 8 では,
- 新しいカーネルイメージが <tt>/kernel</tt> にコピーされ,
- 古い <tt>/kernel</tt> は, <tt>/kernel.old</tt> に
- <bf/バックアップ/されます! 新しいカーネルがうまく動作しなかった
- 場合, ブートプロンプトから指定して<tt>/kernel.old</tt> から
- ブートすることも可能ですので, 必ず覚えておいてください.
- リブートすると, デフォルトでは新しいカーネルでブートします.
-
- <p>何らかの理由でステップ 7 のコンパイルが失敗したら, ステップ 4
- にもどって, <tt/MYKERNEL/ の代わりに <tt/GENERIC/ で試してみて
- ください. <tt/GENERIC/ でうまくカーネルが生成できた場合は,
- コンフィグファイルがどこか間違っているのでしょう (バグ発見!
- の可能性もありますが). <tt/GENERIC/ カーネルの生成にも失敗した
- 場合は, おそらくソースコードが壊れています.
-
- <p>最後になりますが, 新しいカーネルが使用しているハードウェアに
- うまく適合しているかどうか調べるために元のブートメッセージを
- 調べる必要がある場合は, <htmlurl
- url="http://www.freebsd.org/cgi/man.cgi?dmesg" name="dmesg">
- コマンドを使ってみてください. このコマンドは, 古いカーネルの
- ブート時のメッセージをすべて表示します. メッセージの中には,
- 新しいカーネルを設定するのに, 非常に有用な情報が含まれます.
-
- <p><bf/注:/ うまく動作するカーネルができたら, 日付入りのカーネル
- のスナップショットを <tt/kernel.YYMMDD/ のように作成することを
- おすすめします. こうしておけば, 次にカーネルの構築をやってうまく
- いかなくなってしまっても, <tt/kernel.GENERIC/ にわざわざ戻る
- 必要がなくなります. これは, GENERIC kernel でサポートされない
- デバイスからブートしている場合は, 特に重要です
- (経験者は語るってやつです).
-
- <sect1>
- <heading>
- <tt/&lowbar;hw&lowbar;float/ が無いので, カーネルのコンパイルがうまくいきません.
- </heading>
-
- <p>推測ですけど, 数値演算コプロセッサを持ってないからと思って,
- <htmlurl url="http://www.freebsd.org/cgi/man.cgi?npx(4)"
- name="npx0"> をカーネルコンフィグファイルから削除しちゃったんじゃ
- ないですか? <tt/npx0/ は<bf/必須/です. コプロセッサがなくても,
- <tt/npx0/ デバイスは削除してはいけません.
-
- <sect1>
- <heading>マルチポートシリアル関連のコードでの, 割り込みの競合</heading>
-
- <p><bf/Q./ マルチポートシリアルをサポートするコードを含んだ
- カーネルをコンパイルしようとすると, 最初のポートだけ検出され,
- 残りのポートは割り込みの競合のためスキップされたと言われます.
- どうやったらいいでしょうか?
-
- <p><bf/A./ ここでの問題は, FreeBSD にはハードウェアまたは
- ソフトウェアの競合によってカーネルがクラッシュするのを防ぐ
- コードが含まれているという点です. 解決するには, 最初のポート
- にだけ IRQ の設定を書き, 残りは IRQ の設定を削除します.
- 以下に例を示します.
-
- <verb>
- #
- # Multiport high-speed serial line - 16550 UARTS
- #
- device sio2 at isa? port 0x2a0 tty irq 5 flags 0x501 vector siointr
- device sio3 at isa? port 0x2a8 tty flags 0x501 vector siointr
- device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr
- device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr
- </verb>
-
- <sect1>
- <heading>QIC-40/80 ドライブのサポートを有効にするには? </heading>
-
- <p><tt/GENERIC/ コンフィグファイルの以下の行のコメントを外して
- ください (もしくは使用するコンフィグファイルに追加してください).
- そして <htmlurl url="http://www.freebsd.org/cgi/man.cgi?fdc(4)"
- name="fdc"> の行に, ``<tt/flags 0x1/'' を追加してください.
-
- <verb>
-controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 flags 0x1 vector fdintr
-disk fd0 at fdc0 drive 0 ^^^^^^^^^
-disk fd1 at fdc0 drive 1
-#tape ft0 at fdc0 drive 2
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- </verb>
-
- <p>次に, <tt>/dev/ft0</tt> デバイスを作成します. <tt>/dev/</tt>
- に移動して, 以下のコマンドを実行します.
-
- <verb>
- sh ./MAKEDEV ft0
- </verb>
-
- <p>これは, 1 番目のドライブの例です. 2 番目には <tt/ft1/ を使い,
- 以降は同様にしてください.
-
- <p><tt>/dev/ft0</tt> デバイスは, ``<tt/ft/'' と呼ばれる特別な
- コマンドを使用して書き込みをおこなえます. 詳細については
- <htmlurl url="http://www.freebsd.org/cgi/man.cgi?ft" name="ft">
- のマニュアルページを参照してください.
-
- <p><tt/-current/ 以前のバージョンの <tt/ft/ には,
- 不良テープメディアの扱いに問題があります. <tt/ft/
- がテープの同じ部分を行ったり来たりしているようであれば,
- <tt/-current/ の <tt>/usr/src/sbin/ft</tt> から最新の <tt/ft/
- を取得して試してみてください.
-
- </sect>
-