ブートパラメータ
ブートパラメータとは Linux カーネルのパラメータのことで、
一般には周辺機器を適切に扱うために用います。
ほとんどの場合、カーネルは周辺機器の情報を自動的に検出します。
しかし、場合によっては少々カーネルを助けてあげないといけないこともあるのです。
システムを初めて起動する場合は、デフォルトのブートパラメータを試して
(つまりなにもパラメータを設定せずに)、正確に動作するか観察してください。
たいていはうまくいくと思います。
なにか問題が起こったら、
そのハードウェアに関する情報をシステムに伝えるためのパラメータを調べ、
あとで再起動します。
多くのブートパラメータの情報は (曖昧なハードウェア用の tips 込みで)、
Linux
BootPrompt HOWTO で見つけられます。
本節は、最も顕著なパラメータの概要だけを含んでいます。
いくつか共通のものは 以下に含まれています。
カーネルが起動するときには、プロセスの最初のほうで
Memory:availk/totalk available
というメッセージが表示されます。
total は利用可能な RAM の総量をキロバイト単位で表しています。
この値が実際に搭載している RAM の量と一致しないときには、
mem=ram というパラメータが必要になります。
ram のところには、実際に搭載しているメモリ量を、
キロバイト単位なら k
、
メガバイト単位なら m
を後ろにつけて記入します。例えば、
mem=65536k も mem=64m も 64MB の RAM を意味します。
起動の際にシリアルコンソールを使うと、通常カーネルはこちらを自動検出します
(ただし DECstation を除く)。
ただし、シリアルコンソールから起動させたいコンピュータに
ビデオカード (フレームバッファ) とキーボードもついている場合には、カーネルに
console=device
というパラメータを渡す必要があるでしょう。
device は利用するシリアルデバイスです。
これは普通 ttyS0 のようになるでしょう。
&arch-title; のシリアルデバイスは、
ttya や ttyb になります。
あるいは、OpenPROM 変数の input-device と
output-device に ttya を設定しても結構です。
Debian Installer パラメータ
インストールシステムは、
おそらく便利だと思われる、追加起動パラメータ
現在のカーネル (2.6.9 以降) では、
コマンドラインオプションを 32 個と環境オプションを 32 個使用できます。
それを越えると、カーネルはパニックしてしまいます。
をいくつか認識します。
多くのパラメータは、カーネルコマンドラインオプションの制限を避けたり、
パラメータの入力を簡単にするため、短縮形
を持っています。
パラメータに短縮形がある場合、(通常の)長い形式の後にかっこで囲っています。
本マニュアルの例は、通常、短縮形も使用しています。
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 です。 もご覧ください。
debian-installer/framebuffer (fb)
いくつかのアーキテクチャでは、多くの言語でインストールを行うために、
カーネルフレームバッファを使用します。
フレームバッファが問題となるシステムの場合、
fb=false パラメータによってこの機能を無効にできます。
bterm や bogl に関するエラーメッセージや、真っ暗な画面、
インストールが始まって数分後にフリーズがおきたら問題の兆候です。
video=vga16:off 引数は、
カーネルのフレームバッファ利用を無効にする効果もあります。
そのような問題が、Mobile Radeon を搭載した Dell Inspiron について報告されています。
そのような問題が、Amiga 1200 や SE/30 について報告されています。
そのような問題が、hppa について報告されています。
いくつかのシステムで問題が発生するため、
&arch-title; ではフレームバッファのサポートが
デフォルトでは無効になっています。
この結果 ATI のグラフィックカードのように、システムの表示が汚くなる場合には、
フレームバッファをサポートするようにしてください。
インストーラで表示の問題に遭遇したら、
debian-installer/framebuffer=true や省略形の
fb=true というパラメータを試してください。
debian-installer/theme (theme)
テーマ (theme) はインストーラのユーザインターフェースがどのように見えるか
(色、アイコンなど) を決定します。現在、newt と gtk のフロントエンドにのみ、
目の不自由な方向けにデザインされた dark
テーマがあります。
起動時のパラメータに、
theme=dark
と指定してテーマを設定してください。
netcfg/disable_dhcp
デフォルトでは、&d-i; は 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 を指定します。
これは自動インストールで使用します。
を参照してください。
preseed/file (file)
自動インストールで読み込む preconfiguration ファイルの PATH を指定します。
を参照してください。
preseed/interactive
preseed 中に質問を表示する場合には、true を設定します。
事前設定ファイルのテストやデバッグに便利でしょう。
これは、ブートパラメータに渡すパラメータには影響を及ぼしませんが、
特殊な文法が使えるようになります。
詳細は、 をご覧ください。
auto-install/enable (auto)
通常 preseed の前に行われる質問を、ネットワークの設定が終わるまで遅らせます。
自動インストールでこのパラメータを使用する際には、
をご覧ください。
cdrom-detect/eject
デフォルトで &d-i; は、再起動の前にインストールに使用した光学メディアを、
自動的に排出します。
自動的に CD から起動しないようなシステムでは、これは必要ありませんし、
特定の状況下では、困ることになる可能性もあります。
例えば、光学ドライブがメディアを再び差し込むことができず、
手で挿入するようユーザがいなければいけないのに、行うユーザがそこにいないなど。
大半のスロットローディング、スリムライン、キャディタイプのドライブは、
自動的にメディアをリロードできません。
false に設定すると、自動排出を無効にできます。
また、システムの初期インストール後に、
光学ドライブから自動起動しないことを保証する必要があります。
debian-installer/allow_unauthenticated
デフォルトでは、既知の gpg キーで認証されたリポジトリが、
インストーラには必要です。
この認証を無効にするのに true と設定してください。
警告: 危険です。お奨めしません。
ramdisk_size
このパラメータが必要な場合は、すでに正しい値が設定されているはずです。
その上で、RAM ディスクが完全にロードされずに起動に失敗する場合のみ、
設定してください。値は kB で指定してください。
mouse/left
gtk フロントエンド (グラフィカルインストーラ) 用に、
このパラメータを true とすると、
マウスを左手で操作するよう切り替えられます。
directfb/hw-accel
gtk フロントエンド (グラフィカルインストーラ) 用に、
directfb のハードウェアアクセラレーションは、デフォルトで無効となっています。
有効にするには、このパラメータに true と設定してください。
rescue/enable
通常のインストールではなく、レスキューモードを実行する場合、
true にセットしてください。
をご覧ください。
ブートパラメータで質問に答える
例外的に、インストール中の質問にブートパラメータで答を与えることができます。
これは、特殊な状況でのみ便利です。
この方法の概要は、 にあります。
特殊な例を以下に示します。
debian-installer/locale (locale)
インストールする際の言語や国の情報を設定するのに使用します。
これは Debian でロケールをサポートしている場合のみ有効です。
例えば、言語にドイツ語、国にスイスを指定するには、
locale=de_CH と指定します。
anna/choose_modules (modules)
デフォルトではロードされないインストーラコンポーネントを、
自動的に読み込むのに使用します。
追加コンポーネントの例として、openssh-client-udeb
(インストール中に scp コマンドを使用できる)
や、
ppp-udeb ( をご覧ください)
が便利です。
netcfg/disable_dhcp
DHCP を無効にし、静的ネットワーク設定を強制するには、
true と設定します。
mirror/protocol (protocol)
デフォルトでインストーラは、
Debian のミラーサイトからファイルをダウンロードするのに http
プロトコルを使用し、通常の優先度ではインストール中に ftp に変更できません。
このパラメータに ftp と設定すると、
インストーラに ftp を使用するように強制できます。
一覧から ftp ミラーを選択できず、
ホスト名を手入力しなければならないことに注意してください。
tasksel:tasksel/first (tasks)
kde-desktop タスクのような、
タスク一覧に表示されないタスクを選択するのに使用します。
さらなる情報は をご覧ください。
カーネルモジュールへパラメータを渡す
カーネル内にコンパイルされているドライバの場合、
カーネルのドキュメントに記載されている方法でパラメータを渡せます。
しかし、ドライバがモジュールとしてコンパイルされており、
インストールしたシステムの起動時に、
インストール時と比べてカーネルモジュールの読み込みが若干異なる場合、
通常の方法ではモジュールにパラメータを渡せません。
代わりに、インストーラが認識できる特殊文法を使って
適切な設定ファイルにパラメータを格納しなければなりません。
パラメータは実際にモジュールをロードする際に利用されます。
パラメータは自動的にインストールしたシステムに伝播します。
モジュールにパラメータを渡さなければならないというのは、
本当にまれな状況だということに注意してください。
ほとんどの場合、カーネルはシステムにあるハードウェアから得られる値を検出し、
適切な値を設定してくれます。
しかしある状況下では、未だにパラメータを手で設定しなければなりません。
モジュールにパラメータを設定する文法は以下のようになります。
module_name.parameter_name=value
1 つないし複数のモジュールに、複数のパラメータを渡す場合は繰り返してください。
例えば、古い 3Com のネットワークインターフェースカードで BNC (coax) を使用し、
IRQ 10 を設定する場合は、以下のようにします。
3c509.xcvr=3 3c509.irq=10
カーネルモジュールのブラックリスト化
時には、カーネルや udev が自動的にモジュールを読み込むのを防ぐために、
ブラックリストに載せる必要があるかもしれません。
目的の 1 つには、特定のモジュールが、
あなたのハードウェアで問題を起こす場合が挙げられます。
またカーネルに、同じデバイスに対して複数の異なるドライバがある場合もあります。
ドライバが衝突したり、間違ったドライバを先に読み込んでしまうと、
デバイスが正しく動作しない原因となります。
module_name.blacklist=yes
といった文法でモジュールをブラックリストに指定できます。
これでそのモジュールが /etc/modprobe.d/blacklist.local
にあるブラックリストに指定され、
インストール中・インストールしたシステムの双方で、
ブラックリストが有効になります。
インストールシステム自体が、
モジュールをまだ読み込んでいる可能性があることに注意してください。
エキスパートモードでインストールを行い、
ハードウェア検出時にモジュールの一覧からモジュールの選択を外すことで、
モジュールの読み込みを防げます。