5.3. ブートパラメータ

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

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

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

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

Memory:availk/totalk available

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

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

5.3.1. Debian Installer パラメータ

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

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

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 つのデバイスを探すように上書きできます。

lowmem

インストーラが、利用可能なメモリを元に算出するデフォルト値よりも、より高レベルな低メモリ (lowmem) レベルに強制するのに使用できます。有効な値は、1 か 2 です。項6.3.1.1. 「利用可能なメモリのチェック / 低メモリモード」 もご覧ください。

noshell

インストーラが tty2, tty3 の対話シェルを提供しないようにします。物理的セキュリティが限られている、無人インストールの際に便利です。

debian-installer/framebuffer (fb)

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

debian-installer/theme (theme)

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

netcfg/disable_dhcp

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

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

hw-detect/start_pcmcia

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

disk-detect/dmraid/enable (dmraid)

インストーラで、Serial ATA RAID (ATA RAID, BIOS RAID, fake RAID とも呼ばれる) のサポートを有効にする場合 true にセットします。このサポートは現在実験中であることに注意してください。追加情報は Debian Installer Wiki にあります。

preseed/url (url)

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

preseed/file (file)

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

preseed/interactive

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

auto-install/enable (auto)

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

finish-install/keep-consoles

シリアル端末や管理コンソールからインストール中に、通常の仮想コンソール (VT1 から VT6) は、通常 /etc/inittab で無効にされています。これを回避するには true をセットしてください。

cdrom-detect/eject

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

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

base-installer/install-recommends (recommends)

このオプションを false にすると、インストール中でも、またインストール後でも、「推奨」 パッケージを自動的にインストールしないように、パッケージ管理システムを設定します。項6.3.4. 「基本システムのインストール」 をご覧ください。

これにより、より無駄のないシステムを得られますが、通常可能であると期待する機能が欠落するかもしれないことに注意してください。完全な機能が必要な場合には、推奨パッケージを手でインストールすることになるでしょう。そのためこのオプションは、経験豊富なユーザにしか有用ではないでしょう。

debian-installer/allow_unauthenticated

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

rescue/enable

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

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

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

debian-installer/language (language), debian-installer/country (country), debian-installer/locale (locale)

インストール中やインストール後で使用する、言語・国・ロケールを指定する方法はふたつあります。

最初の、最も簡単な方法は locale パラメータを渡すことだけです。言語や国はその値から導かれます。例えば、言語にドイツ語、国にスイスを指定する場合、locale=de_CH とします (インストールしたシステムのデフォルトロケールは de_CH.UTF-8 にセットされます)。制限は、言語、国、ロケールのすべての組み合わせを、この方法で得られるわけではないということです。

ふたつ目のもっと柔軟な選択肢は、languagecountry を別々に指定することです。この場合、特定のデフォルトロケールをインストールしたシステムに指定するため、任意に locale を加えられます。例: language=en country=DE locale=en_GB.UTF-8

anna/choose_modules (modules)

デフォルトではロードされないインストーラコンポーネントを、自動的に読み込むのに使用します。追加コンポーネントの例として、openssh-client-udeb (インストール中に scp コマンドを使用できる) や、ppp-udeb (項D.5. 「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.3.3. カーネルモジュールへパラメータを渡す

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

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

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

module_name.parameter_name=value

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

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

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

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

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

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



[9] インストーラが使用する端末タイプと、端末エミュレータが一致するのを保証するため、パラメータ TERM=type を追加できます。インストーラは以下の端末タイプしかサポートしないことに注意してください。linux, bterm, ansi, vt102, dumb です。debian-installer でのシリアルコンソールのデフォルトは、vt102 です。

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