5.2. ブートパラメータ

ブートパラメータとは Linux カーネルのパラメータのことで、 一般には周辺機器を適切に扱うために用います。 ほとんどの場合、カーネルは周辺機器の情報を自動的に検出します。 しかし、場合によっては少々カーネルを助けてあげないといけないこともあるのです。

システムを初めて起動する場合は、デフォルトのブートパラメータを試して (つまりなにもパラメータを設定せずに)、正確に動作するか観察してください。 たいていはうまくいくと思います。 なにか問題が起こったら、 そのハードウェアに関する情報をシステムに伝えるためのパラメータを調べ、 あとで再起動します。

多くのブートパラメータの情報は (曖昧なハードウェア用の tips 込みで)、 Linux BootPrompt HOWTO で見つけられます。 本節は、最も顕著なパラメータの概要だけを含んでいます。 いくつか共通のものは 項5.3. 「インストールプロセスのトラブルシューティング」 以下に含まれています。

カーネルが起動するときには、プロセスの最初のほうで

Memory:availk/totalk available

というメッセージが表示されます。 total は利用可能な RAM の総量をキロバイト単位で表しています。 この値が実際に搭載している RAM の量と一致しないときには、 mem=ram というパラメータが必要になります。 ram のところには、実際に搭載しているメモリ量を、 キロバイト単位なら 「k」、 メガバイト単位なら 「m」 を後ろにつけて記入します。例えば、 mem=65536kmem=64m も 64MB の RAM を意味します。

起動の際にシリアルコンソールを使うと、通常カーネルはこちらを自動検出します 。 ただし、シリアルコンソールから起動させたいコンピュータに ビデオカード (フレームバッファ) とキーボードもついている場合には、カーネルに console=device というパラメータを渡す必要があるでしょう。 device は利用するシリアルデバイスです。 これは普通 ttyS0 のようになるでしょう。

5.2.1. Debian Installer パラメータ

インストールシステムは、 おそらく便利だと思われる、追加起動パラメータ[6]をいくつか認識します。

多くのパラメータは、カーネルコマンドラインオプションの制限を避けたり、 パラメータの入力を簡単にするため、「短縮形」 を持っています。 パラメータに短縮形がある場合、(通常の)長い形式の後にかっこで囲っています。 本マニュアルの例は、通常、短縮形も使用しています。

debconf/priority (priority)

このパラメータには、表示するメッセージのもっとも低い優先度を設定します。

デフォルトのインストールでは、 priority=high を使用します。 優先度が「高」のものと、「重要」のもののメッセージを表示し、 「標準」や、「低」のメッセージはスキップします。 問題にぶつかった場合、インストーラは必要な優先度に調整します。

ブートパラメータに priority=medium を追加すると、インストールメニューが表示され、 インストールについて、さらに多くの制御を行うことができます。 priority=low を使った場合は、 すべてのメッセージを表示します (expert 起動法と等価)。 priority=critical の場合は、 インストールシステムは重要なメッセージだけを表示し、 大騒ぎせずに正しい設定をしようとします。

DEBIAN_FRONTEND

このブートパラメータはインストーラで使うユーザインターフェースを 制御します。現在有効な設定は以下の通りです。

  • DEBIAN_FRONTEND=noninteractive

  • DEBIAN_FRONTEND=text

  • DEBIAN_FRONTEND=newt

  • DEBIAN_FRONTEND=gtk

デフォルトのフロントエンドは DEBCONF_FRONTEND=newt です。シリアルコンソールでインストールするには、 DEBIAN_FRONTEND=text とすべきでしょう。 一般的に、デフォルトのインストールメディアでは newt フロントエンドのみが利用可能です。 サポートしているアーキテクチャでは、グラフィカルインストーラが gtk フロントエンドを使用します。

BOOT_DEBUG

このブートパラメータに 2 を設定すると、 インストーラの起動プロセス中に詳細なログを出力します。 3 を設定すると、起動プロセスの要所でデバッグ用のシェルが利用できます。 (シェルを終了すると起動プロセスを継続します)

BOOT_DEBUG=0

デフォルトです。

BOOT_DEBUG=1

通常よりも詳細です。

BOOT_DEBUG=2

デバッグ情報を大量に表示します。

BOOT_DEBUG=3

