Jump to contentJump to page navigation: previous page [access key p]/next page [access key n]
適用先 openSUSE Leap 15.7

C 高度な linuxrc オプション Edit source

linuxrc はカーネルが読み込まれた直後、 AutoYaST やその他のステージが動作するよりも前に動作する小さなプログラムです。このプログラムはインストール向けにシステムの準備を行います。このプログラムはモジュールの読み込みのほか、インストール済みのシステムの起動やレスキュー (救出) システムの起動、そして YaST の操作ガイドなどの機能を提供します。

注記
注記: AutoYaST と linuxrc の設定が等価ではない件について

linuxrc の設定項目によっては、 autoyast.xml ファイル内で記述する AutoYaST の設定項目と偶然に名前が一致しているものがあります。ですが、これは単なる偶然であって、 linuxrc と AutoYaST の設定が同一というわけではありませんし、取り得る値も場合によっては異なります。たとえば AutoYaST には self_update という設定がありますが、これを 1 に設定すると、もう 1 つの設定である self_update_url が読み込まれ、解釈されます。 linuxrc にも同じ self_update という設定がありますが、こちらの場合は 0 もしくは URL を指定します。

このようなことから、 AutoYaST のパラメータを linuxrc にそのまま渡してはなりません。このようにしてしまうと、ほとんどの場合において予期しない結果になってしまいます。

linuxrc がマシンにインストールされていれば、 /usr/share/doc/packages/linuxrc/ ディレクトリ内に linuxrc に関する情報が書かれたファイルがあります。それ以外にも、 https://ja.opensuse.org/SDB:Linuxrc でも情報が提供されています。

注記
注記: インストール済みのシステムでの linuxrc の実行について

linuxrc をインストール済みのシステムで動作させた場合は、インストール済みのシステムを破壊することがないよう、少し異なる動作になります。そのため、インストール済みのシステムでは全ての機能をテストすることができません。

なお、 linuxrc のバイナリファイルをできる限り小さくまとめたい目的により、ライブラリとその他のファイルはバイナリファイル内に全て組み込まれています。このような構造により、初期 RAM ディスク (initrd) 内で動作させるような場合でも、共有ライブラリを別途インストールする必要がなくなっています。

C.1 linuxrc へパラメータを渡す方法 Edit source

linuxrc を手動モードで動作させた場合を除いて、 linuxrc を動作させると info ファイルを検索する処理を行います。 info ファイルはまず外付けストレージ (USB メモリなど) 内のルートディレクトリ (/info) を検索し、そこに存在しなかった場合は initrd 内のルートディレクトリを検索します。その後、カーネルのコマンドラインを処理してパラメータを取得します。なお、 linuxrc が読み込むべき info ファイルは、 info というコマンドラインパラメータで変更することができます。また、 linuxrc でカーネルのコマンドラインを読み込まないように設定したい場合 (たとえば linuxrc 側でも解釈されてしまうようなパラメータをカーネルに指定したい場合) は、 linuxrc=nocmdline を設定してください。

linuxrc/linuxrc.config と呼ばれるファイルを常に検索して処理します。このファイルには必要な既定値を設定しておいてください。また、一般的には info ファイルを使用したほうがよいでしょう。なお、 /linuxrc.config ファイルは info ファイルよりも先に読み込まれるほか、手動モードであっても読み込まれます。

C.2 info ファイルの書式 Edit source

# で始まる行はコメント行です。また、項目は下記の書式で記述します:

キー: 

なお、 は行の終わりまでを読み込む仕組みであることから、行末にスペースが入っていてもかまいません。また、 キー は大文字と小文字を区別しません。

linuxrc の設定はカーネルのコマンドラインからも設定することができます。カーネルのコマンドラインで設定する場合は、 キー= の書式となります。ただし、カーネルのコマンドラインではスペースはパラメータの終わりとみなされます。

下記に主なキーと値の例を示しています。全ての linuxrc パラメータの一覧を読みたい場合は、 https://ja.opensuse.org/SDB:Linuxrc をお読みください。

表 C.1: 高度な linuxrc のキーワード

キー: 値の例

説明

addswap: 0|3|/dev/sda5

0 を指定すると、スワップ領域に関する問い合わせを行いません。正の整数 n を指定すると、 n 番目のスワップパーティションを有効化します。パーティション名を指定すると、指定したスワップパーティションを有効化します。

autoyast: ftp://AutoYaST_ファイル

自動インストールファイルの場所を指定し、自動インストール機能を有効化します。詳しくは AutoYaST の制御ファイルの場所 をお読みください。

bootptimeout: 10

BOOTP リクエストに対するタイムアウト (この例では 10 秒) を指定します。

bootpwait: 5

ネットワークの有効化から BOOTP の開始を行うまでの待機時間 (この例では 5 秒) を指定します。

display: color|mono|alt

メニューの色スキームを指定します。

exec: コマンド

コマンド を実行します。

forceinsmod: 0|1

insmod コマンドを実行する際、 -f オプションを付けて強制的に実行します。

forcerootimage: 0|1

インストールシステムを RAM ディスク内に読み込むようにします。

