2015/12/18

VAXstation3100m30にディスクレス環境としてOpenBSD/vax 5.7をインストール

VAXstation3100m30にディスクレス環境としてOpenBSD/vax 5.7をインストールしました。ディスクレス環境を使えば、複数のOSや異なるバージョンを切り替えて使うことが容易になります。しかしローカルにファイルを持たないことで性能上の悪影響があるかもしれません。これについては後で検証してみようと思います。

ディスクレス環境を構築するためには以下の準備が必要です。
  • ローカル環境にインストールした場合と同様に、mopd、rarpd、bootparamd、NFSの設定をおこないます。
  • ディスクレス環境を提供するサーバにファイルを展開します。ここではサーバにNetBSD/i386 6.1.5を使いました。
まずサーバでOpenBSD/vax 5.7の配布ファイルを展開します。
# find /usr/local/OpenBSD/5.7/vax -type f
/usr/local/OpenBSD/5.7/vax/install57.iso
/usr/local/OpenBSD/5.7/vax/INSTALL.vax
/usr/local/OpenBSD/5.7/vax/SHA256
/usr/local/OpenBSD/5.7/vax/SHA256.sig
/usr/local/OpenBSD/5.7/vax/base57.tgz
/usr/local/OpenBSD/5.7/vax/boot.mop
/usr/local/OpenBSD/5.7/vax/bsd
/usr/local/OpenBSD/5.7/vax/bsd.rd
/usr/local/OpenBSD/5.7/vax/cd57.iso
/usr/local/OpenBSD/5.7/vax/comp57.tgz
/usr/local/OpenBSD/5.7/vax/floppy57.fs
/usr/local/OpenBSD/5.7/vax/game57.tgz
/usr/local/OpenBSD/5.7/vax/index.txt
/usr/local/OpenBSD/5.7/vax/man57.tgz
/usr/local/OpenBSD/5.7/vax/xbase57.tgz
/usr/local/OpenBSD/5.7/vax/xfont57.tgz
/usr/local/OpenBSD/5.7/vax/xserv57.tgz
/usr/local/OpenBSD/5.7/vax/xshare57.tgz
# cd /usr/local/diskless/OpenBSD-5.7/vax/vs3130ob
# find /usr/local/OpenBSD/5.7/vax -type f -name '[^x]*.tgz' | xargs -n1 tar xfpz
# install -m 0555 /usr/local/OpenBSD/5.7/vax/bsd ./bsd
# tar xpfz usr/share/sysmerge/etc.tgz
展開したディレクトリで変更を加えます。ここでは、サーバ側のディレクトリ/usr/local/diskless/OpenBSD-5.7/vax/vs3130obが、ディスクレス環境でクライアントとなるOpenBSD/vaxのルートディレクトリになります。
  1. コンソールデバイスを作成します。
    # mknod dev/console c 0 0 
  2. タイムゾーンを設定します。ここではシンボリックリンクを張るので、リンク元が絶対パス指定されていても、これはサーバ側のファイルを指定しているわけではありません。
    # ln -sf /usr/share/zoneinfo/Asia/Tokyo etc/localtime
  3. スワップファイルを作っておきます。
    # mkdir  /usr/local/diskless/OpenBSD-5.7/vax/vs3130ob/swap
    # dd if=/dev/zero of=/usr/local/diskless/OpenBSD-5.7/vax/vs3130ob.swap bs=1m count=64
  4. etc/hostsに必要なエントリを適宜追加しておきます。
  5. etc/mynameを編集してホスト名を定義します。
    # echo 'vs3130ob.******.jp' > /usr/local/diskless/OpenBSD-5.7/vax/vs3130ob/etc/myname
  6. etc/resolv.confを編集して必要な情報を定義します。
    domain ******.jp
    nameserver 192.168.1.1
  7. etc/fstabを編集します。スワップの設定があると起動できなかったのでコメントにしています。
    #192.168.1.222:/usr/local/diskless/OpenBSD-5.7/vax/vs3130ob.swap        none    swap sw,nfsmntpt=/swap
    192.168.1.222:/usr/local/diskless/OpenBSD-5.7/vax/vs3130ob             /       nfs  rw 0 0
以上の設定が済んだらシングルユーザモードで起動し、デバイスファイルを作成します。
>>> b esa0
-ESA0
>> OpenBSD/vax boot [1.18] <<
>> Press enter to autoboot now, or any other key to abort:  5
Press '?' for help
> boot -s
Trying BOOTPARAMS
boot: client IP address: 192.168.1.103
boot: client name: vs3130ob.sala244.toyonaka.osaka.jp
root addr=192.168.1.222 path=/usr/local/diskless/OpenBSD-5.7/vax/vs3130ob
1996668+423176 [72+135472+119592]=0x28d2c0
[ using 255548 bytes of bsd ELF symbol table ]
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2015 OpenBSD. All rights reserved.  http://www.OpenBSD.org

OpenBSD 5.7 (GENERIC) #89: Tue Mar 10 14:14:37 MDT 2015
    deraadt@vax.openbsd.org:/usr/src/sys/arch/vax/compile/GENERIC
VAXstation 3100/m{30,40} [0A000004 04010002]
cpu: KA41/42
cpu: Enabling primary cache, secondary cache
real mem = 16654336 (15MB)
avail mem = 13168640 (12MB)
(略)
root on 192.168.1.222:/usr/local/diskless/OpenBSD-5.7/vax/vs3130ob
swap on 192.168.1.222:/usr/local/diskless/OpenBSD-5.7/vax/vs3130ob.swap
Enter pathname of shell or RETURN for sh:
sh: No controlling tty (open /dev/tty: No such file or directory)
sh: warning: won't have full job control
# fsck -p
# mount -a
# df
Filesystem                                        512-blocks      Used     Avail Capacity  Mounted on
192.168.1.222:/usr/local/diskless/OpenBSD-5.7/vax/vs3130ob  107531316  12201228  89953524    12%    /
# mount
192.168.1.222:/usr/local/diskless/OpenBSD-5.7/vax/vs3130ob on / type nfs (v3, udp, timeo=100, retrans=101)
# cd /dev
# sh MAKEDEV all
# exit
これでVAXstation3100m30にディスクレス環境のOpenBSD/vax 5.7が出来ました。

0 件のコメント:

コメントを投稿