C.9. シリアルコンソール用のブートディスクを作る

アップグレードがうまくいったら、 シリアルコンソールをサポートするブートフロッピーを作って下さい。これは anaconda インストーラを使ったり、 Section 2.1 で説明したのと同じ方法でブートディスクを作れば一番簡単にできます。 Section 4.3で説明したように、 設定ファイル \SYSLINUX.CFG を修正して、 ブートローダーがシリアルコンソールを使うようにします。そして最後に、 Section 5.3 で説明したように、 シリアルコンソールを使うようにカーネルを設定します。

あるいは、自分専用の mkbootdiskRPM パッケージを作って、 そこに修正したシェルスクリプト /sbin/mkbootdisk のコピーを入れるという方法もあります。

ブートフロッピーの \SYSLINUX.CFG ファイルは、 Figure C-3 にあるコードを使って、 mkbootdisk で書いています。 このコードは、シリアルコンソールを使うように変更します。その結果は、 Figure C-4 に示してあります。

Figure C-3. Red Hat Linux 7.2 の mkbootdisk から抜き出す。 これで SYSLINUX.CFG を作る

cat > $MOUNTDIR/syslinux.cfg <<EOF
default linux
prompt 1
display boot.msg
timeout 100
label linux
  kernel vmlinuz
  append $INITRDARG root=$rootdev
EOF

Figure C-4. mkbootdisk から抜き出して変更したもの。 シリアルコンソールを使う SYSLINUX.CFG を作る

cat > $MOUNTDIR/syslinux.cfg <<EOF
serial 0 9600
default linux
prompt 1
display boot.msg
timeout 100
label linux
  kernel vmlinuz
  append $INITRDARG root=$rootdev console=tty0 console=ttyS0,9600n8
EOF

これで、作成したブートフロッピーはシリアルコンソールを使います。

代替案として抜群に良いのは、ブートフロッピーを作る時に、 カーネルパラメータとシリアルポート、 それに速度とフロー制御が指定できるように、 パラメータを mkbootdisk に追加することだろうと思います。この拡張要件については、 Red Hat Bugzilla のエントリ 59351 を参照して下さい。