ifcfg: ネットワーク設定

ネットワークを設定して開始します。詳しくは C.3項 「高度なネットワーク設定」 をお読みください。

insmod: モジュール

モジュール で指定したモジュールを読み込みます。

install: URL

URL で指定したリポジトリからインストールを行います。 URL の書式については https://ja.opensuse.org/SDB:Linuxrc#パラメータ一覧 をお読みください。

keytable: jp106

読み込むべき仮想コンソールのキーボードマップを指定します。

language: ja_JP

インストール時にあらかじめ選択する言語を設定します。

loghost: 10.10.0.22

syslog (UDP ポート番号 514) を介してリモートにログを書き込むようにします。

loghost: @10.10.0.22

syslog (TCP ポート番号 514) を介してリモートにログを書き込むようにします。

memloadimage: 50000

空きメモリ量が指定した値 (単位: キロバイト, この例では 50000 KB) より多い場合、インストールシステムを RAM ディスクに読み込むようにします。

memlimit: 10000

空きメモリ量が指定した値 (単位: キロバイト, この例では 10000 KB) より少ない場合、スワップ領域を追加すべきかどうかを尋ねるようにします。

memYaST: 20000

空きメモリ量が指定した値 (単位: キロバイト, この例では 20000 KB) より少ない場合、 YaST をテキストモードで動作させるようにします。

memYaSTText: 10000

空きメモリ量が指定した値 (単位: キロバイト, この例では 10000 KB) より少ない場合、 YaST を開始する前にスワップ領域を追加すべきかどうかを尋ねるようにします。

proxy: http://10.10.0.1:3128

HTTP プロキシサーバを指定します。書式に関する詳細は https://ja.opensuse.org/SDB:Linuxrc をお読みください。

rescue: 1|nfs://server/dir

レスキュー (救出) システムを読み込みます。 URL を指定する場合は、レスキューイメージの場所を明示的に指定します。

rescueimage: /suse/images/rescue

レスキュー (救出) システムのイメージの場所を指定します。

rootimage: /suse/images/root

インストールシステムのイメージの場所を指定します。

textmode: 1

YaST をテキストモードで動作させるかどうかを指定します。

usbwait: 4

USB モジュールの読み込み後に待機する時間を秒単位で指定します。

y2confirm

制御ファイル内の confirm パラメータを上書きするための指定で、インストールの提案時に確認を行うように設定します。

C.3 高度なネットワーク設定 Edit source

linuxrc に対して hostip , nameserver , gateway のようなパラメータを指定した場合でも、ネットワークは必要な場合 (たとえば SSH や VNC 経由でインストールを行う指定をしている場合など) にしか開始されません。これは、 autoyastlinuxrc のパラメータではないためで、 linuxrc から YaST にそのまま渡されるためです。そのため、 AutoYaST のプロファイルとしてリモートの場所を指定しても、ネットワークが自動的に有効化されることは ありません

そのため、ネットワーク機能を使用する場合は、明示的に有効化する必要があります。ネットワークを明示的に有効化するには ifcfg パラメータを使用します。 ifcfg/etc/sysconfig/network/ifcfg-* ファイルに含まれる内容を直接制御することができます。

DHCP を使用する場合の設定

DHCP を使用する場合は、下記のような書式を使用します:

ifcfg=インターフェイス名=DHCP*,オプション_1=値_1,オプション_2=値_2

ここで、 インターフェイス名 にはインターフェイスの名前を指定します。 eth0 のように明示的に指定することができるほか、 eth* のように指定すると、全てのインターフェイスをまとめて指定することができます。また、 DHCP* には dhcp (IPv4 および IPv6 での DHCP), dhcp4 (IPv4 のみでの DHCP), dhcp6 (IPv6 のみでの DHCP) のいずれかを指定します。

たとえば eth0 に対して DHCP を設定するには:

ifcfg=eth0=dhcp

全てのインターフェイスに対して DHCP を設定するには:

ifcfg=eth*=dhcp
固定のアドレスを使用する場合の設定

固定アドレスを使用する場合は、下記のような書式を使用します:

ifcfg=インターフェイス名=IP_リスト,ゲートウエイリスト,ネームサーバリスト,ドメイン検索リスト,\
オプション=値_1,...

ここで、 インターフェイス名 にはインターフェイスの名前を指定します。 eth0 のように明示的に指定することができるほか、 eth* のように指定すると、最初に見つかったデバイスを使用します。その他のパラメータは上記の順序で指定する必要があります。たとえば下記のようになります:

ifcfg=eth0=192.168.2.100/24,192.168.5.1,192.168.1.116,example.com

パラメータに複数のアドレスを指定したい場合は、アドレス間をスペースで区切り、かつ文字列全体を引用符で括ってください。たとえば下記の例では、 2 つのネームサーバと 2 つのドメイン検索リストを指定しています。

ifcfg="eth0=192.168.2.100/24,192.168.5.1,192.168.1.116 192.168.1.117,example.com example.net"

詳しくは https://ja.opensuse.org/SDB:Linuxrc をお読みください。

このページを印刷