  The Linux BootPrompt-HowTo
  by Paul Gortmaker.
  v1.2, May 15, 1999
  堀江誠一と JF プロジェクト
  v1.2j, November 15, 1999

  この BootPrompt-HOWTO は、Linux カーネルに起動時に引き渡すことのできる
  すべての起動時引数をまとめたものです。この文書には、カーネルおよびデバ
  イスのためのすべての引数を集めました。カーネルが起動時引数をどのように
  扱うかとか、おなじみの Linux 起動ソフトウェアについてもここで述べま
  す。
  ______________________________________________________________________

  目次

  1. 始めに
     1.1 免責、および著作権について
     1.2 想定している読者と適用できる分野
     1.3 関連文書
     1.4 Linux 関連ニュースグループ
     1.5 この文書の最新版の入手方法

  2. 起動時引数の概要
     2.1 LILO (LInux LOader)
     2.2 LoadLin
     2.3 The ``rdev'' ユーティリティ
     2.4 カーネルによる引数の分類方法
     2.5 環境変数の設定
     2.6 `init' プログラムへの引数の引渡し

  3. 一般的なデバイス非依存の起動時引数
     3.1 ルートファイルシステムのオプション
        3.1.1 `root=' 引数
        3.1.2 `ro' 引数
        3.1.3 `rw' 引数
     3.2 RAM ディスク管理に関係するオプション
        3.2.1 `ramdisk_start=' 引数
        3.2.2 `load_ramdisk=' 引数
        3.2.3 `prompt_ramdisk=' 引数
        3.2.4 `ramdisk_size=' 引数
        3.2.5 `ramdisk=' 引数 (廃止)
        3.2.6 `noinitrd' (初期 RAM ディスク) 引数
     3.3 メモリの取り扱いに関する起動時引数
        3.3.1 `mem=' 引数
        3.3.2 `swap=' 引数
        3.3.3 `buff=' 引数
     3.4 NFS ルートファイルシステムに関する起動時引数
        3.4.1 `nfsroot=' 引数
        3.4.2 `nfsaddrs=' 引数
     3.5 その他のカーネル起動時引数
        3.5.1 `debug' 引数
        3.5.2 `init=' 引数
        3.5.3 `kbd-reset' 引数
        3.5.4 `maxcpus=' 引数
        3.5.5 `mca-pentium' 引数
        3.5.6 `md=' 引数
        3.5.7 `no387' 引数
        3.5.8 `no-hlt' 引数
        3.5.9 `no-scroll' 引数
        3.5.10 `noapic' 引数
        3.5.11 `nosmp' 引数
        3.5.12 `panic=' 引数
        3.5.13 `pci=' 引数
        3.5.14 `pirq=' 引数
        3.5.15 `profile=' 引数
        3.5.16 `reboot=' 引数
        3.5.17 `reserve=' 引数
        3.5.18 `vga=' 引数

  4. PCI バスの動作を制御する起動時引数 (`pci=')
     4.1 `pci=bios' 引数と `pci=nobios' 引数
     4.2 `pci=conf1' 引数と `pci=conf2' 引数
     4.3 `pci=io=' 引数
     4.4 `pci=nopeer' 引数
     4.5 `pci=nosort' 引数
     4.6 `pci=off' 引数
     4.7 `pci=reverse' 引数

  5. ビデオフレームバッファドライバ用の起動時引数
     5.1 `video=map:...' 引数
     5.2 `video=scrollback:...' 引数
     5.3 `video=vc:...' 引数

  6. SCSI 機器用の起動時引数
     6.1 中位のドライバのための引数
        6.1.1 LUN の最大検出数 (`max_scsi_luns=')
        6.1.2 SCSI ロギング (`scsi_logging=')
     6.2 SCSI ホストアダプタ用の引数
        6.2.1 Adaptec aha151x, aha152x, aic6260, aic6360, SB16-SCSI (`aha152x=')
        6.2.2 Adaptec aha154x (`aha1542=')
        6.2.3 Adaptec aha274x, aha284x, aic7xxx (`aic7xxx=')
        6.2.4 AdvanSys SCSI ホストアダプタ (`advansys=')
        6.2.5 Always IN2000 ホストアダプタ (`in2000=')
        6.2.6 AMD AM53C974 ベースのハードウェア (`AM53C974=')
        6.2.7 v1.2 カーネル用 BusLogic SCSI ホストドライバ (`buslogic=')
        6.2.8 v2.x カーネル用 BusLogic SCSI ホストドライバ (`BusLogic=')
        6.2.9 EATA SCSI カード (`eata=')
        6.2.10 Future Domain TMC-8xx, TMC-950 (`tmc8xx=')
        6.2.11 Future Domain TMC-16xx, TMC-3260, AHA-2920 (`fdomain=')
        6.2.12 IOMEGA パラレルポート / ZIP ドライブ (`ppa=')
        6.2.13 NCR5380 ベースのコントローラ (`ncr5380=')
        6.2.14 NCR53c400 ベースのコントローラ (`ncr53c400=')
        6.2.15 NCR53c406a ベースのコントローラ (`ncr53c406a=')
        6.2.16 Pro Audio Spectrum (`pas16=')
        6.2.17 Seagate ST-0x (`st0x=')
        6.2.18 Trantor T128 (`t128=')
        6.2.19 Ultrastor SCSI カード (`u14-34f=')
        6.2.20 Western Digital WD7000 カード (`wd7000=')
     6.3 起動時引数を取らない SCSI ホストアダプタ

  7. ハードディスク
     7.1 IDE ディスク/IDE CD-ROM ドライバの引数
     7.2 標準 ST-506 ディスクドライブ用の引数 (`hd=')
     7.3 XT ディスクドライバのオプション (`xd=')

  8. CD-ROM (非 SCSI/ATAPI/IDE)
     8.1 Aztech インターフェース (`aztcd=')
     8.2 CDU-31A および CDU-33A Sony インタフェース (`cdu31a=')
     8.3 CDU-535 Sony インタフェース (`sonycd535=')
     8.4 GoldStar インタフェース (`gscd=')
     8.5 ISP16 インタフェース (`isp16=')
     8.6 Mitsumi 標準インタフェース(`mcd=')
     8.7 Mitsumi XA/マルチセッションインターフェース (`mcdx=')
     8.8 Optics Storage インタフェース(`optcd=')
     8.9 Phillips CM206 インタフェース (`cm206=')
     8.10 Sanyo インタフェース(`sjcd=')
     8.11 SoundBlaster Pro インタフェース(`sbpcd=')

  9. シリアルドライバと ISDN ドライバ
     9.1 ICN ISDN ドライバ (`icn=')
     9.2 PCBIT ISDN ドライバ (`pcbit=')
     9.3 Teles ISDN ドライバ (`teles=')
     9.4 DigiBoard ドライバ (`digi=')
     9.5 RISCom/8 マルチポートシリアルドライバ (`riscom8=')
     9.6 Baycom シリアル・パラレル無線モデム (`baycom=')

  10. 他のハードウェアデバイス
     10.1 イーサネットデバイス (`ether=')
     10.2 フロッピーディスクドライバ (`floppy=')
     10.3 サウンドドライバ (`sound=')
     10.4 バスマウスドライバ (`bmouse=')
     10.5 MS バスマウスドライバ(`msmouse=')
     10.6 プリンタドライバ (`lp=')

  11. 著作権、翻訳、結びの言葉など
     11.1 著作権と免責事項
     11.2 終わりに
     11.3 日本語訳について

  ______________________________________________________________________

  1.  始めに

  通常のプログラムが引数リストを受け取れるように、カーネルにも制限付きで
  はありますが起動時に「コマンドライン」としていくらかの情報を受け取る機
  能があります。普通は、こういった機能はカーネル自身が検出することのでき
  ないハードウェア情報を渡すことに使われたり、カーネルによる検出を押さえ
  たり、あるいは検出した情報を書き換えるのに使用されます。

  しかし、単にカーネルをフロッピーに(例えば cp zImage /dev/fd0 で) コピ
  ーしてしまうと、カーネルに引数を与えられません。そこで、ほとんどの
  Linux 利用者は LILO や loadlin といったソフトを使って、引数をカーネル
  に渡した後に起動を行います。

  この文書は、現在の版では v2.2.9 までのカーネルについて記述しています。
  また、 v2.3.2 までの開発・試験カーネルに固有の機能については、一部対応
  しています。

  BootPrompt-HOWTO は、

       Paul Gortmaker, p_gortmaker@yahoo.com

  が書きました。

  1.1.  免責、および著作権について

  この文書は Paul Gortmaker の著作物です(Copyright (c) 1995-1999)。この
  文書の末尾にある免責と著作権に関する情報 (``copyright'')を見て、この文
  書の再配布に関する情報と、お約束の「あなたが何か損害を受けても我々の責
  任ではありません…」といった種類の法的事項に関する情報を確認してくださ
  い。

  1.2.  想定している読者と適用できる分野

  ほとんどの Linux ユーザはこの文書を見る必要さえないはずです。 Linux は
  ほとんどのハードウェアを非常にうまく検出し、ほとんどのパラメータに適切
  なデフォルト値を設定してくれます。この文書に書かれている情報は、特定の
  マシン向けにカーネルを最適化するためにデフォルト設定をいくらか変えたい
  と思っているユーザや、あまり一般的でなく現時点では自動検出ができないハ
  ードウェアをサポートするために独自のカーネルを作っている人のためのもの
  です。

  重要な注意: ドライバ関連の起動時引数は、直接カーネルに組み込まれたドラ
  イバにしか適用されません。つまりモジュールとしてロードされたカーネルに
  対しては無効です。ほとんどの Linux ディストリビューションに付属してい
  る基本カーネルは「骨と皮」だけであり、ドライバはカーネルが初期化された
  後にロードされる小さなモジュールの集まりになっています。モジュールを
  使っているかどうかがよくわからなければ、 man depmod と man modprobe の
  オンラインマニュアルと /etc/conf.modules ファイルの内容を合わせてみて
  ください。

  1.3.  関連文書

  カーネルソースこそが常に最新の情報です。ちょっと待った。そこでおじけづ
  かないでください。ソースファイルのコメントを読むのに、プログラミングの
  知識は不要です。例えば、AHA1542 SCSI ドライバにどんな引数を渡せるのか
  知りたければ、linux/drivers/scsi ディレクトリに移動して、 aha1542.c を
  見ましょう。そして、先頭の 100 行ほどの部分に簡単な英語で書かれている
  1542 ドライバ用の引数の説明を読めばいいのです。

  linux ディレクトリは大抵のディストリビューションでは普通、 /usr/src/
  にあります。本文書では、カーネル付属の文書への参照は、パス名を linux
  と省略します。したがって linux の前には /usr/src/ や、お使いのシステム
  に合ったパス名を加えなければなりません。(ファイルのある場所が分からな
  ければ、find コマンドか locate コマンドを使ってください。)

  次善の文書はカーネルといっしょに配布されている文書類です。現在は少なく
  ない数のファイルがあり、そのほとんどは linux/Documentation ディレクト
  リとそのサブディレクトリにあります。README.foo といった名前のファイル
  が関連するドライバのディレクトリにあることもあります(例:
  linux/drivers/???/, ここで ??? は scsi, char, net など)。

  どの起動時引数を使えばよいかが分かり、次にこれをどうやってカーネルに渡
  せばいいかが知りたくなったら、あなたがお使いになっているカーネル起動ソ
  フトウェア(例: LILO や loadlin )に付属している文書を参照してください。
  以下でも簡単に説明しますが、起動ソフトウェア付属の文書に代わりうるもの
  ではありません。

  1.4.  Linux 関連ニュースグループ

  カーネルに渡す起動時パラメータに関して疑問がある場合、まずはこの文書を
  読んでください。この文書やすでに紹介した関連文書があなたの疑問に答えら
  れない場合は、Linux ニュースグループで質問するとよいでしょう。システム
  の設定方法に関する一般的な質問は、comp.os.linux.setup に出すべきです。
  ここに挙げた一般的な方針を守り、他のニュースグループへ多重投稿しないよ
  う、お願いします。

  もちろん、何も考えないで質問を出すのではなく、ニュースグループをよく
  チェックすべきでしょう。というのも、あなたの質問はよくある質問
  (Frequently Asked Question, FAQ)かもしれないからです。質問の前に Linux
  FAQ にざっと目を通しておくのは良いことです。また、あなたがこの文書を入
  手した場所の近くにも、FAQ があるはずです。あなたの質問が FAQ でなけれ
  ば、http://www.dejanews.com のようなニュースグループのアーカイブを使っ
  てここ数年の投稿を簡単に調べ、あなたの質問を投稿すべきどうかを確認して
  ください。あなたが抱えている疑問について誰か別の人が質問している(そし
  て誰かが回答している!)可能性があります。

  1.5.  この文書の最新版の入手方法

  この文書の新版は、Linux 関係の FTP サイトの /pub/Linux/docs/HOWTOディ
  レクトリから anonymous FTP を使用して入手できます。新しい情報が入った
  り、新しいドライバができたりしたときに、更新を行います。今、あなたが読
  んでいるこの文書が 6 ヶ月前のものでしたら、新しい版がないかどうかを調
  べるべきでしょう。筆者はこの文書は WWW ブラウザで読む
  か、PostScript/DVI 形式で読むことをお勧めします。これらの形式は、単純
  なテキストファイルでは欠落してしまう相互参照を利用できるからです。

  正式な版が欲しければ、以下の URL から入手してください。

  BootPrompt-HOWTO <http://metalab.unc.edu/mdw/HOWTO/BootPrompt-
  HOWTO.html>

  (訳注: 日本語版の正式 URL は
  <http://www.linux.or.jp/JF/docs/BootPrompt-HOWTO.html> です。)

  2.  起動時引数の概要

  この節ではカーネルに対して起動時引数を渡すことのできるソフトの例をいく
  つか紹介します。また、どのように引数が処理されるのか、起動時引数にはど
  のような制限があるのか、引数がどのようにしてしかるべきデバイスに渡され
  るのかも説明します。

  起動時引数では空白を使ってはならず、空白は各々の引数を分けるためだけに
  使う点を肝に命じておいてください。ある一つの引数に値のリストを渡す時に
  は、値はコンマで区切ります。くどいようですが、空白ではありません。以下
  の例を見てください。

  ______________________________________________________________________
          ether=9,0x300,0xd0000,0xd4000,eth0  root=/dev/hda1            *正しい*
          ether = 9, 0x300, 0xd0000, 0xd4000, eth0  root = /dev/hda1    *誤り*
  ______________________________________________________________________

  一度 Linux カーネルが起動し、動作していれば、起動時に指定されたコマン
  ドライン引数は単に cat /proc/cmdline をシェルプロンプトで実行するだけ
  で見ることができます。

  2.1.  LILO (LInux LOader)

  Werner Almesberger による LILO (LInux LOader)プログラムは、もっともよ
  く使われている起動プログラムです。このプログラムは様々なカーネルを起動
  でき、設定情報をテキストファイルで持っています。ほとんどの Linux の配
  布は、デフォルトの起動プログラムとして LILO を使っています。LILO は
  DOS、 OS/2、Linux、FreeBSD などを起動できます。ぜんぜん難しい点はな
  く、非常に柔軟です。

  よく見る設定は、コンピュータを起動した直後に LILO が 「LILO:」というプ
  ロンプトを出して停止するものです。その後数秒間、利用者からの入力を待
  ち、入力が無ければデフォルト指定されたシステムを起動します。よく使われ
  ているシステムラベルとしては、Linux, backup, msdos などがあります。起
  動時引数を与えたいときには、ここで入力します。引数を入力する位置
  は、LILO に起動させるシステムのシステムラベルの後ろです。以下の例を見
  てください。

  ______________________________________________________________________
          LILO: linux root=/dev/hda1
  ______________________________________________________________________

  LILO には良くできた文書がついています。また、ここで説明する起動時引数
  に関しては、引数を LILO の設定ファイルに追加するための append= コマン
  ドが特に重要です。使い方は、/etc/lilo.conf ファイルに append =
  "foo=bar" といった行を単に追加するだけです。この行をファイルの先頭に置
  くと設定ファイルの全ての節に適用できますし、 image= 節の内側に書けば一
  つの節だけに適用できます。より詳細な解説については、LILO の文書を参照
  してください。

  2.2.  LoadLin

  他によく使われる Linux 起動プログラムとしては、`LoadLin' があります。
  これは DOS のプログラムであり、必要な資源がそろっているものと仮定し
  て、DOS プロンプトから(起動時引数つきで) Linux カーネルを起動します。
  これは、 DOS から Linux を起動したい人にとって便利です。

  また、LoadLin はメーカーが提供している DOS ドライバを使って特定の状態
  に設定しなければならないハードウェアを持っているときにも便利です。よく
  ある例としては、DOS ドライバを使って特定のレジスターをいじらないと SB
  互換にならない 「SoundBlaster 互換」カードがあります。DOS で起動してメ
  ーカー提供のドライバを使用し、その後で LOADLIN.EXE を使って DOS プロン
  プトから Linux を起動すれば、再起動によってカードが初期状態に戻ること
  を防げます。この結果、カードは SB 互換モードにとどまり、Linux で使用で
  きます。

  この他にも、Linux を起動するプログラムがいくつかあります。全てのプログ
  ラムを見たいなら、お近くの Linux 関連 FTP ミラーサイト に行って、
  system/Linux-boot/ ディレクトリを覗いてください。

  2.3.  The ``rdev'' ユーティリティ

  カーネル起動時引数には、カーネルイメージ自身の中にデフォルト値を持って
  いるものがあります。ほとんどのシステムには rdev と呼ばれるソフトがあ
  り、これはカーネル内のデフォルト値の置き場所と、値の変更方法を知ってい
  ます。また、デフォルトのビデオモードのように、対応するカーネル起動時引
  数がないものも変更できます。

  rdev は普通は swapdev, ramsize, vidmode, rootflags のような別名を持っ
  ています。これら 5 つは rdev で変更できる設定です。つまり swap デバイ
  ス、RAM disk 引数、デフォルトのビデオモード、root デバイスの読み出し専
  用/読み書き両用の設定を変更できます。

  rdev に関する詳しい情報については、rdev -h を実行するか、付属の man ペ
  ージを見てください(man rdev)。

  2.4.  カーネルによる引数の分類方法

  ほとんどの起動時引数は次のような形式です:

  ______________________________________________________________________
          name[=value_1][,value_2]...[,value_11]
  ______________________________________________________________________

  ここで、"name" は、その後ろに続く値が(もしあれば)カーネルのどの部分に
  適用されるかを表す一意なキーワードです。起動時引数を複数与えるには、上
  の形式の引数を単に空白で区切って与えます。付け加えておきますと、11 個
  の制限は本当にある点に注意してください。というのも、現在のコードはコン
  マで区切られた引数を 1 キーワードあたり 11 個しか取り扱えないからで
  す。(しかし、ほとんどないような複雑な状況の場合には、同じキーワードを
  もう一度使うことによって、もう 11 個まで引数を追加できます。ただ
  し、setup 関数がこれを許すと仮定してですが)。もうひとつ付け加えると、
  カーネルはこのリストを最大 10 個までのコンマで区切られた整数型引数と、
  残りの文字列という形に分割してしまいます。したがって、ドライバが 11 番
  目の引数を自分で文字列から整数に変換しない限り、11 個の整数を引数とし
  て渡すことはできません。

  分類は大部分 linux/init/main.c で行われます。最初に、カーネルは引数が
  次の特別な引数のうちのどれかに当たらないか調べます。特別な引数は
  "root=", "ro", "rw", "debug" です。これらの特別な引数の意味は後で説明
  します。

  それから、カーネルは setup 関数(bootsetups 配列 に入っています) を見
  て、与えられた引数文字列 (例えば "foo" としましょう) がカーネルの特定
  の場所や何らかのデバイスの setup 関数(foo_setup()) と関連付けられてい
  ないかを調べます。例えばカーネルに foo=3,4,5,6,bar という引数を与えた
  とすると、カーネルは bootsetups 配列を見て "foo" が登録されていないか
  どうか調べます。これが登録されていると、カーネルは "foo" と関連付けら
  れている setup 関数(foo_setup())を呼び出して、コマンドラインで与えられ
  た整数型引数 3、4、5、6 と文字列型引数 bar を与えます。

  2.5.  環境変数の設定

  "foo=bar" という形式を持っており、前述のように setup 関数に受け付けら
  れなかった引数は、設定すべき環境変数と解釈されます。例えば、TERM=vt100
  や BOOT_IMAGE=vmlinuz.bak を起動時引数として渡すことが考えられます。こ
  ういった環境変数は普通、初期化スクリプトで調べられ、さまざまな設定を有
  効または無効にするために使われます。

  2.6.  `init' プログラムへの引数の引渡し

  カーネルに受け入れられず、環境変数とも解釈されなかった引数は全てプロセ
  ス 1 に引き渡されます。プロセス 1 は普通 init プログラムです。プロセス
  1 に渡される引数のうち最も一般的なのは、single です。この引数は init
  に対してシステムをシングルユーザモードで起動し、普通起動するデーモンを
  一切起動しないよう指示します。どのような引数が許されるかは、お使いのシ
  ステムに導入されている init の man ページを参照してください。

  3.  一般的なデバイス非依存の起動時引数

  デバイスやペリフェラルに依存しない引数もあります。これらはデバイス等で
  はなく、特定の内部カーネルパラメータに関連しています。たとえば主記憶の
  取り扱い、RAM ディスクの取り扱い、ルートファイルシステムの取り扱いなど
  です。

  3.1.  ルートファイルシステムのオプション

  以下のオプションは、カーネルがどのようにルートファイルシステムを選ぶ
  か、また、どのように扱うかに関連しています。

  3.1.1.  `root=' 引数

  この引数はカーネルに起動時にどのデバイスをルートファイルシステムとして
  使用するかを指定します。この設定のデフォルト値は、システムのカーネルが
  組み込まれていたルートデバイスです。例えば、`/dev/hda1' をルートパー
  ティションとして使っているシステムに問題のカーネルが 組み込まれていた
  なら、デフォルトのルートデバイスは、`/dev/hda1' です。このデフォルト値
  ではなく 2 番目のフロッピーをルートデバイスとして使用するときには
  `root=/dev/fd1" を使用してください。

  以下に有効なルートデバイスを示します:

  (1) /dev/hdaN から /dev/hddN: これは ST-506 互換ディスク a から d のパ
  ーティション N である。

  (2) /dev/sdaN から /dev/sdeN: これは SCSI 互換ディスク a から e のパー
  ティション N である。

  (3) /dev/xdaN から /dev/xdbN: これは XT 互換ディスク a から b のパー
  ティション N である。

  (4) /dev/fdN: これは番号 N のフロッピードライブである。 N=0 なら DOS
  の A: ドライブで、N=1 なら B: ドライブとなる。

  (5) /dev/nfs: これは実際はデバイスではなく、ネットワークからルートファ
  イルシステムを持ってくるようカーネルに指示するためのフラグである。

  不細工で可搬性に欠けますが、上に挙げた有効なディスクデバイスをメジャー
  /マイナー番号で指定する方法も許されています(例えば /dev/sda3 はメジャ
  ー番号 8、マイナー番号 3 なので、root=0x803 とも指定できます)。

  root= は、カーネル内部にデフォルト値がある起動時引数の一つです。した
  がって、この値は rdev ユーティリティ で変更できます。
  3.1.2.  `ro' 引数

  カーネルの起動時、基本的な部分を読み込むためのルートファイルシステムが
  必要になります。これが起動時にマウントされるルートファイルシステムで
  す。しかし、このファイルシステムが読み書き可能な状態でマウントされてい
  ると、書き込み途中のファイルがあるためにファイルシステムの一貫性を確実
  に調べられません。`ro'オプションは、カーネルに対してルートファイルシス
  テムを「読み取り専用」でマウントするよう指示しますので、ファイルの一貫
  性を調べるプログラム (fsck) は調査中に書き込み途中のプログラムがないも
  のと仮定して安全に動作できます。当該ファイルシステムは、読み書き可能を
  指定して再マウントされるまで、どんなプログラムやプロセスからも書き込み
  できません。

  `ro=' は、カーネル内部にデフォルト値がある起動時引数の一つです。した
  がって、この値は rdev ユーティリティで変更できます。

  3.1.3.  `rw' 引数

  これは上で説明したものとは正反対で、カーネルにルートファイルシステムを
  読み書き可能としてマウントすることを指示します。ただし、デフォルトの動
  作ではいずれにせよルートファイルシステムは読み書き可能でマウントされま
  す。読み書き可能でマウントされているファイルシステムに "fsck" の類を適
  用してはいけません。

  上の節で説明したカーネルイメージの中の値が、このパラメータでも使用され
  ています。したがって、rdev を使用して変更できます。

  3.2.  RAM ディスク管理に関係するオプション

  以下のオプションは、すべてカーネルが RAM ディスクをどのように扱うかを
  指定します。RAM ディスクは普通、インストール時のマシンの起動に用いられ
  たり、ルートファイルシステムを読み書きするのにモジュール化されたドライ
  バを必要とするマシンで使用されます。

  3.2.1.  `ramdisk_start=' 引数

  カーネルイメージをフロッピーディスクに置いて圧縮 ramdisk  イメージとと
  もに配置するために、"ramdisk_start=<offset>" コマンドが追加されまし
  た。圧縮された ramdisk ファイルシステムのイメージにカーネルを含めるこ
  とはできません。というのは、BIOS にブートセクターを読ませてカーネル自
  身を起動するには、ブロック 0 からの位置に配置しないといけないからで
  す。

  注意: 非圧縮の ramdisk イメージを使用する場合には、カーネルを ramdisk
  に読み込むファイルシステムイメージの一部としておき、LILO を使ってフ
  ロッピーから起動できます。あるいは、イメージを圧縮イメージの時と同じよ
  うに 2 つに分けておくこともできます。

  起動ディスクとルートディスクの 2 枚を使う構成(ディスク 1 にカーネル、
  ディスク 2 に ramdisk イメージ)をとる場合には、ramdisk はブロック 0 に
  配置し、オフセットとして 0 を指定します。これはデフォルト値なので、実
  際にはこのような指定をする必要はありません。

  3.2.2.  `load_ramdisk=' 引数

  この引数はカーネルに ramdisk イメージを読み込むか読み込まないかを指示
  します。"load_ramdisk=1" を指定すると、カーネルはフロッピーを ramdisk
  に読み込みます。デフォルト値は 0 であり、カーネルは ramdisk イメージを
  読み込みません。

  最新の起動時引数とその使用方法については、
  linux/Documentation/ramdisk.txt を参照してください。`rdev' を使ってこ
  の引数をカーネルイメージに設定する方法は、ここに書いてあります。

  3.2.3.  `prompt_ramdisk=' 引数

  このパラメータは、ramdisk イメージが入ったフロッピーの挿入を求めるプロ
  ンプトをユーザに出すかどうかをカーネルに指定します。フロッピー 1 枚の
  構成であれば、ramdisk イメージはロード/起動用のカーネルが入っているの
  と同じフロッピーに入っていますから、プロンプトは不要です。この場合
  は、"prompt_ramdisk=0" とします。フロッピー 2 枚の構成であれば、フロッ
  ピーを差し替える操作が必要です。ですから、 "prompt_ramdisk=1" としま
  す。これはデフォルト値なので、実際には指定する必要はありません(歴史的
  経緯に関する注釈: 悪知恵の働く人たちは、ブートプロセスを一時的に止め、
  ブートフロッピーをルートフロッピーに差し替えられるようにするために
  LILO の "vga=ask" オプションを使っていました)。

  最新の起動時引数とその使用方法については、
  linux/Documentation/ramdisk.txt を参照してください。"rdev" を使ってこ
  の引数をカーネルイメージに設定する方法についてもここに書いてあります。

  3.2.4.  `ramdisk_size=' 引数

  ramdisk は要求に応じて動的に大きくなっていきますから、大きさの上限が設
  けられています。このおかげで、有効な RAM を全部使い切って、利用者がわ
  けのわからない災難に遭うことがないようになっています。デフォルトの上限
  は 4096 (つまり 4MB) で、ほとんどの場合はこれで十分なはずです。
  "ramdisk_size=" 起動時引数を使うと、この値を好きな値に変更することがで
  きます。

  最新の起動時引数とその使用方法については、
  linux/Documentation/ramdisk.txt を参照してください。 "rdev" を使ってこ
  の引数をカーネルイメージに設定する方法についても、ここに書いてありま
  す。

  3.2.5.  `ramdisk=' 引数 (廃止)

  (注意: この引数は廃止されているので、バージョン 1.3.47 以前のカーネル
  にだけ使用してください。 ramdisk デバイス用に使用すべきコマンドは先に
  説明した通りです。)

  このオプションは、RAM ディスクデバイスの大きさを kB 単位で指定します。
  例えば、1.44MB フロッピーに入っているルートファイルシステムを RAM ディ
  スクにロードしたければ以下のようにします。

  ______________________________________________________________________
          ramdisk=1440
  ______________________________________________________________________

  "ramdisk=" は、カーネルが内部にデフォルト値を持っている起動時引数の一
  つです。したがって、この値は rdev ユーティリティで変更できます。

  3.2.6.  `noinitrd' (初期 RAM ディスク) 引数

  バージョン 2.x 以降のカーネルが持つ機能として、ルートファイルシステム
  を最初は RAM ディスクに置いて、その RAM イメージ上でカーネルに
  /linuxrc を実行させられます。この機能が使われるのは普通、実際に使うル
  ートファイルシステムをマウントするために必要なモジュールをロードできる
  ようにする場合です(例えば、SCSI ドライバモジュールをRAM ディスクイメー
  ジに読み込んで、SCSI 上の実際のルートファイルシステムを読むような場合
  です)。
  実際の "noinitrd" 引数は、カーネルが起動した後に initrd データがどうな
  るのかを指示します。これが指定されると、initrd データを RAM ディスクに
  移すのではなく、/dev/initrd を通して扱えるようになります。これは、RAM
  が解放されてシステムに返却されるまで読むことができます。 RAM ディスク
  の詳細については linux/Documentation/initrd.txt を参照してください。ま
  た、 LILO や LOADLIN の最新版にも役に立つ情報が入っているはずです。

  3.3.  メモリの取り扱いに関する起動時引数

  以下の引数は、システムの物理および仮想メモリの Linux による検出・取り
  扱いの方法を変更します。

  3.3.1.  `mem=' 引数

  この引数には二つの目的があります。本来の目的は積んでいる主記憶の総量
  (または、Linux で使える主記憶の量を制限したければ、これより小さい数)を
  指定することでした。二番目の(そしてあまり使われない)目的は
  mem=nopentium を指定して、Linux カーネルに 4MB ページテーブル実行機能
  を使わせないようにすることです。

  PC の仕様における本来の BIOS 呼び出しは、組み込まれている主記憶の総量
  を最大 64MB までしか報告できないよう設計されています(そう、ディスクで
  起こる 1024 シリンダー問題と同種の、将来に関する洞察力の欠如です…タメ
  イキ)。 Linux は起動時にこの BIOS 呼び出しを用いて、積まれている主記憶
  の量を調べます。もし 64MB 以上の主記憶を積んでいるならば、積まれている
  主記憶の量を mem= 起動時引数を使って Linux に知らせられます。 mem= 引
  数の使い方に関する Linus の言葉を引用しましょう。

  「カーネルはどんな `mem=xx' 引数を指定されても受け付けます。そして指定
  が間違っていることが明らかになると、遅かれ早かれクラッシュします。この
  引数は利用可能な最上位の RAM アドレスを示します。ですから、例えば
  `mem=0x1000000' は 16MB の主記憶があるという意味です。96MB のマシンな
  ら、これは `mem=0x6000000' です。実際に積んでいるよりも多くの主記憶が
  あるように指定すると、まずいことが起こるでしょう。すぐには起きないかも
  しれませんが、いつか必ず起こるでしょう」

  引数は必ずしも 16 進数である必要はありません。また、後ろに `k' や `M'
  (大文字・小文字は関係ありません)を付けることにより、キロバイト単位やメ
  ガバイト単位の指定がそれぞれ可能です(`k' は値を 10 ビットシフトさせ、
  `M' は 20 ビットシフトさせます)。128MB のマシンでは普通、 "mem=128m"
  といった指定になるでしょう。

  3.3.2.  `swap=' 引数

  この引数を使うと、ディスクへのスワッピングに関連する仮想記憶(virtual
  memory, VM)のパラメータを調整できます。この引数は以下の 8 つのパラメー
  タを受け取ります。

  ______________________________________________________________________
          MAX_PAGE_AGE
          PAGE_ADVANCE
          PAGE_DECLINE
          PAGE_INITIAL_AGE
          AGE_CLUSTER_FRACT
          AGE_CLUSTER_MIN
          PAGEOUT_WEIGHT
          BUFFEROUT_WEIGHT
  ______________________________________________________________________

  興味のあるハッカーは linux/mm/swap.c を読んでください。ま
  た、/proc/sys/vm の中ものぞいてみるといいでしょう。カーネルの
  linux/Documentation/vm/ ディレクトリには、これに関して役立つ文書が入っ
  ています。

  3.3.3.  `buff=' 引数

  `swap=' と同様の引数です。この引数は、利用者がバッファのメモリ管理に関
  するパラメータを調整することを許します。これは以下の 6 つのパラメータ
  を受け付けます:

  ______________________________________________________________________
          MAX_BUFF_AGE
          BUFF_ADVANCE
          BUFF_DECLINE
          BUFF_INITIAL_AGE
          BUFFEROUT_WEIGHT
          BUFFERMEM_GRACE
  ______________________________________________________________________

  興味のあるハッカーは linux/mm/swap.c を読んでください。ま
  た、/proc/sys/vm の中ものぞいてみるとよいでしょう。カーネルの
  linux/Documentation/vm/ ディレクトリには、これに関する役に立つ文書が
  入っています。

  3.4.  NFS ルートファイルシステムに関する起動時引数

  Linux は、ルートファイルシステムを NFS (Network File System)から取得す
  るディスクレスワークステーションのようなシステムに対応しています。以下
  の引数を用いると、ディスクレスワークステーションに対してどのマシンから
  システムを持ってくるのかを指示できます。引数 root=/dev/nfs が必要な点
  にも注意してください。NFS ルートファイルシステムの使い方の詳しい情報
  は、linux/Documentation/nfsroot.txt にあります。このファイルは読むべき
  です。というのも、以下の説明はこのファイルからの要約に過ぎないからで
  す。

  3.4.1.  `nfsroot=' 引数

  この引数はどのマシン、どのディレクトリ、どの NFS オプションをルート
  ファイルシステムとして使用するのかをカーネルに指示します。この引数の書
  式は以下の通りです:

  ______________________________________________________________________
          nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>]
  ______________________________________________________________________

  nfsroot 引数がコマンドラインから与えられない場合、デフォルト値として
  `/tftpboot/%s' が使用されます。その他のオプションは以下の通りです:

  <server-ip> -- NFS サーバの IP アドレスを指定します。これが与えられて
  いない場合、デフォルト値として nfsaddrs (後述)変数が使用されます。この
  引数の用途は例えば、RARP と NFS を別のサーバにする場合です。普通はこの
  部分は空のままでかまいません。

  <root-dir> -- ルートとしてマウントする、サーバ上のディレクトリの名前で
  す。文字列に `%s' トークンが使用されている場合、このトークンはクライア
  ントの IP アドレスの ASCII 文字列表現で置き換えられます。
  <nfs-options> -- 標準の NFS オプションです。全てオプションはコンマで区
  切ります。このオプションが与えられない場合には、以下のデフォルト値が使
  用されます:

          port            = サーバの portmap デーモンによって与えられた値
          rsize           = 1024
          wsize           = 1024
          timeo           = 7
          retrans         = 3
          acregmin        = 3
          acregmax        = 60
          acdirmin        = 30
          acdirmax        = 60
          flags           = hard, nointr, noposix, cto, ac

  3.4.2.  `nfsaddrs=' 引数

  この起動時引数はネットワーク越しに通信を行うために必要な各種ネットワー
  クインターフェースアドレスを設定します。この引数が与えられない場合、カ
  ーネルは RARP か BOOTP のいずれか、または両方を使用してこの値を得よう
  とします。形式は以下の通りです:

  ______________________________________________________________________
          nfsaddrs=<my-ip>:<serv-ip>:<gw-ip>:<netmask>:<name>:<dev>:<auto>
  ______________________________________________________________________

  <my-ip> -- クライアントの IP アドレスです。無指定の場合はアドレスが
  RARP か BOOTP によって決定されます。どのプロトコルが使用されるかは、カ
  ーネル設定の時に有効にした項目と <auto> パラメータによります。このパラ
  メータを指定していれば、RARP も BOOTP も使用されません。

  <serv-ip> -- NFS サーバの IP アドレスです。クライアントアドレスを決定
  するのに RARP が用いられていており、かつこのパラメータが無指定ではない
  場合、指定したサーバからの応答だけが受け付けられます。異なる RARP サー
  バおよび NFS サーバを使用したければ、ここで RARP サーバを指定(あるいは
  無指定にしておいて)して、nfsroot パラメータ(前述)で NFS サーバを指定し
  てください。このパラメータが無指定の場合、サーバのアドレスは RARP リク
  エストか BOOTP リクエストに対して返答したサーバのアドレスが使用されま
  す。

  <gw-ip> -- サーバが違うサブネットにある時に指定するゲートウェイアドレ
  スです。これが無指定であり、かつこの値が BOOTP で受信されなければ、ゲ
  ートウェイは使用されずサーバはローカルなネットワークにあるものと仮定さ
  れます。

  <netmask> -- ローカルネットワークインターフェースのネットマスクです。
  これが無指定であり、かつこの値が BOOTP によって受信されなければ、ネッ
  トマスクはクライアントの IP アドレスから求められます。

  <name> -- クライアントの名前です。これが無指定であれば、クライアントの
  IP アドレスの ASCII 表記か、BOOTP によって受信された値が使われます。

  <dev> -- 使用するネットワークデバイスの名前です。これが無指定の場合に
  は、全てのデバイスが RARP リクエストに使用され、最初に見つかったものが
  BOOTP に使用されます。NFS の場合は、RARP リクエストか BOOTP リクエスト
  の応答を受け取ったデバイスが使用されます。デバイスが一つしかないなら、
  このパラメータを無指定にしても大丈夫です。

  <auto> -- 自動設定の方法を指定します。この引数が `rarp' か `bootp' の
  時には、指定されたプロトコルが使用されます。値が `both' か無指定の場合
  は、カーネル設定時に有効にされていれば、両者が用いられます。`none' を
  指定すると、自動設定は行われません。この場合、先に説明した引数のうち必
  要なものを全て自分で設定しなければなりません。

  <auto> パラメータは nfsadrs 引数の値として単独で(前に `:' が付くことな
  く)使用できます。この場合は自動設定が行われます。しかし、この場合には
  値 `none' は指定できません。

  3.5.  その他のカーネル起動時引数

  以下に示す各種の起動時引数を用いて、カーネルの内部パラメータをユーザが
  調整できます。

  3.5.1.  `debug' 引数

  カーネルは利用者に対して重要な(あるいはそうでもない)メッセージを
  printk() 関数を通して提示します。メッセージが重要な場合、 printk() 関
  数は現在のコンソールに表示するとともに、そのメッセージをディスクに記録
  するために klogd() 機能に引き渡します。ディスクに記録を保管するだけで
  なくコンソールに表示するのは、不幸にしてメッセージがディスクに記録され
  ず失われるような場合(例えばディスクの不良など)を考慮してのことです。

  重要なものと重要でないものを区別するための閾値値は console_loglevel 変
  数によって設定されます。デフォルトでは、 DEBUG (レベル7)よりも重要なも
  のをコンソールに送ります(こういったレベルはインクルードファイル
  kernel.h で定義されています)。 debug を起動時引数として与えると、コン
  ソールログレベルを 10 に設定します。その結果、全てのカーネルメッセージ
  がコンソールに現れます。

  コンソールログレベルは通常、klogd() プログラムのオプションとして実行時
  に設定されます。設定の方法については、システムにインストールされている
  klogd() の man ページを参照してください。

  3.5.2.  `init=' 引数

  カーネルは、デフォルトでは起動時に `init' プログラムを実行します。これ
  はユーザのためにコンピュータの設定を行うプログラムであり、getty プログ
  ラムの起動や `rc' スクリプトの実行などを行います。カーネルは最初に
  /sbin/init を参照し、これが無ければ /etc/init(このファイルは使わないほ
  うがいいでしょう)を参照し、さらに最後の手段として /bin/sh を(多分
  /etc/rc の次に)実行しようとします。例えば、init プログラムに何らかの不
  具合があり、そのために起動ができない場合には、単にブートプロンプトに
  init=/bin/sh と書けば、起動時にいきなりシェルに入れます。そして、その
  後で壊れているプログラムを取り換えられます。

  3.5.3.  `kbd-reset' 引数

  i386 ベースのマシンにおいては普通、Linux カーネルは起動時にキーボード
  コントローラのリセットを行いません。なぜなら、BIOS がキーボードコント
  ローラをリセットするはずだからです。しかし普通は、必ずしも全てのマシン
  がリセットを行うことにはなっていません。キーボードの動作に問題がある場
  合には、このオプションを指定すると解決するかもしれません。このオプショ
  ンは単に、初期化の際にリセットを行うことを強制します(このオプションを
  とにかくデフォルトの動作にすべきだと言う人もいます)。

  3.5.4.  `maxcpus=' 引数

  この引数に指定した数値は、SMP モードで有効になる CPU の最大数を制限し
  ます。0 を指定するのは、nosmp オプションを指定するのと同じ意味です。
  3.5.5.  `mca-pentium' 引数

  IBM model 95 Microchannel マシンは、CPU と組み合わせて使う数値演算チッ
  プの種類を Linux が検出するために通常行うテストによって固まってしまう
  ようです。全ての Pentium チップには数値演算プロセッサが組み込まれてい
  るので、この起動オプションを使うことによりこのテスト(および固まってし
  まう問題)を避けられます。

  3.5.6.  `md=' 引数

  ルートファイルシステムが MD デバイス(Multiple Device)にある場合には、
  このオプションを使ってカーネルに MD デバイスの構成を教えられます (カー
  ネルには MD デバイスからの起動の対応が組み込まれているものとします)。
  フォーマットは以下の通りです (linux/Documentation/md.txt からの引用で
  す):

  md=md_device_num,raid_level,chunk_size_factor,fault_level,dev0,dev1,...,devN

  ここで md_device_num は MD デバイスの数です(つまり 0 は md0, 1 は md1
  のようになります)。raid_level は、リニアモードで使うなら -1 を、ストラ
  イピングモードで使うなら 0 を指定してください。他のモードは現在、サポ
  ートされていません。chunk_size_factor は RAID-0 と RAID-1 専用のオプ
  ションで、PAGE_SIZE を指定された量だけ左にシフトした値をチャンクのサイ
  ズとして設定します。fault_level は RAID-1 だけ専用のオプションで、指定
  された値を最大フォールト数に設定します。 (現在は RAID-1 からの起動がサ
  ポートされていないため、サポートされていません。) dev0-devN は、MD デ
  バイスを構成する個々のデバイスをコンマで区切って並べたリストです。例え
  ば /dev/hda1,/dev/hdc1,/dev/sda1 のように指定します。

  3.5.7.  `no387' 引数

  i387 コプロセッサの中には 32 ビット保護モードで発現するバグを持ったも
  のがあります。例えば、初期の ULSI-387 は浮動小数点演算の実行中に凍り付
  いてしまいます。 恐らくこれは FRSAV/FRRESTOR 命令のバグのせいで
  す。`no387' 起動時引数を受け取ると、Linux はたとえ数値演算コプロセッサ
  が組み込まれていても、これを無視します。もちろん、この場合はカーネルを
  数値演算エミュレーション対応にコンパイルしておかなければなりません!
  また、コプロセッサとして 287 を使っているような恐ろしく古い 386 マシン
  を持っている場合も有用でしょう。Linux は 80287 を使えないからです。

  3.5.8.  `no-hlt' 引数

  i386 (とその後継チップ)系のチップには(キーボード、モデム、ディスクなど
  の)外部機器から仕事をするよう CPU が呼ばれるまで実行を停止するための
  `hlt' 命令があります。これにより、CPU を「低消費電力」モードにさせ、外
  部機器が CPU を(通常は割り込みなどで)起こすまで CPU を死んだように眠ら
  せておけます。初期の i486DX-100 の中には、`hlt' 命令に問題があるものが
  あります。この場合、hlt 命令が使用されると通常の実行モードにちゃんと戻
  れなくなります。`no-hlt' 命令を用いると、Linux は何もすることがない時
  には無限ループに入ります。そして、他に何もすることがなくても、CPU を
  hlt 状態に入れません。この引数によって、このような不具合を持つ CPU で
  も Linux を使えます。もっとも、メーカー補償があるのならそれを使って交
  換することをお勧めしますが。

  3.5.9.  `no-scroll' 引数

  この引数を起動時に使うと、点字端末を使いやすいようにスクロールを禁止し
  てしまいます。

  3.5.10.  `noapic' 引数

  このオプションを使うと、SMP カーネルはマルチプロセッサマシンで高度な割
  り込み制御機能の一部を使わなくなります。詳しくは
  linux/Documentation/IO-APIC.txt を見てください。

  3.5.11.  `nosmp' 引数

  このオプションを使うと、SMP カーネルは SMP マシンをシングルプロセッサ
  で動作させます。このオプションを使うのは普通、デバッグの時と、ある問題
  が SMP 関連のものかどうかを調べるときだけです。

  3.5.12.  `panic=' 引数

  滅多にないカーネルパニックが起きた場合(つまり、カーネルが内部エラーを
  検出し、大声でうめきながら何もかも中止するほど重要であると判断した場
  合)、誰かがやってきて、スクリーン上のパニックメッセージを読み、マシン
  を再起動するのを何もしないで待つというのがデフォルトの動作です。しか
  し、機械が孤立した場所にあって人がついていない場合は、マシンが自動的に
  自分自身をリセットして、動作状態に復帰する方が望ましいかもしれません。
  例えば、panic=30 と起動時に指定すると、カーネルはカーネルパニックが生
  じてから 30 秒後に自分自身を再起動しようと試みます。値として 0 を指定
  するとデフォルトの動作を行います。つまり、人が来るのを待ち続けます。

  この値は /proc/sys/kernel/panic sysctl インターフェースを通して読み書
  き可能であることも知っておくとよいでしょう。

  3.5.13.  `pci=' 引数

  3.5.14.  `pirq=' 引数

  このオプションを用いると、未知の(またはブラックリストに載っていること
  が知られている) SMP マザーボードに対して、PCI スロットと IRQ 設定の競
  合に関する情報が SMP カーネルに伝えられます。詳しくは
  linux/Documentation/IO-APIC.txt を参照してください。

  3.5.15.  `profile=' 引数

  カーネル開発者は、このオプションを有効にすることにより、カーネルがどこ
  にどれだけの CPU 時間を費しているかのプロファイルを得られます。これは
  カーネルの効率と性能を高めるために用いられます。このオプションを使用し
  て、ユーザはプロファイルシフトカウントを起動時に指定します。通常は、こ
  れには 2 が設定されます。また、最初からプロファイルを有効にした状態で
  カーネルを設定することもできます。いずれの場合にも、/proc/profile の出
  力を使用する readprofile.c 等が必要です。

  3.5.16.  `reboot=' 引数

  このオプションは、Linux がコンピュータをリセットする(よくある例として
  は Control-Alt-Delete を処理する /sbin/init によって) ときに、どのよう
  にリブートするかを制御します。バージョン 2.0 のカーネルのデフォルトは
  「コールド(cold)」リブート (完全なリセットであり、BIOS はメモリチェッ
  ク等を行います)であり、「ウォーム(warm)」リブート(完全なリブートではな
  く、メモリチェックは行いません)ではありません。デフォルトの動作がコー
  ルドリブートに変更されたのは、ウォームリブートを要求するとリブートに失
  敗する安物や不具合のあるハードウェアでは、コールドリブートの方がうまく
  動作するようだからです。リセット時に以前のような振る舞い(つまりウォー
  ムリブート)を行うには、 reboot=w と指定してください。実際には、w で始
  まる言葉であれば何であれウォーム指定したことになります。
  なぜわざわざウォーム指定なんてわずらわしいことをするかですって?
  キャッシュメモリを持っているディスクコントローラの中には、ウォームリブ
  ートを検出でき、キャッシュデータを全部ディスクに書き出すものがありま
  す。ところがコールド再起動となるとカードがリセットされてしまい、カード
  のキャッシュメモリに上にあってディスクに書き戻される予定のデータが消え
  てしまうかもしれません。また、システムによっては、コールドリブートをす
  るとメモリチェックや SCSI BIOS の処理化処理に長い時間がかかるという話
  もあります。これはウォームリブートを選ぶ十分な理由でしょう。

  3.5.17.  `reserve=' 引数

  これは、 I/O ポート領域を検出させないために使います。書式は以下の通り
  です:

       reserve=iobase,extent[,iobase,extent]...

  機種によっては、特定領域にあるデバイスをデバイスドライバがチェックしな
  いようにしなければならないことがあります。これは設計のまずいハードウェ
  アのせいで、(どこかの イーサネットカードのように)起動中に凍り付いてし
  まったり、間違って検出されてしまったり、前の検出によって状態が変わって
  しまうことがあるからです。あるいは単に、そのハードウェアをカーネルに初
  期化させたくないといった場合もあるかもしれません。

  reserve 起動時引数は、検出してはならない I/O ポート領域を指定すること
  によってこの問題を回避します。指定された領域は、カーネル内部のポート登
  録テーブル内に予約され、その領域で既にデバイスが検出されたかのように扱
  われます(登録名は reserved です)。ただし、この機構はほとんどのマシンで
  は不要であることを覚えておいてください。この機構を使うのは、何らかの問
  題や、この機構を使わなければならない特別な事情がある場合だけにすべきで
  す。

  指定した範囲の I/O ポートは、領域内の I/O 空間を闇雲に探る前に
  check_region() を行うデバイス検出から保護されています。これは NE2000
  で止まってしまうドライバがあるときや、別のデバイスを誤検出したときに使
  うために追加されました。正しいデバイスドライバは、他の起動時引数によっ
  て明示的に指示されない限り、reserve によって指定された範囲を検出しませ
  ん。これは、reserve が他の起動時引数と組み合わせて使われることが多いこ
  とを暗示しています。つまり、reserve 領域を指定して特定のデバイスを保護
  するならば、そのデバイスは普通、明示的に検出させなければなりません。ほ
  とんどのドライバは、明示的にアドレスを指定するとポート登録テーブ
  ル(port registration table)を無視します。

  例えば、起動時に

  ______________________________________________________________________
          reserve=0x300,32  blah=0x300
  ______________________________________________________________________

  を与えると `blah' 用ドライバ以外の全てデバイスドライバは 0x300-0x31f
  を避けるようになります。

  普通の起動時引数と同じく、引数の数は 11 個までという制限があります。し
  たがって、reserve キーワード 1 つにつき、 5 個しか領域を予約できませ
  ん。えらく面倒なことをしたければ reserve を複数個指定すればうまくいく
  でしょう。

  3.5.18.  `vga=' 引数

  これは本当は起動時引数ではないことに注意してください。これは LILO が解
  釈するオプションであって、他の起動時引数のようにカーネルが解釈するわけ
  ではありません。しかしながら、この引数を使うのが大変広まったので、ここ
  で取り上げることにします。この引数はまた、rdev -v やこれと同等の
  vidmode を使っても vmlinuz ファイルに設定できます。このオプションは
  Linux カーネルが実際に起動する前に、ビデオ BIOS を使ってデフォルトの表
  示モードを変更します。よく用いられるモードは、80x50 や 132x44 等です。
  このオプションの一番いい使い方は、vga=ask であり、これは使用しているビ
  デオアダプタで選択できるモードの一覧をカーネルの起動前にユーザに示し、
  どれを使うかを選ばせます。与えられたモードの中からいいものが見つかった
  ら、今度は先のオプションの `ask' をその値で置き換えます。詳しい情報に
  関しては、linux/Documentation/svga.txt を参照してください。この文書は
  最新版のカーネルと一緒に配布されています。

  ついでながら、新しいカーネル (v2.1以降) はビデオモードを選ぶ機能をオプ
  ションとして持っています。これはカーネルの設定時にビデオモード選択のサ
  ポート(Video mode selection support) として示されます。したがって、こ
  の機能を使いたければ、このオプションを有効にする必要があります。

  4.  PCI バスの動作を制御する起動時引数 (`pci=')

  `pci=' 引数(バージョン 2.0 のカーネルでは使えません)を使うと、PCI バス
  のデバイス検出の動作とデバイスの動作を変えられます。まず、
  linux/drivers/pci/pci.c はアーキテクチャ非依存の pci= オプションを調べ
  ます。指定可能な残りの引数は linux/arch/???/kernel/bios32.c が処理しま
  す。これらのオプションのうち、???=i386 であるものについては後述しま
  す。

  4.1.  `pci=bios' 引数と `pci=nobios' 引数

  これらの引数は、PCI 検出を PCI BIOS 経由で行うかどうかを示すフラグを設
  定/クリアします。デフォルトでは BIOS を使用します。

  4.2.  `pci=conf1' 引数と `pci=conf2' 引数

  PCI 直接モードが有効ならば、これらの引数により Type1 か Type2 の設定が
  有効になります。これらの引数はまた、PCI BIOS の検出フラグを暗黙的にク
  リアします(つまり `pci=nobios' と同じ)。

  4.3.  `pci=io=' 引数

  PCI: Unassigned IO space for.../ といったメッセージが出力される場合、
  このオプションを使って I/O 値を指定する必要があるかもしれません。ソー
  スコードから引用すると

  「BIOS の中には、アドレスを I/O 範囲に割り当てるのを忘れるやつがある。
  僕らは、0x5800 から始まる空きアドレスがあることを期待してこれを直そう
  とした。ちくしょう、でもこれはもっといいリソース管理ができるようになる
  までの、単純な回避策に過ぎないんだ」とのことです。

  4.4.  `pci=nopeer' 引数

  この引数は、デフォルトのピアによるブリッジの調停を無効にします。ソース
  コードによると、これは以下のことを行います:

  「ピアホストブリッジがある場合、それらの背後にあるバスをスキャンする。
  いくつかの資料によると、ホストブリッジはタイプ 1 のヘッダを持ち、
  PCI2PCI ブリッジの場合と同様にバス番号が割り当てられるべきだとされてい
  る。しかし、現実にはこれではテストに通らないので、空いている最初の番号
  を BIOS がバス番号に割り当てるのが普通である」

  4.5.  `pci=nosort' 引数

  この引数を用いると、カーネルは検出フェーズにおいて PCI デバイスのソー
  トを行いません。

  4.6.  `pci=off' 引数

  このオプションを用いると、PCI バスの検出が無効になります。ハードウェア
  の検出と初期化に PCI の機能を利用する全てのデバイスドライバは、ほぼ確
  実に動作しなくなるでしょう。

  4.7.  `pci=reverse' 引数

  このオプションは、PCI バス上の PCI デバイスの並び順を逆にします。

  5.  ビデオフレームバッファドライバ用の起動時引数

  `video=' 引数(バージョン 2.0 のカーネルでは使えません)は、フレームバッ
  ファデバイスの抽象化層をカーネル内に作るときに使います。難しそうに聞こ
  えるかもしれませんが、そんなに手に負えないものではありません。これは基
  本的に、それぞれのビデオカード用に異なるビデオプログラム (X11R6 のサー
  バ)を用意する(例: XF86_S3, XF86_SVGA, …)のではなく、カーネル内に各ビ
  デオカード用のドライバを組み込み、ビデオプログラム用には単一のインタ
  フェースを提供します。これにより、必要な X11R6 のサーバはひと
  つ(XF86_FBDev)だけになります。これは現在のネットワークのやりかたに似て
  います。ネットワークについては、カーネルが各種ネットワークカードのドラ
  イバを持ち、単一のネットワークインタフェースを提供します。これにより、
  インタフェースの背後にあるネットワークカードの種類に関わらず全てのシス
  テムで、単一のプログラム(Netscape 等)が動作します。

  この引数の標準的な形式は video=name:option1,option2,... です。ここで
  name は汎用的なオプションか、フレームバッファデバイス固有のオプション
  です。video= は linux/init/main.c から linux/drivers/video/fbmem.c に
  渡され、さらに処理されます。ここで、既知のドライバ名とのマッチングが試
  みられる前に、汎用的なオプションのいくつかがチェックされます。一旦ドラ
  イバ名のマッチングが行われると、コンマ区切りのオプションリストは、特定
  のドライバに渡されてから最終的に処理されます。有効なドライバ名のリスト
  は、前述の fbmem.c ファイルにある fb_drivers 配列を順に読むことによっ
  て得られます。

  それぞれのドライバがサポートしているオプションに関する情報は、いつかは
  linux/Documentation/fb/ で見つけられるようになると思いますが、現在(バ
  ージョン 2.2 時点)はここには少ししか情報がありません。残念ながら、ビデ
  オドライバの数とそれぞれに対するオプションの数は別の文書が書けるほど多
  いので、ここに示すことができません。

  お使いのカードに関する文書ファイルがなければ、ドライバから直接オプショ
  ンに関する情報を得なければなりません。linux/drivers/video/ に行き、適
  切な ???fb.c ファイルを見てください(??? はカード名に基づいています)。
  ここで、_setup という文字列が名前に含まれている関数を探し、ドライバが
  どんなオプションを調べているかを見てください。 font や mode 等が調べて
  いるでしょう。

  5.1.  `video=map:...' 引数

  このオプションを使うと、コンソールからフレームバッファデバイスへのマッ
  ピングの設定/上書きができます。数値をコンマで区切って並べたリストで
  マッピングを設定します。すなわち、オプション N の値が、コンソール N に
  対応するフレームバッファデバイスの番号となります。
  5.2.  `video=scrollback:...' 引数

  コロンの後の数値により、スクロールバックバッファに割り当てるメモリの量
  を設定します。(スクロールさせるためには Shift キーと PageUp, PageDown
  キーを使ってください。) 数値の後に `k' または `K' を付けると、その数は
  バイト単位でなくキロバイト単位と解釈されます。

  5.3.  `video=vc:...' 引数

  数値、あるいは数値の範囲(例: video=vc:2-5)により、最初、あるいは最初と
  最後のフレームバッファ仮想コンソールを指定します。このオプションを使う
  と、フレームバッファコンソールをデフォルトのコンソールでなくする効果も
  あります。

  6.  SCSI 機器用の起動時引数

  この節では、導入されている SCSI ホストアダプタと SCSI デバイスに情報を
  渡すための起動時引数の説明を行います。

  6.1.  中位のドライバのための引数

  中位のドライバはディスクや CD-ROM、テープなどをホストアダプタ固有の事
  情に立ち入ることなしに取り扱います。

  6.1.1.  LUN の最大検出数 (`max_scsi_luns=')

  SCSI デバイスは、それぞれいくつかの「下位のデバイス」を持つことができ
  ます。もっとも良くある例は複数の CD を同時に使える最近の SCSI CD-ROM
  です。各々の CD は そのデバイスの `Logical Unit Number' (LUN) で識別さ
  れます。しかしハードディスクやテープドライブ等のほとんどデバイスは、内
  部に一つしかデバイスを持っておらず、LUN として 0 を割り当てています。

  問題が起こるのは、不具合があるファームウェアを持つ単一 LUN のデバイス
  を使うときです。設計がよくないSCSI デバイス(古いものと、不幸なことに新
  しいものも含みます)は、0 以外の LUN で検出されることに耐えられません。
  このような場合、システムが動作停止したり、SCSI バスがダウンしてしまい
  ます。

  カーネルには検出を行うときの最大 LUN を設定するオプションがあります。
  デフォルトの動作では LUN  0 しか検出しません。これは前述の問題を避ける
  ためです。

  検出を行う LUN を起動時に指定するには、`max_scsi_luns=n' を起動時引数
  として与えます。ここで n は 1 から 8 までの数です。前述の問題を避ける
  ためには、n=1 として、いかれたデバイスによるごたごたを回避します。

  6.1.2.  SCSI ロギング (`scsi_logging=')

  0 以外の値をこの起動時引数に与えると、全てのSCSI イベント(error, scan,
  mlqueue, mlcomplete, llqueue, llcomplete, hlqueue, hlcomplete)のロギン
  グが行われるようになります。/proc/ ファイルシステムのアクセスが可能に
  なる前に起こるイベントに興味がないのであれば、 /proc/scsi/scsi インタ
  フェースを使うとログに残されるイベントをもっと細かく制御できることを
  知っておくとよいでしょう。

  いくつかの SCSI テープドライバの起動時設定は、以下のようにして行えま
  す:

  ______________________________________________________________________
          st=buf_size[,write_threshold[,max_bufs]]
  ______________________________________________________________________

  最初の二つの数は kB 単位で指定します。デフォルトの buf_size の値は
  32kB です。また、指定できる最大の値は 16384kB です。 write_threshold
  はバッファがテープに渡される時の値で、デフォルト値は 30kB です。バッ
  ファの最大数は検出されたドライブの数によります。初期値は 2 です。使用
  例を以下に示します:

  ______________________________________________________________________
          st=32,30,2
  ______________________________________________________________________

  詳細はカーネルソースツリーの SCSI ディレクトリの README.st に書いてあ
  ります。

  6.2.  SCSI ホストアダプタ用の引数

  この節での表記法について:

  iobase -- SCSI ホストが占有する最初の I/O ポート。 16 進数で表記され、
  通常は 0x200 から 0x3ff の範囲にあります。

  irq -- カードが使うように設定されているハードウェア割り込み。有効な値
  は問題になっているカードに依存しますが、普通は 5, 7, 9, 10, 11, 12, 15
  です。その他の値は普通は IDE ハードディスクやフロッピー、シリアルポー
  トといった広く使われている周辺機器に使われます。

  dma -- カードが使用する DMA (Direct Memory Access) チャネル。普通はバ
  スマスタリングを行うカードだけに適用されます。PCI や VLB カードは普通
  はバスマスタリングを行います。しかし、ISA は普通はバスマスタリングを行
  いません。

  scsi-id -- SCSI バス上でのホストアダプタが自分自身を識別するために用い
  る ID です。ほとんどのアダプタは内部でこの値を固定してしまっていますの
  で、この値を変えることのできるアダプターはあまりありません。普通、デ
  フォルト値は 7 です。しかし Seagate と Futre Domain TMC-950 は 6 を
  使っています。

  parity -- SCSI ホストアダプタが、接続されているデバイスが情報交換の際
  に必ずパリティ値を付けていることを期待しているかどうか。 1 を指定する
  とパリティ検査が行われ、0 の時には行われません。繰り返しになりますが、
  必ずしも全てのアダプタにおいて起動時にパリティの振舞いを選択できるとは
  限りません。

  6.2.1.  Adaptec aha151x, aha152x, aic6260, aic6360, SB16-SCSI
  (`aha152x=')

  aha で始まる名前はカードの名前を表わし、aic で始まる名前は基板の上の実
  際の SCSI チップの名前を表わします。後者には Soundblaster-16 SCSI など
  があります。

  これらの SCSI ホスト用の検出用コードは、BIOS が導入されているかどうか
  を調べます。もしも BIOS がない場合には、カードを探すことはできません。
  その場合、起動時引数を使わなければならないでしょう。その書式は以下の通
  りです:

  ______________________________________________________________________
           aha152x=iobase[,irq[,scsi-id[,reconnect[,parity]]]]
  ______________________________________________________________________

  ドライバがデバッグ対応にコンパイルされているなら、6 番目の値を使ってデ
  バッグレベルを設定できます。

  全てのパラメータはこの節の最初に説明した通りです。また、reconnect に 0
  以外の値が指定されると、デバイスは切断/再接続を行うことが許可されま
  す。使用例を以下に示します:

  ______________________________________________________________________
          aha152x=0x340,11,7,1
  ______________________________________________________________________

  引数は順番通りに書かなければなりません。つまり、パリティを設定したけれ
  ば、iobase, irq, scsi-id, reconnect も指定しなければなりません。

  6.2.2.  Adaptec aha154x (`aha1542=')

  これらは aha154x 系のカードです。aha1542 系のカードは i82077 フロッピ
  ーコントローラを内蔵していますが、aha1540 系のカードは内蔵していませ
  ん。このシリーズはバスマスタカードで、他のデバイスとバスを共有するとき
  の「公平さ」を設定するパラメータがあります。起動時引数は以下のようにな
  ります。

  ______________________________________________________________________
          aha1542=iobase[,buson,busoff[,dmaspeed]]
  ______________________________________________________________________

  有効な iobase は、普通 0x130、0x134、0x230、0x234、0x330、0x334 のいず
  れかです。互換カードでは他の値も指定できるかもしれません。

  buson, busoff の値は、カードが ISA バスを占有する時間をマイクロ秒で指
  定します。デフォルトでは、11us の間オン、4us の間オフです。これによ
  り、他の(ISA LANCE イーサネットカード等の)デバイスも ISA バスにアクセ
  スできます。

  dmaspeed の値は DMA (Direct Memory Access) の転送速度を MB/s で指定し
  ます。デフォルト値は 5MB/s です。最近のカードはこの値をソフトで設定で
  きますが、古いカードではジャンパで設定します。この値は最大 10MB/s を指
  定できますが、これはマザーボードの性能にもよります。5MB/s 以上を指定す
  るときには、注意深く実験してください。

  6.2.3.  Adaptec aha274x, aha284x, aic7xxx (`aic7xxx=')

  これらのボードは以下の引数を受け付けます:

  ______________________________________________________________________
          aic7xxx=extended,no_reset
  ______________________________________________________________________

  extended が 0 でない値の時には、大容量ディスクのための拡張変換が有効に
  なります。no_rest が 0 でない値の時には、起動時のホストアダプタの設定
  時に SCSI バスがリセットされません。

  6.2.4.  AdvanSys SCSI ホストアダプタ (`advansys=')

  AdvanSys ドライバは AdvanSys SCSI カードを検出するための I/O アドレス
  を 4 つまで受け付けます。なお、これらの値を使用しても EISA や PCI のカ
  ードの検出には影響を与えません。ISA および VLB のカードのみが影響を受
  けます。加えて、ドライバがデバッグ用にコンパイルされている場合、デバッ
  グ出力レベルの指定を 0xdeb[0-f] パラメータによって指示できます。 0-f
  の値によってどれだけ詳細な出力を行うかを 16 段階で指示します。

  6.2.5.  Always IN2000 ホストアダプタ (`in2000=')

  他の SCSI ホストアダプタの起動時引数と違って、IN2000 ドライバはほとん
  どの整数型引数の前に ASCII による前置文字列を置きます。対応している引
  数のリストを以下に示します:

  ioport:addr -- addr はカード(普通は ROM なし)の I/O アドレスです。

  noreset -- 後に続く引数はありません。起動時に SCSI バスをリセットしな
  いようにします。

  nosync:x -- x はビットマスクで、下位の 7 ビットが使用可能な 7 つの
  SCSI デバイスに対応します(ビット 0 がデバイス #0 です)。あるビットを立
  てると、そのデバイスとの同期ネゴシエーションが禁止されます。デフォルト
  の動作では、ドライバは全てのデバイスの同期を無効にしています。

  period:ns -- ns は SCSI データ転送周期の最小値で、単位はナノ秒です。デ
  フォルト値は 500、指定可能な値は 250 から 1000 までです。

  disconnect:x -- x = 0 の時には切断を許しません。2 ならば常に許します。
  x = 1 は、「適応的」に切断を行います。これはデフォルトの動作であり、普
  通は一番いい選択です。

  debug:x -- `DEBUGGING_ON' が定義されている場合は、x は表示するデバッグ
  出力の種類を決めるビットマスクになります。 in2000.h における DB_xxx の
  定義を見てください。

  proc:x -- `PROC_INTERFACE' が定義されている場合は、x は /proc インター
  フェースの動作を決めるビットマスクになります。 in2000.h における
  PR_xxx の定義を見てください。

  以下にいくつか例を示します:

  ______________________________________________________________________
          in2000=ioport:0x220,noreset
          in2000=period:250,disconnect:2,nosync:0x03
          in2000=debug:0x1e
          in2000=proc:3
  ______________________________________________________________________

  6.2.6.  AMD AM53C974 ベースのハードウェア (`AM53C974=')

  他のデバイスとは異なり、このドライバは I/O、IRQ、DMA チャネルでの通信
  に起動時引数を使いません(なぜかというと AM53C974 は PCI デバイスである
  ためで、これらを使う必要がないからです)。その代わりに、引数はホストと
  ターゲットデバイスの間の転送モードや速度を指定するために使用します。こ
  れらは例で説明するのが一番わかりやすいでしょう:

  ______________________________________________________________________
          AM53C974=7,2,8,15
  ______________________________________________________________________

  これは以下のように解釈されます。「SCSI-ID が 7 であるコントローラと
  SCSI-ID が 2 であるデバイスの間は、同期転送モードにより転送速度 8MHz、
  最大 15 バイトのオフセットをとるようネゴシエーションする」。より突っ込
  んだ説明については linux/drivers/scsi/README.AM53C974 ファイルを参照し
  てください。

  6.2.7.  v1.2 カーネル用 BusLogic SCSI ホストドライバ (`buslogic=')

  古いカーネルを使用している場合は、buslogicドライバは引数を一つだけとり
  ます。これは I/O ベース値を教えるために使います。値としては以下のうち
  の 1 つを指定します: 0x130, 0x134, 0x230, 0x234, 0x330, 0x334

  6.2.8.  v2.x カーネル用 BusLogic SCSI ホストドライバ (`BusLogic=')

  バージョン 2.x のカーネルでは、BusLogic ドライバはたくさんの引数を受け
  付けます。(前節のドライバとは大文字と小文字が違うので注意。こちらは B,
  L が大文字です!!!) 引数が多すぎて、ここでは説明できません。完全な説明
  はドライバ linux/drivers/scsi/BusLogic.c の中に書かれており、BusLogic=
  という文字列を検索すれば見つかります。

  6.2.9.  EATA SCSI カード (`eata=')

  最新の v2.0 カーネルの時点では、EATA ドライバは検出のための I/O ベース
  アドレスを起動時引数として受け付けます。書式は以下の通りです:

  ______________________________________________________________________
          eata=iobase1[,iobase2][,iobase3]...[,iobaseN]
  ______________________________________________________________________

  このドライバは、指定した順番でアドレスを検査していきます。

  6.2.10.  Future Domain TMC-8xx, TMC-950 (`tmc8xx=')

  これらの SCSI ホスト用の検出コードは、SCSI BIOS がインストールされてい
  るか調べ、インストールされていなければカードを検出しません。また、BIOS
  のシグネチャ文字列が識別できなくてもカードを検出しません。これらの場
  合、起動時引数を以下の形式で与える必要があります:

  ______________________________________________________________________
          tmc8xx=mem_base,irq
  ______________________________________________________________________

  mem_base 値は、カードが使用するメモリマップド I/O 領域のアドレスです。
  これは普通、以下値のうちのいずれかです: 0xc8000, 0xca000, 0xcc000,
  0xce000, 0xdc000, 0xde000

  6.2.11.  Future Domain TMC-16xx, TMC-3260, AHA-2920 (`fdomain=')

  このドライバは、既知の BIOS ROM シグネチャのリストに基づいてカードを検
  出します。既知の BIOS の版の完全なリストについては、
  linux/drivers/scsi/fdomain.c を見てください。というのも、このファイル
  の先頭に詳しい情報が載っているからです。BIOS がリストに載っていない場
  合は、以下の形式で上書き指定できます:

  ______________________________________________________________________
          fdomain=iobase,irq[,scsi_id]
  ______________________________________________________________________

  6.2.12.  IOMEGA パラレルポート / ZIP ドライブ (`ppa=')

  これは、IOMEGA Zip ドライバに組み込まれているパラレルポート用 SCSI ア
  ダプタのためのドライバです。また、このドライバは、オリジナルの IOMEGA
  PPA3 デバイス用でも動作します。このドライバの起動時引数は以下の通りで
  す:

  ______________________________________________________________________
          ppa=iobase,speed_high,speed_low,nybble
  ______________________________________________________________________

  iobase 以外は省略できます。3 つの省略可能なパラメータのどれかの値を変
  更したければ、linux/drivers/scsi/README.ppa を見て、このパラメータが何
  を制御するのかを調べることをお勧めします。

  6.2.13.  NCR5380 ベースのコントローラ (`ncr5380=')

  ボードによって、5380 は I/O マップの場合とメモリマップの場合があります
  (0x400 以下のアドレスは通常は I/O マッピングです。しかし、PCI と EISA
  のハードウェアは 0x3ff より上のアドレスを使います)。いずれの場合も、ア
  ドレス、IRQ の値、DMA チャネルの値を指定してください。I/O マップのカー
  ドの指定例は、ncr5380=0x350,5,3 です。カードが割り込みを使用しない場合
  は、IRQ の値として 255 (0xff)を指定すると、割り込みが禁止されます。IRQ
  に 254 を指定すると自動検出が行われます。より詳細な説明については
  linux/drivers/scsi/README.g_NCR5380 を参照してください。

  6.2.14.  NCR53c400 ベースのコントローラ (`ncr53c400=')

  一般的な 53c400 への対応は、上で説明した一般的な 5380 への対応と同様に
  行われます。起動時引数は前述の説明とほぼ同じですが、53c400 では DMA
  チャネルが使われない点だけが異なります。

  6.2.15.  NCR53c406a ベースのコントローラ (`ncr53c406a=')

  このドライバは以下の様な起動時引数を使用します:

  ______________________________________________________________________
          ncr53c406a=PORTBASE,IRQ,FASTPIO
  ______________________________________________________________________

  ここで IRQ と FASTPIO 引数は省略可能です。割り込みに 0 を指定すると、
  割り込みを使わなくなります。FASTPIO 引数に 1 を指定すると、単一バイト
  処理命令 inb および outb の代わりに insl および outsl が使われるように
  なります。また、このドライバは DMA を使用するようコンパイル時に指定で
  きます。

  6.2.16.  Pro Audio Spectrum (`pas16=')

  PAS16 は NCR5380 SCSI チップを使用しています。また、最近の機種はジャン
  パ無しの設定に対応しています。起動時引数の書式は以下の通りです:

  ______________________________________________________________________
          pas16=iobase,irq
  ______________________________________________________________________

  唯一異なる点は、IRQ の値として 255 を指定できる点です。これは割り込み
  無しでドライバを使用することを指定しますが、この場合も性能の劣化はあり
  ません。iobase は普通、0x388 です。

  6.2.17.  Seagate ST-0x (`st0x=')

  SCSI ホスト用の検出コードは、SCSI BIOS がインストールされているかを調
  べ、導入されていなければカードを検出しません。また、BIOS のシグネチャ
  文字列が識別できない場合もカードを検出しません。これらの場合、起動時引
  数を以下の形式で与える必要があります:

  ______________________________________________________________________
          st0x=mem_base,irq
  ______________________________________________________________________

  mem_base は、カードが使用するメモリマップド I/O 領域のアドレスです。こ
  れは普通、以下の値のいずれかです: 0xc8000, 0xca000, 0xcc000, 0xce000,
  0xdc000, 0xde000.

  6.2.18.  Trantor T128 (`t128=')

  このカードも NCR5380 チップを使用しています。以下のオプションを受け付
  けます。

  ______________________________________________________________________
          t128=mem_base,irq
  ______________________________________________________________________

  mem_base に対して有効な値を以下に示します: 0xcc000, 0xc8000, 0xdc000,
  0xd8000

  6.2.19.  Ultrastor SCSI カード (`u14-34f=')

  このカードには別々の二つのドライバがあることに気をつけてください。カー
  ネルの設定の際に CONFIG_SCSI_U14_34F を指定すると u14-34f.c が使用さ
  れ、CONFIG_SCSI_ULTRASTOR を指定すると ultrastor.c が使用されま
  す。u14-34f の方は (バージョン 2.0 の最近のカーネルでは)、以下の形式の
  起動時引数を受け付けます:
  ______________________________________________________________________
          u14-34f=iobase1[,iobase2][,iobase3]...[,iobaseN]
  ______________________________________________________________________

  ドライバは列挙された順番でアドレスを見ていきます。

  6.2.20.  Western Digital WD7000 カード (`wd7000=')

  このドライバの wd7000 検出ルーチンは、分かっている BIOS ROM のパターン
  を探します。また、標準的な設定をいくつか知っています。カードに正しくな
  い値が設定されている場合や認識できないバージョンの BIOS を使っている場
  合は、以下の形式の起動時引数を使用できます:

  ______________________________________________________________________
          wd7000=irq,dma,iobase
  ______________________________________________________________________

  6.3.  起動時引数を取らない SCSI ホストアダプタ

  現在のところ、以下の SCSI カードは起動時引数を全く使いません。場合に
  よっては、必要ならばドライバそのものを編集して値を直接書き込むことがで
  きます。

          Adaptec aha1740 (EISA の検出),
          NCR53c7xx,8xx (PCI, 両方のドライバとも)
          Qlogic Fast (0x230, 0x330)
          Qlogic ISP (PCI)

  7.  ハードディスク

  この節では標準の MFM/RLL, ST-506, XT, IDE ディスクドライブデバイスに関
  わる起動時引数を説明します。IDE と 汎用 ST-506 HD ドライバはどちらも
  "hd=" オプションを受け付けます。

  7.1.  IDE ディスク/IDE CD-ROM ドライバの引数

  IDE ドライバはたくさんの引数を受け付けます。引数はディスクのジオメトリ
  指定のためのものから、先進的な制御チップや不具合のある制御チップに対応
  するためのものまであります。以下に利用可能な起動時引数をまとめました。
  完全な説明に関しては、 linux/Documentation ディレクトリにある ide.txt
  を参照するよう強く勧めます。以下のまとめはこのファイルから抽出しまし
  た。

  ______________________________________________________________________

   "hdx=" は "x" が "a"から "h" である場合に受け付けられます(例: "hdc")。
   "idex=" は "x" が "0" から "3" である場合に受け付けられます(例: "ide1")。

   "hdx=noprobe"  : ドライブは存在するかもしれないが、検出しない。
   "hdx=none"  : ドライブは<em/存在しない/。CMOS を無視し、検出もしない。
   "hdx=nowerr"  : このドライブの WRERR_STAT ビットを無視する。
   "hdx=cdrom"  : ドライブは存在し、これは CDROM ドライブである。
   "hdx=cyl,head,sect" : ディスクドライブは存在し、指定するジオメトリを持っている。
   "hdx=autotune"  : ドライバはこのドライブでそれが可能であれば、
      一番速い PIO モードを使用するようインターフェース速度を調整する。
      これはすべてのチップセットで対応しているわけではなく、
      古い/変な仕様の IDE ドライブではよく問題を起こす。

   "idex=noprobe"  : このインターフェースにアクセス/使用しないようにする。
   "idex=base"  : インターフェースを指定されたアドレスで検出する。
       ここで、"base" は普通 0x1f0 か 0x170 で、
       "ctl" は "base"+0x206 であると仮定される。
   "idex=base,ctl" : base と ctl の両者を指定する。
   "idex=base,ctl,irq" : base 値, ctl 値、割り込み番号を指定する。
   "idex=autotune" : ドライバはこのドライブでそれが可能であれば、
      一番速い PIO モードを使用するようインターフェース速度を調整する。
      これはすべてのチップセットで対応しているわけではなく、
      古い/変な仕様の IDE ドライブではよく問題を起こす。
   "idex=noautotune" : ドライバはインターフェース速度を調整しない。
      これはほとんどのチップセットのデフォルト動作であるが、cm640 は例外
       である。
   "idex=serialize" : idex と idey(y≠1)で動作が重ならないようにする。
  ______________________________________________________________________

  以下は、ide0 にのみ適用されます。また、デフォルトの base、ctl ポートを
  変更してはいけません。

  ______________________________________________________________________

   "ide0=dtc2278"  : DTC2278 インタフェースを検出・サポートする。
   "ide0=ht6560b"  : HT6560B インタフェースを検出・サポートする。
   "ide0=cmd640_vlb" : CMD640 チップを使用した VLB カードには<em/*必須*/
       (PCI では自動検出されるので不要)
   "ide0=qd6580"  : qb6580 インタフェースを検出・サポートする。
   "ide0=ali14xx"  : ali14xx チップセット(ALI M1439/M1445)を検出・サポートする。
   "ide0=umc8672"  : umc8672 チップセットを検出・サポートする。
  ______________________________________________________________________

  これら以外は全て、"BAD OPTION" メッセージを表示して排除します。

  7.2.  標準 ST-506 ディスクドライブ用の引数 (`hd=')

  標準ディスクドライバは IDE ドライバ同様にディスクジオメトリ引数を受け
  付けます。しかし、これは 3 つの値(C/H/S)を期待することに注意してくださ
  い。3 より多かったり少なかったりすると黙って無視します。また、引数とし
  ては `hd=' のみが受け付けられ、`hda=' や `hdb=' は無視されます。形式は
  以下の通りです:

  ______________________________________________________________________
          hd=cyls,heads,sects
  ______________________________________________________________________

  ディスクが 2 台ある場合、上の形式で 2台目のジオメトリを繰り返し記述し
  ます。

  7.3.  XT ディスクドライバのオプション (`xd=')

  125kB/s といった笑ってしまうような速度しか出ない古い 8 ビットカードを
  未だ使っている不運な人には、以下の話は朗報です。これらのカード用の検出
  コードは、BIOS がインストールされているかを調べ、インストールされてい
  なければカードを検出しません。また、BIOS のシグネチャ文字列を認識でき
  ない場合もカードを検出しません。これらの場合、起動時引数を以下の形式で
  与える必要があります:

  ______________________________________________________________________
          xd=type,irq,iobase,dma_chan
  ______________________________________________________________________

  type の値はカードの製造者を示します。この値は以下のいずれかです: 0=一
  般; 1=DTC; 2,3,4=Western Digital, 5,6,7=Seagate; 8=OMTI。一つの製造者
  に複数の異なるタイプがある場合の違いは、検出に使われる BIOS 文字列で
  す。タイプが与えられなければこれは使われません。

  xd_setup() 関数は値の検証を行わず、4 つの値が全て与えられたものと仮定
  します。決してこの予測を裏切らないでください。WD1002 コントローラで
  BIOS を無効化/削除している場合の使用例を挙げます。引数には XT の「デ
  フォルト」値を使っています。

  ______________________________________________________________________
          xd=2,5,0x320,3
  ______________________________________________________________________

  8.  CD-ROM (非 SCSI/ATAPI/IDE)

  この節では、CD-ROM デバイスに関する起動時引数をすべて紹介します。SCSI
  や IDE/ATAPI 接続の CD-ROM はここには含まれないことに注意してくださ
  い。そういった CD-ROM に関しては適切な節を参照してください。

  この種の CD-ROM のほとんどには、あらかじめ読んでおくべき文書がありま
  す。これらは全て一個所にまとめられています: linux/Documentation/cdrom
  を参照してください。

  8.1.  Aztech インターフェース (`aztcd=')

  このタイプのカード用の引数の書式は以下の通りです:

  ______________________________________________________________________
          aztcd=iobase[,magic_number]
  ______________________________________________________________________

  magic_number を 0x79 に指定すると、ドライバは未知のファームウェアを見
  つけても無理矢理動作しようとします。その他の値は全て無視されます。

  8.2.  CDU-31A および CDU-33A Sony インタフェース (`cdu31a=')

  この CD-ROM インタフェースは Pro Audio Spectrum サウンドカードと、ソニ
  ーが供給するインタフェースカードで使われています。書式は以下の通りで
  す:

  ______________________________________________________________________
          cdu31a=iobase,[irq[,is_pas_card]]
  ______________________________________________________________________

  IRQ の値として 0 を指定すると、(一部の PAS カードのように)ハードウェア
  が割り込みに対応していないことがドライバに伝えられます。カードが割り込
  みに対応しているならば、ドライバによる CPU の使用量を減らすためにも割
  り込みを使うべきです。

  `is_pas_card' の部分は、Pro Audio Spectrum カードを使用しているならば
  `PAS' と指定し、そうでなければ無指定とします。

  8.3.  CDU-535 Sony インタフェース (`sonycd535=')

  この CD-ROM インタフェースに対する指定の書式は以下の通りです:

  ______________________________________________________________________
          sonycd535=iobase[,irq]
  ______________________________________________________________________

  単に IRQ を指定したいだけならば、I/O ベース値には「埋め草」として 0 と
  してください。

  8.4.  GoldStar インタフェース (`gscd=')

  この CD-ROM インタフェースに対する指定の書式は以下の通りです:

  ______________________________________________________________________
          gscd=iobase
  ______________________________________________________________________

  8.5.  ISP16 インタフェース (`isp16=')

  この CD-ROM インタフェースに対する指定の書式は以下の通りです:

  ______________________________________________________________________
          isp16=[port[,irq[,dma]]][[,]drive_type]
  ______________________________________________________________________

  irq や dma に 0 を指定すると、割り込みや DMA を使わないという指定なな
  ります。 drive_type に使用できる値は noisp16, Sanyo, Panasonic, Sony,
  Mitsumi です。 noisp16 を指定するとドライバは完全に無効になります。

  8.6.  Mitsumi 標準インタフェース(`mcd=')

  この CD-ROM インタフェースに対する指定の書式は以下の通りです:

  ______________________________________________________________________
          mcd=iobase,[irq[,wait_value]]
  ______________________________________________________________________

  ドライブに問題のある人は、ドライバ内部のタイムアウトを wait_value で指
  定します。この機能はコンパイル時の DEFINE によって実装されていたりいな
  かったりします。

  8.7.  Mitsumi XA/マルチセッションインターフェース (`mcdx=')

  今のところ、この「実験的」なドライバは設定機能は持っていますが、引数を
  実装していません(1.3.15 の時点)。これは上で説明したのと同じハードウェ
  アのためのドライバですが、機能がより拡張されています。

  8.8.  Optics Storage インタフェース(`optcd=')

  この種類のカードに対する指定の書式は以下の通りです:

  ______________________________________________________________________
          optcd=iobase
  ______________________________________________________________________

  8.9.  Phillips CM206 インタフェース (`cm206=')

  この種類のカードに対する指定の書式以下の通りです:

  ______________________________________________________________________
          cm206=[iobase][,irq]
  ______________________________________________________________________

  ドライバは値が 3 から 11 であれば割り込み、値が 0x300 か 0x370 であれ
  ば I/O ポートであるとみなします。したがって、この二つのどちらか、ある
  いは両方を好きな順番で指定できます。また、`cm206=fauto' と指定すること
  により自動検出をさせられます。

  8.10.  Sanyo インタフェース(`sjcd=')

  この種類のカードに対する指定の書式は以下の通りです:

  ______________________________________________________________________
          sjcd=iobase[,irq[,dma_channel]]
  ______________________________________________________________________

  8.11.  SoundBlaster Pro インタフェース(`sbpcd=')

  この種類のカードに対する指定の書式は以下の通りです:

  ______________________________________________________________________
          sbpcd=iobase,type
  ______________________________________________________________________

  ここで type は、以下の文字列のうちのいずれかです(大文字・小文字は区別
  されます): すなわち `SoundBlaster', `LaserMate', `SPEA' です。 I/O ベ
  ース値は CD-ROM 部分の値であり、サウンド部の値ではありません。

  9.  シリアルドライバと ISDN ドライバ

  9.1.  ICN ISDN ドライバ (`icn=')

  ISDN ドライバの起動時引数の書式は以下の通りです:

  ______________________________________________________________________
          icn=iobase,membase,icn_id1,icn_id2
  ______________________________________________________________________

  ここで iobase はカードの I/O ポートアドレスです。 membase はカードの共
  有メモリアドレスです。そして二つの icn_id は、カードに固有に割り当てる
  ASCII 文字列識別子です。

  9.2.  PCBIT ISDN ドライバ (`pcbit=')

  起動時引数は以下の形式で整数の組を並べたものです:

  ______________________________________________________________________
          pcbit=membase1,irq1[,membase2,irq2]
  ______________________________________________________________________

  ここで、membaseN は N 番目のカードの共有メモリのベースアドレスで、irqN
  は N 番目のカードの割り込み設定です。デフォルト値は IRQ が 5, membase
  値が 0xD0000 です。

  9.3.  Teles ISDN ドライバ (`teles=')

  この ISDN ドライバは以下の形式の起動時引数を持ちます:

  ______________________________________________________________________
          teles=iobase,irq,membase,protocol,teles_id
  ______________________________________________________________________

  ここで iobase は カードの I/O ポートアドレスです。 membase はカードの
  共有メモリのベースアドレスです。 irq はカードが使用する割り込み番号
  で、tels_id は一意な ASCII 文字列による識別子です。

  9.4.  DigiBoard ドライバ (`digi=')

  DigiBoard ドライバはコンマで区切った 6 つの識別子または整数を受け取り
  ます。この 6 つの値を順に示します:

          このカードを有効/無効にする
          カードのタイプ: PC/Xi(0), PC/Xe(1), PC/Xeve(2), PC/Xem(3)
          代用ピン配置を有効/無効にする
          このカードのポート数
          カードに設定されている I/O ポート(文字列識別子ならば16進単位)
          メモリウィンドウのベースアドレス(文字列識別子ならば16進単位)

  正しい起動時引数の例を整数を使う場合と識別子の場合について示します:

  ______________________________________________________________________
          digi=E,PC/Xi,D,16,200,D0000
          digi=1,0,0,16,512,851968
  ______________________________________________________________________

  digi= 起動時引数が指定されない時には、ドライバはデフォルト動作とし
  て、I/O を 0x200、 共有メモリのベースアドレスを 0xD0000 とします。自動
  検出は行われません。詳細については linux/Documentation/digiboard.txt
  ファイルを参照してください。

  9.5.  RISCom/8 マルチポートシリアルドライバ (`riscom8=')

  インストールしたそれぞれのカードに固有の I/O ポート値を割り当てること
  により、4 枚までのボードに対応できます。詳細については
  linux/Documentation/riscom8.txt ファイルを参照してください。

  9.6.  Baycom シリアル・パラレル無線モデム (`baycom=')

  このデバイスの起動時引数は以下の形式です:

  ______________________________________________________________________
          baycom=modem,io,irq,options[,modem,io,irq,options]
  ______________________________________________________________________

  modem=1 は、ser12 デバイスを持っていることを示し、modem=2 は、par96 デ
  バイスを示します。options=0 は、ハードウェア DCD の使用を示し、
  optons=1 はソフトウェア DCD の使用を示します。 io および irq は普通通
  り、I/O ポートのベースアドレスと割り込み設定です。詳細な情報は
  /linux/drivers/char/ ディレクトリの README.baycom ファイルに書かれてい
  ます。

  10.  他のハードウェアデバイス

  これまでのどの分類にも当てはまらないデバイスについてこの節でまとめま
  す。

  10.1.  イーサネットデバイス (`ether=')

  ドライバによって引数は異なりますが、どんなカードも少なくとも IRQ, I/O
  ポートの値、名前を持ちます。引数の最も一般的な形は以下の通りです:

  ______________________________________________________________________
          ether=irq,iobase[,param_1[,param_2,...param_8]]],name
  ______________________________________________________________________

  数字でない最初の引数は名前として解釈されます。 param_n の値は(指定可能
  ならば)普通はカードごとに異なる意味を持ちます。普通は param_n の値は、
  共有メモリアドレスやインタフェースの選択、DMA チャネルなどの指定に使い
  ます。

  この引数の最も一般的な使い方は、2 番目のイーサネットカードの強制検出で
  す。デフォルトの動作としては、最初のカードだけが検出されます。これは例
  を用いて説明します:

  ______________________________________________________________________
          ether=0,0,eth1
  ______________________________________________________________________

  上の例のように IRQ と I/O ベースに 0 を指定すると、ドライバへの自動検
  出の指示となる点に注意してください。

  モジュールを使う際の重要点: ドライバを(カーネルに組み込むのではなく)実
  行時ローダブルモジュールとして用いている場合には、上の指定では 2 番目
  のカードの強制検出は行われない点に注意してください。ほとんどの Linux
  ディストリビューションは、裸同然のカーネルとたくさんの選択可能なモジュ
  ールを組み合わせて使用しています。 ether= が適用されるのは、ドライバが
  カーネルに組み込まれている時だけです。

  Ethernet-HOWTO は、複数カードの使用方法や、param_n 値が使われる際のカ
  ード/ドライバ固有の param_n 値の実装について完全かつ詳しい説明を行って
  います。興味のある方は、この文書の個別のカードに関連する節を見て、詳細
  な情報を調べてください。 Ethernet-HowTo
  <http://metalab.unc.edu/mdw/HOWTO/Ethernet-HOWTO.html>

  10.2.  フロッピーディスクドライバ (`floppy=')

  フロッピードライバのオプションはたくさんありますが、これらは全て
  linux/drivers/block にある README.fd ファイルに列挙されています。その
  ファイルに書かれているオプションは、ここで列挙するには多すぎます。そこ
  で、あまり一般的でないハードウェアで Linux のインストールを進めるため
  に必要と思われるオプションだけをここに引用します。

  floppy=0,daring フロッピードライバに対し、フロッピーコントローラを注意
  深く扱うよう指示します(きわどい動作を全て無効にします)。

  floppy=thinkpad マシンが Thinkpad であることをフロッピードライバに教え
  ます。 Thankpad におけるディスク交換検出ラインの信号は、普通とは逆で
  す。

  floppy=nodma データ転送に DMA を使わないことをフロッピードライバに指示
  します。これは HP Omnibooks で必要です。このマシンには、フロッピードラ
  イバに対して動作する DMA チャネルがありません。このオプションは、
  "Unable to allocate DMA memory(DMA メモリを割り当てられません)" という
  メッセージが頻繁に出る際にも役立ちます。FIFO がない FDC(8272A や
  82072) を使っている場合には、`nodma' は使わないほうがいいでしょう。
  82072A 以降は大丈夫です。FDC の型式は起動時に報告されます。また、nodma
  オプションを使うには、少なくとも 486 が必要です。

  floppy=nofifo FIFO を完全に無効にします。このオプションは、フロッピー
  にアクセスしている際にイーサネットカード(あるいは他のデバイス)が `Bus
  master arbitration error' というメッセージを出す場合に必要です。

  floppy=broken_dcl ディスク交換検出ライン(DCL)を使わず、デバイスノード
  が再オープンされた時は必ずディスクが交換されたものとして動作します。
  ディスク交換検出ラインに不具合があったり、未サポートである一部のマシン
  で必要です。これは間に合わせの方法として捉えるべきであり、実際のとこ
  ろ、フロッピーの動作は不必要なキャッシュのフラッシュのために効率が落ち
  たり、信頼性が多少落ちたりします。DCL 回りの問題がある場合には、ケーブ
  ル接続やジャンパ設定を確認してください。ただし、一部の古いドライブや、
  一部のラップトップには DCL が無いことが知られています。

  floppy=debug デバッグ用の(追加の)メッセージを出力します。

  floppy=messages 一部の操作に対して、情報メッセージを出力します(ディス
  ク交換の通知や、アンダーランについての警告、自動検出に関するメッセー
  ジ)。

  10.3.  サウンドドライバ (`sound=')

  サウンドドライバは起動時引数を受け取り、コンパイル時に決めた値を書き換
  えることができます。ただしこれはお勧めできません。というのも、比較的複
  雑ですし、これに関するカーネル内の文書が不可解にも消えてしまったからで
  す(一つの暗示)。サウンドはモジュールとして使うか、固有の設定をカーネル
  に組み込む方がよいでしょう。

  それでも引数を使うことにしたのであれば、引数の処理は
  linux/drivers/sound の dev_table.c ファイルで行われます。これは以下の
  形式の起動時引数を受け付けます:

  ______________________________________________________________________
          sound=device1[,device2[,device3...[,device11]]]
  ______________________________________________________________________

  ここで、おのおのの deviceN の値は 0xTaaald という形式であり、これに含
  まれるバイトデータは以下のように使われます:

  D - 2 番目の DMA チャネル (使わないならば 0)

  T - デバイス型: 1=FM, 2=SB, 3=PAS, 4=GUS, 5=MPU401, 6=SB16,
  7=SB16-MPU401,...  26 番までのサウンドカードの種類の一覧
  は、linux/include/linux/soundcard.h ファイルに書かれており(コマンドラ
  インで使う際には 16 進値に戻すのを忘れないでください)、27 から 999(新
  しいモデル)の一覧は linux/drivers/sound/dev_table.h にあります。

  aaa - I/O アドレスの 16 進表現

  I - 割り込み番号の16進表現 (つまり 10=a, 11=b, ...)

  d - 最初の DMA チャネル

  これは見れば分かるように多少込み入っているので、前に書いたようにモジュ
  ール化したドライバを使うか、個人の設定をカーネルに組み込むことを強くお
  勧めします。起動時引数として `sound=0' を指定するとサウンドドライバは
  完全に無効になります。

  10.4.  バスマウスドライバ (`bmouse=')

  バスマウスドライバは引数を一つだけ受け付けます。受け付けるのは、使用す
  るハードウェア IRQ の値です。

  10.5.  MS バスマウスドライバ(`msmouse=')

  MS マウスドライバは引数を一つだけ受け付けます。受け付けるのは、使用す
  るハードウェア IRQ の値です。

  10.6.  プリンタドライバ (`lp=')

  この起動時引数を使うと、どのポートを使い、どのポートを使わないかをプリ
  ンタドライバに指示できます。後者が便利なのは、プリンタドライバが全ての
  パラレルポートを押えてしまうのが嫌な場合です。これを使えば(PLIP, PPA
  のような)他のドライバがポートを使用できます。

  引数は、I/O と IRQ の組を複数個並べた形式です。例えば、
  lp=0x3bc,0,0x378,7は、ポート 0x3xbc を IRQ なし(ポーリング) モードで使
  い、0x378 を IRQ 7 で使うことを示します。0x278 にあるポートは(たとえ
  あっても)検出されません。なぜなら、自動検出が行われるのは lp= 引数自体
  がない場合だけだからです。プリンタドライバそのものを無効にするに
  は、lp=0 を使用します。

  11.  著作権、翻訳、結びの言葉など

  さて、やっと終わりました! (やれやれ…) ここからは法的な事項に過ぎませ
  ん。

  11.1.  著作権と免責事項

  This document is Copyright (c) 1995-1999 by Paul Gortmaker.  Copying
  and redistribution is allowed under the conditions as outlined in the
  Linux Documentation Project Copyright, available from where you
  obtained this document, OR as outlined in the GNU General Public
  License, version 2 (see linux/COPYING).

  This document is not gospel. However, it is probably the most up to
  date info that you will be able to find. Nobody is responsible for
  what happens to your hardware but yourself. If your stuff goes up in
  smoke, or anything else bad happens, we take no responsibility. ie.
  THE AUTHOR IS NOT RESPONSIBLE FOR ANY DAMAGES INCURRED DUE TO ACTIONS
  TAKEN BASED ON THE INFORMATION INCLUDED IN THIS DOCUMENT.

  A hint to people considering doing a translation.  First, translate
  the SGML source (available via FTP from the HowTo main site) so that
  you can then generate other output formats.  Be sure to keep a copy of
  the original English SGML source that you translated from! When an
  updated HowTo is released, get the new SGML source for that version,
  and then a simple diff -u old.sgml new.sgml will show you exactly what
  has changed so that you can easily incorporate those changes into your
  translated SMGL source without having to re-read or re-translate
  everything.

  If you are intending to incorporate this document into a published
  work, please make contact (via e-mail) so that you can be supplied
  with the most up to date information available. In the past, out of
  date versions of the Linux HowTo documents have been published, which
  caused the developers undue grief from being plagued with questions
  that were already answered in the up to date versions.

  訳注:(日本語訳はあくまで参考です。正式には原文をご覧ください。)

  本文書は Paul Gortmaker の著作物です(Copyright (c) 1995-1999 by Paul
  Gortmaker)。複製および再配布は、Linux Documentation Project
  Copyright(本文書を入手した場所から入手できます)で述べられた条件、ある
  いは GNU General Public License のバージョン 2 (linux/COPYING を参
  照)で述べられた条件に従って許されます。

  本文書は福音書ではありません。しかし、ほとんどの情報は多分、あなたが見
  つけられる最新の情報かと思います。本文書の内容によりハードウェアに何が
  起ころうと、それは誰の責任でもなく、あなた自身の責任です。あなたのマシ
  ンが煙を出しても、あるいは他のどんな悪い事態が起きても、我々には一切の
  責任はありません。すなわち、本文書に含まれる情報に基づいて行なった行為
  によって生じたいかなる損害についても、筆者には責任はありません。

  翻訳を考えている方のために指針を述べておきます。まず最初に、翻訳は
  SGML ソースを使って行ってください(HOWTO 文書のメインサイトから FTP で
  入手できます)。そうすれば、他の出力形式は SGML から生成できます。翻訳
  の元にした英語の SGML ソースはコピーを取って保存しておきましょう。新し
  い版の HOWTO 文書がリリースされた時には、新しい版の SGML ソースを入手
  して、単に diff -u old.sgml new.sgml とすれば変更された部分だけが取り
  出せます。これを利用すれば、全体を読み直したり翻訳し直すことなく翻訳版
  の SGML ソースに変更点を反映させることは容易です。

  本文書を出版物に含めようと考えている場合は、(電子メールで)筆者に連絡を
  取ってください。これは、最新の情報を提供できるようにするためです。過去
  には古くなった版の Linux HOWTO が出版されたことがありました。その時に
  は、最新版の文書では既に回答済みの質問に開発者が悩まされ、とても不幸に
  なったことがありました。

  11.2.  終わりに

  この文書の中に恥ずかしいタイプミスや古い情報があったら、ぜひ筆者に知ら
  せてください。この文書を最初に書いたときと比べても、カーネル(そしてド
  ライバの数)は非常に大きくなったため、こういった事は見落としやすいので
  す。

  Paul Gortmaker, p_gortmaker@yahoo.com

  11.3.  日本語訳について

  現在のバージョンは、堀江誠一さんの訳を元に Linux Japanese FAQ Project
  が更新を行いました。翻訳に関するご意見は JF プロジェクト
  <JF@linux.or.jp> 宛に連絡してください。

  改訂履歴を以下に示します。

     v1.14, 1 February 1998
        翻訳: 堀江誠一 <shorie@ibm.net>

     v1.2j, 15 November 1999
        翻訳: 藤原輝嘉 <fujiwara@linux.or.jp>