詳細なデバッグを行うよう、ブートプロセスの様々な箇所でシェルが実行されます。 起動を続けるにはシェルから抜けてください。

INSTALL_MEDIA_DEV

このパラメータの値には、Debian インストーラを読み込むデバイスのパスを指定します。 例えば、INSTALL_MEDIA_DEV=/dev/floppy/0 となります。

ブートフロッピー は root フロッピーを探すのに、 通常は全フロッピーを検索しますが、 このパラメータで 1 つのデバイスを探すように上書きできます。

debian-installer/framebuffer (fb)

いくつかのアーキテクチャでは、多くの言語でインストールを行うために、 カーネルフレームバッファを使用します。 フレームバッファが問題となるシステムの場合、 fb=false パラメータによってこの機能を無効にできます。 bterm や bogl に関するエラーメッセージや、真っ暗な画面、 インストールが始まって数分後にフリーズがおきたら問題の兆候です。

debian-installer/theme (theme)

テーマ (theme) はインストーラのユーザインターフェースがどのように見えるか (色、アイコンなど) を決定します。現在、newt と gtk のフロントエンドにのみ、 目の不自由な方向けにデザインされた 「dark」 テーマがあります。 起動時のパラメータに、 theme=dark と指定してテーマを設定してください。

debian-installer/probe/usb

起動時の USB の検出で問題が起きる場合は、 これに false を設定してください。

netcfg/disable_dhcp

デフォルトでは、debian-installer は DHCP によりネットワークの設定を自動検出します。 検出が成功すると、確認する機会がなく検出値を変更できないでしょう。 DHCP の検出が失敗する場合のみ、手動ネットワーク設定を行えます。

ローカルネットワークに DHCP サーバがあるのに、それを回避したい場合 (例: 誤った値を返す等)、 DHCP でのネットワーク設定をせず手動で情報を入力するのに、 netcfg/disable_dhcp=true パラメータを使用できます。

hw-detect/start_pcmcia

PCMCIA サービスが原因で問題が発生する場合、 false を設定することで、 起動しないようにすることができます。 いくつかのラップトップコンピュータには、 そういう行儀悪さがあることが知られています。

preseed/url (url)

preconfiguration ファイルをダウンロードする URL を指定します。 これは自動インストールで使用します。 項4.4. 「自動インストール」 を参照してください。

preseed/file (file)

自動インストールで読み込む preconfiguration ファイルの PATH を指定します。 項4.4. 「自動インストール」 を参照してください。

preseed/interactive

preseed 中に質問を表示する場合には、true を設定します。 事前設定ファイルのテストやデバッグに便利でしょう。 これは、ブートパラメータに渡すパラメータには影響を及ぼしませんが、 特殊な文法が使えるようになります。 詳細は、項B.5.2. 「preseed を用いたデフォルト値変更」 をご覧ください。

auto-install/enable (auto)

通常 preseed の前に行われる質問を、ネットワークの設定が終わるまで遅らせます。 自動インストールでこのパラメータを使用する際には、 項B.2.3. 「自動モード」 をご覧ください。

cdrom-detect/eject

デフォルトで debian-installer は、再起動の前にインストールに使用した光学メディアを、 自動的に排出します。 自動的に CD から起動しないようなシステムでは、これは必要ありませんし、 特定の状況下では、困ることになる可能性もあります。 例えば、光学ドライブがメディアを再び差し込むことができず、 手で挿入するようユーザがいなければいけないのに、行うユーザがそこにいないなど。 大半のスロットローディング、スリムライン、キャディタイプのドライブは、 自動的にメディアをリロードできません。

false に設定すると、自動排出を無効にできます。 また、システムの初期インストール後に、 光学ドライブから自動起動しないことを保証する必要があります。

debian-installer/allow_unauthenticated

デフォルトでは、既知の gpg キーで認証されたリポジトリが、 インストーラには必要です。 この認証を無効にするのに true と設定してください。 警告: 危険です。お奨めしません。

ramdisk_size

このパラメータが必要な場合は、すでに正しい値が設定されているはずです。 その上で、RAM ディスクが完全にロードされずに起動に失敗する場合のみ、 設定してください。値は kB で指定してください。

rescue/enable

通常のインストールではなく、レスキューモードを実行する場合、 true にセットしてください。 項8.7. 「起動しなくなってしまったシステムの回復」 をご覧ください。

