4.3. SYSLINUX ブートローダーを設定する

SYSLINUX は、MS-DOS のフロッピーディスク上にインストールするブートローダーです。 \SYSLINUX.CFG という設定ファイルが指示する内容にしたがって、 フロッピーディスクからファイルを一つ、 Linux カーネルとしてロードします。

SYSLINUX では簡単なテキストインタフェースを用意しています。 これを使って、設定ファイルに定義してある、予め用意した設定の中から ロードするカーネルが選べるし、 カーネルに与えるパラメータを追加することもできます。

ISOLINUXPXELINUXSYSLINUX の変形版で、 CD-ROM と Intel の Preboot Execution Environment で使うものです。

SYSLINUX は、シリアルポートの速度については、幅広くサポートしていますが、 速度以外では、8 ビットデータ、 パリティ無し、1 ストップビットしかサポートしていません。 シリアルポートは、 COM1: から COM4: までをサポートしています。 たいていのブートローダーでもそうですが、 これを 0 から 3 までの数字に割り当てて、 ポート 0 とかポート 3 というように書きます。

SYSLINUX でシリアルポートをサポートする には、以下のコマンドを \SYSLINUX.CFG最初の行 に新しく追加します。

Figure 4-11. EBNF 記法による、 SYSLINUXserial コマンド構文

serial <空白> <シリアルポート> [ <空白> <速度> [ <空白> <syslinux_フロー制御> ] ]

この変数で使用している構文は、 Figure 2-7Figure 4-2、 さらに Figure 4-12 で使っているものと同じです。

Figure 4-12. EBNF 記法による、 SYSLINUXserial 変数

<空白> ::= ‘
<syslinux_フロー制御> ::= <16 進数字列>
<16 進数字列> ::= 0x<16 進数字><16 進数字><16 進数字>
<16 進数字> ::= 0 | 1 | … | 9 | a | b | … | f

<syslinux_フロー制御> 変数は RS-232 のステータスを管理するもので、 フロー制御信号はオプションです。ご自分のヌルモデムケーブルに ステータス信号やハンドシェーク信号が何も現れない場合は、 この変数を使わないでください。 <syslinux_フロー制御> の値は、 Table 4-1 にリストしてあるフロー制御の動作のうち、 望ましい値を 16 進数で追加すれば計算されます。

正しく結線したヌルモデムケーブルや、 正しい設定のモデムを使用するうえで必要なことは、 表中の “RS-232 の完全準拠に必要か?” の欄で示してあります。 これらの値の合計は 0xab3 になります。


Table 4-1. SYSLINUX のフロー制御ビットマップ

フロー制御の動作

16 進数値

以下の各信号の制御は RS-232 への完全準拠に必要か?

DTR をアサートする

0x001

必要

RTS をアサートする

0x002

必要

CTS のアサートを待つ

0x010

必要

DSR のアサートを待つ

0x020

必要

RI のアサートを待つ

0x040

不要

DCD のアサートを待つ

0x080

必要

CTS がアサートされない限り入力を無視する

0x100

不要

DSR がアサートされない限り入力を無視する

0x200

必要

RI がアサートされない限り入力を無視する

0x400

不要

DCD がアサートされない限り入力を無視する

0x800

必要


ここで設定したい、 9600bps, ポート 0, 完全な RS-232 ステータス信号、CTS/RTS のフロー制御といった内容は次のように書きます。

serial 0 9600 0xab3

Tip: この設定を使用すると、 モデムが電話で接続されたこと (あるいは、ヌルモデムケーブルを使っていれば、端末がつながったこと)を RS-232 のステータス信号が示すまで、 SYSLINUX は何も表示しないし、キーボードでタイプしたどんな文字も受け付けません。

お持ちのヌルモデムケーブルに RS-232 のステータス信号が無く、 無手順なら、以下のコマンドを使って下さい。

serial 0 9600

忘れないで下さい。 serial\SYSLINUX.CFG の中の最初の行でなければなりません。