Ab.の日記: USL-5P いぢり
以下、おぼろげな記憶に頼った作業メモ
- まず本体をバラして、基板上にある穴に RS-232C ドライバチップを接続してシリアルコンソール用の RS-232C ポートを作成。 (職場の親切な方が半田付けしてくれました)
- 念のため付属してきたCFのイメージを Linux 機で保存。
この時13in1みたいなUSBのカードリーダーで接続するとMBRの読み書きが上手くできず、色々試したところ CF-IDE コンバーター経由でこれdo台 twinで接続した場合ならちゃんとパーティションテーブルが読み出せたため、以後の作業にはこれ do台 twin を使用。
(CFのみしか刺さらないカードリーダーなら、ここらへんは大丈夫なのかもしれない)
# dd if=/dev/sda | bzip2 > USL-5P-128MCF-image.bz2
- そのまま Linux 機で MicroDrive の partitioning.
こんな感じに(USL-5P 上から sfdisk -l /dev/hda)
Device Boot Start End #cyls #blocks Id System
/dev/hda1 * 0+ 507 508- 2048224+ b W95 FAT32
/dev/hda2 508 939 432 1741824 83 Linux
/dev/hda3 940 991 52 209664 82 Linux swap / Solaris
/dev/hda4 0 - 0 0 0 Empty頭の2Gが fat32 なのは、貧乏性なので USL-5P で使用しないときは例えばデジカメのストレージとして転用できたりしないかなぁという目論見です。 MicroDrive が刺さるデジカメは持ってませんが。
- LANDISKで漕ぎいでな~♪さんの所からDebian Sarge のシステムを一式頂いてきて、 アーカイブを fat32 のパーティションに保存。 この時、もともとの USL-5P のシステムには bzip2 は入っていないので、bunzip2 して tar の状態にして放り込んでおかないとほぐせなくて悲しい思いをする。
- USL-5P に MicroDrive を接続。シリアルコンソールで root で入り、/dev/sda として認識された MicroDrive をmkfs.ext3 /dev/sda2 ; mkswap -v1 /dev/sda3。
- ext3 になった /dev/sda2 をどこかに適当に mount (例えば /tmp/cf)。
base-sh4-for-landisk-20051215.tar を展開、debian26 ディレクトリの下に出来るので mv で持ち上げておく。
さらに landisk-tools-20051110.tgz も展開しておく。 - 展開した先に lilo の conf ファイルを /tmp/cf/etc/lilo_sda.conf に作成。
linear
boot=/dev/sda
disk=/dev/sda
bios=0x80
timeout=50
default=linux
install=/boot/boot.b-selk
image=/boot/vmlinuz-2.6.14-sh
label=linux
root=/dev/hda2
read-only
append="mem=64M console=ttySC1,9600"そして、landisk-tools-20051110.tgz の方に入っていた lilo で書き込む。 (USL-5P 付属の lilo では hda1 以外からは起動できないようなので)
/tmp/cf/usr/sbin/lilo -r /tmp/cf -C /etc/lilo_sda.conf
- /etc/inetd.conf から telnetd を消す
- /etc/fstab 編集
# UNCONFIGURED FSTAB FOR BASE SYSTEM
/dev/hda2 / ext3 defaults,errors=remount-ro 0 1
proc /proc proc defaults 0 0
/dev/hda3 swap swap defaults 0 0 - /etc/securetty の ttySC0 を ttySC1 に変更
- shutdown して MicroDrive に差し替えて起動。
- root で login して /etc/network/interfaces と /etc/resolv.conf を設定し、/etc/init.d/network restart かなんかして apt-get update, apt-get upgrade とか。
apt-get upgrade で kernel を新しくされちゃった時? は忘れずに lilo しておかないと起動できなくなったりするので注意。
ということで現状は apt-get install ssh ; apt-get remove telnetd して sshd 立ててこんな感じです。
# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hda2 1714448 229852 1397508 15% /
tmpfs 31160 0 31160 0% /dev/shm
# free
total used free shared buffers cached
Mem: 62324 17044 45280 0 1512 9356
-/+ buffers/cache: 6176 56148
Swap: 209656 0 209656
これで一応、まぁ普通の環境?になったんだけど、Internet にさらして鯖機のシリアルコンソールサーバーにしてしまうのはちょっと怖いなぁ。
やるとすると、
- 完全に read only な directory tree に chroot した sshd を動かし、internet 側から入ると /dev 以下のデバイスファイルもほとんど触れない状態にする。
- chroot された環境からもう一度、今度は one time password で login すると鯖機のシリアルコンソールにつながるデバイスファイルが触れる環境になる
くらいしないと…
最終的にはその後 MicroDrive のシステムのうちコンソールサーバーとして動かすのに必要なファイルだけを 256M CF にコピーしてそちらで運用、という所まで出来れば完璧なのだけれども、まだ道は遠い、ような気がします。
USL-5P いぢり More ログイン