5.2.1.1. ブートパラメータで質問に答える

例外的に、インストール中の質問にブートパラメータで答を与えることができます。 これは、特殊な状況でのみ便利です。 この方法の概要は、項B.2.2. 「preseed が質問するブートパラメータの利用」 にあります。 特殊な例を以下に示します。

debian-installer/locale (locale)

インストールする際の言語や国の情報を設定するのに使用します。 これは Debian でロケールをサポートしている場合のみ有効です。 例えば、言語にドイツ語、国にスイスを指定するには、 locale=de_CH と指定します。

anna/choose_modules (modules)

デフォルトではロードされないインストーラコンポーネントを、 自動的に読み込むのに使用します。 追加コンポーネントの例として、openssh-client-udeb (インストール中に scp コマンドを使用できる) や、 ppp-udeb (項D.4. 「PPP over Ethernet (PPPoE) を用いた Debian GNU/Linux のインストール」 をご覧ください) が便利です。

netcfg/disable_dhcp

DHCP を無効にし、静的ネットワーク設定を強制するには、 true と設定します。

mirror/protocol (protocol)

デフォルトでインストーラは、 Debian のミラーサイトからファイルをダウンロードするのに http プロトコルを使用し、通常の優先度ではインストール中に ftp に変更できません。 このパラメータに ftp と設定すると、 インストーラに ftp を使用するように強制できます。 一覧から ftp ミラーを選択できず、 ホスト名を手入力しなければならないことに注意してください。

tasksel:tasksel/first (tasks)

kde-desktop タスクのような、 タスク一覧に表示されないタスクを選択するのに使用します。 さらなる情報は 項6.3.5.2. 「ソフトウェアの選択・インストール」 をご覧ください。

5.2.1.2. カーネルモジュールへパラメータを渡す

カーネル内にコンパイルされているドライバの場合、 カーネルのドキュメントに記載されている方法でパラメータを渡せます。 しかし、ドライバがモジュールとしてコンパイルされており、 インストールしたシステムの起動時に、 インストール時と比べてカーネルモジュールの読み込みが若干異なる場合、 通常の方法ではモジュールにパラメータを渡せません。 代わりに、インストーラが認識できる特殊文法を使って 適切な設定ファイルにパラメータを格納しなければなりません。 パラメータは実際にモジュールをロードする際に利用されます。 パラメータは自動的にインストールしたシステムに伝播します。

モジュールにパラメータを渡さなければならないというのは、 本当にまれな状況だということに注意してください。 ほとんどの場合、カーネルはシステムにあるハードウェアから得られる値を検出し、 適切な値を設定してくれます。 しかしある状況下では、未だにパラメータを手で設定しなければなりません。

モジュールにパラメータを設定する文法は以下のようになります。

module_name.parameter_name=value

1 つないし複数のモジュールに、複数のパラメータを渡す場合は繰り返してください。 例えば、古い 3Com のネットワークインターフェースカードで BNC (coax) を使用し、 IRQ 10 を設定する場合は、以下のようにします。

3c509.xcvr=3 3c509.irq=10

5.2.1.3. カーネルモジュールのブラックリスト化

時には、カーネルや udev が自動的にモジュールを読み込むのを防ぐために、 ブラックリストに載せる必要があるかもしれません。 目的の 1 つには、特定のモジュールが、 あなたのハードウェアで問題を起こす場合が挙げられます。 またカーネルに、同じデバイスに対して複数の異なるドライバがある場合もあります。 ドライバが衝突したり、間違ったドライバを先に読み込んでしまうと、 デバイスが正しく動作しない原因となります。

module_name.blacklist=yes といった文法でモジュールをブラックリストに指定できます。 これでそのモジュールが /etc/modprobe.d/blacklist.local にあるブラックリストに指定され、 インストール中・インストールしたシステムの双方で、 ブラックリストが有効になります。

インストールシステム自体が、 モジュールをまだ読み込んでいる可能性があることに注意してください。 エキスパートモードでインストールを行い、 ハードウェア検出時にモジュールの一覧からモジュールの選択を外すことで、 モジュールの読み込みを防げます。



[6] 現在のカーネル (2.6.9 以降) では、 コマンドラインオプションを 32 個と環境オプションを 32 個使用できます。 それを越えると、カーネルはパニックしてしまいます。