live-boot(7) システム起動構成要素

説明

live-boot はブートプロセス中 (早期ユーザ空間) に Live システムを設定する構成要素を収録しています。

live-boot は initramfs-tools 用のフックで、例えば live-helper(7) で作成した Live システムをブートできる initramfs を生成するのに利用します。これには Live システムの ISO やネットワーク経由でブートするための tar アーカイブ、USB メモリ用のイメージ等があります。

これはブート時に root ファイルシステム (squashfs 等圧縮ファイルシステムのイメージであることが多い) が置かれている「/live」ディレクトリを収録する (読み取り専用の) メディアを検索します。見つけた場合は aufs を使って書き込み可能な環境を作成してシステムを起動します。

設定

live-boot はブートパラメータまたは設定ファイル経由で設定できます。

Live イメージで利用されるデフォルトの live-boot パラメータを設定する場合は lb_config(1) マニュアルページの --bootappend-live オプションを見てください。

カーネルパラメータ

live-boot はカーネルパラメータとして「boot=live」が利用された場合にのみ有効になります。

さらに、挙動に影響するブートパラメータが他にもいくつかあります。下記を見てください。

設定ファイル

live-boot は設定ファイルを利用して設定 (但し有効化しない) できます。この設定ファイルは root ファイルシステム自体 (/etc/live/boot.conf、 /etc/live/boot/*)、または Live メディア (live/boot.conf、 live/boot/*) に配置できます。

オプション

live-boot では以下のパラメータが現在有効です。
access=アクセス
物理的または視覚的に障害のあるユーザ向けのアクセシビリティレベルをセットします。アクセスに入るのは v1、v2、v3、m1、m2 のどれかでないといけません。v1=軽度の視覚障害、 v2=中程度の視覚障害、 v3=盲目、 m1=運動神経に些細な難あり、 m2=運動神経に中程度の難あり。
console=TTY,速度
「live-getty」オプションで利用するデフォルトのコンソールをセットします。例: 「console=ttyS0,115200」
debug
initramfs ブートプロセスの出力をもっと冗長にします。
debug=1 としてください
debug に値をセットしないとメッセージは表示されないかもしれません。
fetch=URL
httpfs=URL
指定した URL から squashfs イメージをダウンロードしてネットワーク経由でブートする別のやり方で、この取得方法ではイメージを RAM にコピーし、httpfs を使う方法では FUSE と httpfs2 を使ってイメージを適切な位置にマウントします。RAM へのコピーにはさらに多くのメモリが必要で、大きなイメージでは多少時間がかかるかもしれません。しかしその後はネットワークを必要としないため正常に動作する可能性が高くなり、それ以上サーバとやりとりする必要がないためブート後はそのシステムは高速に動作します。
busybox の現在の wget 及び DNS 解決の制限のために URL にはホスト名を使えず、IPアドレスにしか対応していません。
機能しない: http://example.com/path/to/your_filesystem.squashfs
機能する: http://1.2.3.4/path/to/your_filesystem.squashfs
また、そのため httpd の名前ベースのバーチャルホストからイメージを取得することは、httpd のそのホストの設定で同一のIPアドレスを共有している場合は現在不可能であることにも注意してください。
また、squashfs イメージの適切な位置にある Live ISO イメージも利用できます。
iscsi=サーバのIPアドレス[,サーバのポート];対象の名前
LUN (Logical Unit Number、論理ユニット番号) が iso またはディスクの Live イメージを指している iSCSI ターゲットからのブートで、指定されたターゲットは LUN のうち Live メディアらしきものから検索されます。iscsitarget ソフトウェアを使って iSCSI ターゲットを判定している場合の ietd.conf はこのようになります:
# iscsi= パラメータで指定したターゲットの名前
Target <ターゲットの名前>
  Lun 0 Path=<live-image.iso のパス>,Type=fileio,IOMode=ro
  # 複数のマシンのブートに使いたい場合は
  # Wthreads や MaxConnections のような一部の
  # パラメータを調整してみるのもいいかもしれません。
findiso=/イメージ/への/パス
.squashfs ファイルを通常検索する位置にある全ディスクから、指定した ISO ファイルを検索します (そのため fromiso=... で指定するデバイス名を知っている必要はありません)。
fromiso=/イメージ/への/パス
Live メディア上で利用可能な ISO イメージ内からファイルシステムを利用できるようにします。
ignore_uuid
検出したメディアに合う initramfs に埋め込まれた UUID の確認を一切行いません。initramfs のビルド時に LIVE_GENERATE_UUID=1 を設定して UUID を生成するように live-boot に指示しているかもしれません。
verify-checksums
指定するとブート中に Live メディアの MD5 サムを計算し、その Live メディアのルートディレクトリにある md5sum.txt 中の値と比較します。
ip=[デバイス]:[クライアントのIPアドレス]:[ネットマスク]:[ゲートウェイのIPアドレス]:[ネームサーバ] [,[デバイス]:[クライアントのIPアドレス]:[ネットマスク]:[ゲートウェイのIPアドレス]:[ネームサーバ]]
ブート時に設定するインターフェイスの名前とオプションを指定できます。dhcp (デフォルト) を使いたい場合は指定しないでください。将来のリリースでは公式のカーネルブートパラメータの仕様に倣って変更される (例えば ip=10.0.0.1::10.0.0.254:255.255.255.0::eth0,:::::eth1:dhcp) かもしれません。
ip=[読み込み元メディア]
この変数をセットすると dhcp 及び固定のネットワーク設定は単に飛ばされ、システムはメディアで事前に設定されている (設定されていないといけません) /etc/network/interfaces を代わりに利用します。
{live-media|bootfrom}=デバイス
この2つは等価で、どちらかを指定すると live-boot はまずこのデバイスについて読み取り専用のルートファイルシステムが存在するであろう「/live」ディレクトリを検索します。それで使えそうなものが見つからない場合は通常のブロックデバイスの走査が行われます。
実際のデバイス名を指定する代わりに「removable」というキーワードを使って、検索対象とする Live メディアを脱着可能なものだけに限定することができます。メディアを USB 大容量記憶装置だけにさらに限定したい場合は「removable-usb」というキーワードを使えることに注目してください。
{live-media-encryption|encryption}=暗号化の種類
live-boot はパスフレーズを質問することで暗号化する種類の rootfs をマウントできます。凝った Live システムをビルドするのに有用です :-)。これまでのところサポートしているのは loop-aes 暗号化を指示する「aes」です。
live-media-offset=バイト数
このようにして、上記で指定したまたは自動検出したデバイスの、指定バイト数だけずれた位置からイメージが開始することを live-boot に指示できます。他の ISO やイメージの中にある Live システムの ISO やイメージを見えないようにして「クリーン」なイメージを作成するのに有用かもしれません。
live-media-path=パス
メディア上の Live ファイルシステムへのパスをセットします。このデフォルト値は「/live」で、合わせてメディアを独自化していない限りこの値を変更すべきではありません。
live-media-timeout=秒数
「live-media=」により指定したデバイスがその処理をあきらめるまでの制限時間を秒数で指示します。
module=名前
デフォルトとなっているオプションのファイル「filesystem.module」(以下参照) を使う代わりに別のファイルを拡張子「.module」を外して指定することができます。これは Live メディアの「/live」ディレクトリに配置すべきです。
netboot[=nfs|cifs]
ネットワークマウントを行うことを live-boot に指示します。(オプションの「nfsopts=」で) パラメータ「nfsroot=」によりルートファイルシステムが置かれている場所を指定します。引数を付けない場合はまず cifs を試し、それが失敗した場合は nfs を試します。
nfsopts=
これを使って nfs オプションを指定できます。
nofastboot
このパラメータは /etc/fstab にあるファイルシステムのチェックがデフォルトで無効化されているのを無効にします。ハードディスクに静的ファイルシステムがあり、ブート時にそれをチェックさせたい場合はこのパラメータを使ってください。使わない場合はファイルシステムのチェックは飛ばされます。
nopersistence
「保持 (persistence)」機能を無効化します。ブートローダ (syslinux のようなもの) が保持機能を有効にしてインストールされている場合に有用です。
noeject
Live メディアを取り出すかどうか確認しません。
ramdisk-size
このパラメータにより独自の RAM ディスクサイズ (tmpfs マウント時の「-o サイズ」オプション) をセットできます。デフォルトでは RAM ディスクサイズはセットされていないため、マウント時のデフォルト値が適用されます (現在は利用可能な RAM の 50%)。toram を指定してブートした場合、このオプションは現在のところ効果がないことに注意してください
swap=true
このパラメータはローカルのスワップパーティションの利用を有効にします。
persistence
live-boot は保持用メディアのデバイスを調査します。このデバイスにはパーティション (GPT (GUID Partition Table、GUIDパーティションテーブル) の名前を正しく指定) やファイルシステム (ラベルの名前を正しく指定)、イメージファイル (ファイル名を正しく指定) を使えます。保存先は「persistence」(persistence.conf(5) 参照) という名前/ラベルになります。保存先のイメージファイルは「persistence」という名前になります。
persistence-encryption=種類1,種類2 ... 種類n
このオプションは保持用メディアのデバイス調査時に利用を許可する暗号化の種類を決定します。「none」が一覧にある場合は暗号化されていないメディアを許可します。「luks」が一覧にある場合は LUKS により暗号化されているメディアを許可します。暗号化されているメディアがデバイスにある場合はそのメディアの調査時にパスフレーズをユーザに質問します。デフォルト値は「none」です。
persistence-media={removable|removable-usb}
「removable」というキーワードを指定すると、live-boot は保持用パーティションを脱着可能なメディアからのみ検索します。メディアを USB 大容量記憶装置だけにさらに限定したい場合は「removable-usb」というキーワードを使えることに注目してください。
persistence-method=種類1,種類2 ... 種類n
このオプションは許可する保持用メディアの種類を決定します。「overlay」が一覧にある場合はオーバーレイと見なします (つまり「live-rw」と「home-rw」)。デフォルト値は「overlay」です。
persistence-path=パス
live-boot は保持用ファイルをパーティションのルートディレクトリから検索します。このパラメータを使ってパスを設定すると同一のパーティションの複数のディレクトリを保持用ファイルの保管先にできます。
persistence-read-only
ファイルシステムの変更は保持用メディアには残されません。特にオーバーレイとネットワーク経由のブート用の NFS マウントは読み取り専用でマウントされます。
persistence-storage=種類1,種類2 ... 種類n
このオプションは保持用メディアの調査時に対象とする保持用記憶装置の種類を決定します。「filesystem」が一覧にある場合はラベルが該当するファイルシステムを利用します。「file」が一覧にある場合は全ファイルシステムについてファイル名が該当するアーカイブやイメージファイルを調査します。デフォルト値は「file,filesystem」です。
persistence-label=ラベル
live-boot は保持用記憶装置の検索時に「persistence」の代わりにここで指定した「ラベル」を使います。「ラベル」はファイル名やパーティションのラベル、GPT の名前として有効な任意のものを使えます。
noeject
このオプションを使うと live-boot はメディアを取り出さず、ブート用メディアを削除するかユーザに質問することもなくリブートします。
showmounts
このパラメータを使うと live-boot は「/」で「/lib/live」上の (ほとんどの場合圧縮されている) ro ファイルシステムを提示します。これはインストール時にバイナリのパスを記憶する「mono」のようなアプリケーションで問題を起こす可能性があるためデフォルトでは有効にされていません。
silent
通常の quiet パラメータを付けてブートすると live-boot が出すほとんどのメッセージを非表示にします。「silent」を付けると全て非表示にします。
todisk=デバイス
このパラメータを追加すると、live-boot はルートファイルシステムをマウントする前に読み取り専用メディア全体を指定したデバイスにコピーしようとします。これには恐らく多くの RAM が必要となります。以後のブートではこの段階を飛ばして、今回そのデバイスで使ったのと同一の「live-media=デバイス」ブートパラメータを単に指定するようにしてください。
toram
このパラメータを追加すると、live-boot はルートファイルシステムをマウントする前に読み取り専用メディア全体をそのコンピュータの RAM にコピーしようとします。その読み取り専用メディアで利用している容量により、これには多くの RAM が必要となるかもしれません。
union=overlay|aufs
デフォルトで live-boot は overlay を利用します。このパラメータにより aufs に切り替えることができます。

ファイル (古い情報)

/etc/live.conf
一部の変数はこの (Live システム中の) 設定ファイルにより設定できます。
live/filesystem.module
この (Live メディア内の) オプションのファイルは「/live」ディレクトリ中のディスクイメージに対応するファイル名を空白文字または復帰文字で区切った一覧を収録します。このファイルが存在する場合はその中の一覧にあるイメージだけがルート aufs に統合され、その一覧の順に読み込まれます。このファイルの最初の項目が /overlay 直下で aufs の「最下位の」マウントポイント、この一覧の最後のファイルが /overlay 直下で aufs の「最上位の」マウントポイントとなります。このファイルがない場合は「/live」ディレクトリにあるイメージを英数字順に読み込みます。

ファイル

/etc/live/boot.conf
/etc/live/boot/*
live/boot.conf
live/boot/*
persistence.conf

ホームページ

live-boot 及び Live システムプロジェクトについてのさらなる情報は、<http://live-systems.org/> のホームページや <http://live-systems.org/manual/> のマニュアルにあります。

バグ

バグは <http://bugs.debian.org/> にあるバグ追跡システムに live-boot パッケージのバグ報告として提出するか、<[email protected]> にある Live システムのメーリングリスト宛てにメールを書くことにより報告できます。

作者

live-boot は Daniel Baumann さん <[email protected]> により書かれました。