Plamo Linux 4.2のシリアルコンソール経由でのインストール

[an error occurred while processing this directive]

 Plamo Linux 4.2のシリアルコンソールを利用してのインストールについて書きます。

Plamo LinuxのWEBページは http://www.linet.gr.jp/~kojima/Plamo/ です。また、4.2のCDイメージなどは ftp://ftp.linet.gr.jp/pub/Plamo/CD-Image/ から落とせます。

さて、シリアルコンソールからのインストールを実行するためにはインストーラの改造が必要となります。そのためには、実は予めどのディストリビューションでもよいのですが、Linuxが動いているマシンが必要となってしまいます。 「これから初めてLinuxをインストールするのに」と思っておられる方もいらっしゃると思います。ですので、改造したインストーラをアップしました。
bootdsk rootdsk.usb rootdsk.pcmcia です。これらはフロッピーで利用するためのものです。実際に改造前のオリジナルはCDROMの/at/fdディレクトリに入っています。 bootdskで起動し、デスクトップにインストールの場合はrootdsk.usbを、ノートなどでPCMCIAカードを利用する場合は、rootdsk.pcmciaを利用するのが良いでしょう。

ここにインストーラの改造の方法を書いておきます。上にも書きましたが、これはたぶんLinux上でしかできないと思います。と言うのは、Plamoのインストーラは、 Minixのファイルシステムを利用しています。Minixのファイルシステムは、Linuxからしかmountできないようです。FreeBSDでもできると良いのですが(もしかしてできるのかも)。

rootdsk.usbを
# mount -o loop rootdsk.usb /mnt
とループバックデバイスでマウント。
/mntのなかにrootdsk.usbの内容が入っています。ここにはinitrd.gzと言うファイルがあるだけです。これをgzipで解凍します。すると initrdが出てきます。これを再び、ループバックデバイスで適当な所へまうんとします。
# gzip -d initrd.gz
# mount -o loop initrd /work
と言う感じに。すると/workのなかには、sbin、bin、dev、etc等々initrdの中身が出てきます。このなかのdevのなかに、console、ttyS0と言うファイルがあります。これを変更します。
# mv /work/dev/console /work/dev/console.org
# ln -s /work/dev/ttyS0 /work/dev/console
とシンボリックリンクをはって終了です。

次にbootdskの改造ですが、(まあこれはやらなくてもインストールには問題ないのですが)、上と同じようにbootdskをmountします。 するとそのなかにmenu.lstと言うファイルがあります。これを書き換えます。書き換えた物を以下に貼っておきます。
------menu.lst------
defalut 0
timeout 30
serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1
terminal --timeout=30 serial console
title plamo-installer
kernel (fd0)/vmlinuz root=/dev/ram0 rw console=ttyS0,9600n8r
pause change root fd now
initrd (fd0)/initrd.gz
--------------------
これはブートローダのgrubの設定です。grubの設定は、このページの下に少し書きました。

次に実際のインストールですが、bootdskで立ち上げると、すぐにシリアルコンソールからメッセージが出てきます。最初からシリアルコンソールのキーボードで操作が可能です。 後はインストーラの指示に従って下さい。 loginプロンプトが出たらrootでloginして下さい。パスワードは要りません。 #プロンプトが出ます。 ここでsetup2と入力するとインストールメニューが出てきます。これにしたがってインストールを実行します。 また、Plamoをインストールするときは、予めこれからインストールするための領域(Linuxパーティションや、Swapパーティション)を作って置いた方が楽にインストールが できると思います。もちろんsetup2を起動しても、ここからパーティションの作成はできるようですが、シリアルコンソールで とくにスクリーンリーダを利用しているとパーティションの作成がややこしいのでめんどうだと思います。 と言うことで、setup2を起動する前に、コマンドラインから
# fdisk /dev/hda
と起動してパーティションを作成します。

インストール後は、/etc/inittabのファイルのなかの
#s1:12345:respawn:/sbin/agetty 19200 ttyS0 vt100
の行頭の#をはずし、19200を9600にします(シリアルのスピードを9600にしたほうが無難でしょう。)。 もちろんこの/etc/inittabを編集するときは、インストール直後では、rootのアカウントしかなく、またtelnet等も有効ではありません。つまり本体のキーボードからでしかrootでloginできるだけです。なので、 端末を利用している私たちは、もういちどインストーラを起動し、PlamoをインストールしたHDDをmountして、inittabを編集しなければなりません。ですがあたりまえですがインストーラからでは vi等のエディタは使えません。そこで、dosのフロッピーをmountして、そこにinittabをコピーして、他のPC等で編集して戻して下さい。つまりこういうこと。
インストーラで立ち上げてから
# mount /dev/hda1 /mnt(インストール後のHDDをmount)
# mkdir /floppy
# mount /dev/fd0 /floppy
# cp /mnt/etc/inittab /floppy/
というかんじです。編集後、同じようにフロッピーなどをmountして、inittabを上書きコピーです。

ただ、DOSのフロッピーを一般的にmountするときには
# mount -t msdos /dev/fd0 /floppy
と-t msdosと言うオプションを付けるのですが、自動的に的確にmountされてしまうのか、オプション無しでだいじょうぶでした。逆にこのオプションを指定すると、エラーになってしまいました。

後、インストールのときに、「インストールもとの選択」と言うところで、私の場合はideのcdromを選ぶのですが、選ぶと「/dev/hdcをスキャン中」とメッセージが出て、ハングアップしたようになってしまいます。結局、私のところでは、5分弱このままで、最後には 「/dev/hdcにドライブがみつかりました。」と出て、CDROMが認識されました。なぜこんなに時間がかかったのかは不明です。4.2の前の4.03のときは このような症状はありませんでした。他のPCでも試したのですが同じでした。 まあ結局忍耐強くまっていれば、認識して問題なくインストールができているようなので よしとしたのですが、やっぱりちょっときもちわるいですね。

最後にGRUBの設定を書いておきます。Linuxのブートローダとして、GRUB、LILOが有名です。 が最近はGRUBが多く使われるようになりました。PlamoでもGRUBを利用してブーとします。GRUBの設定により、Plamoのブートの最初からシリアルに出力が可能となります。GRUBの設定ファイルは
/etc/grub.conf
です。シリアルから出力が出る設定の変更を加えた私のgrub.confを載せておきます。
------grub.conf------
# GRUB configuration file
# generated by 'grubconfig'
#
# Start GRUB global section
default 0
timeout 10
fallback 1
#splashimage (hd0,0)/boot/grub/grubimg.xpm.gz

serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1
terminal --timeout=10 serial console

title Plamo-4.2 (hda1)
root (hd0,0)
kernel (hd0,0)/vmlinuz root=/dev/hda1 ro vga16 unicon=eucjpconsole=tty0 console=ttyS0,9600n8r
---------------------
簡単に説明を書きますと例えばCOM2のシリアルから利用したければ
--unit=0
を --unit=1
とttyS0をttyS1に変更する。 また、スピードも9600のほうが良いと思います。GRUBのシリアルの設定は以下のところを見て下さい。私もここを真似ただけです。
grub.conf 設定例
トップページに戻る