HOME/ NetBSD/ OpenBlockS/ install
OpenBlockSでNetBSDをインストールするページ。
ここではバイナリファイルからNetBSD/mpc860をインストールするページです。
バイナリファイルの作成方法ならbuildの方法を、 バイナリファイルをダウンロードしたければダウンロー ドのページを参照してください。
ここではNetBSD/i386を使用して話を進めます。
バイナリファイル一式を用意して、展開します。
バイナリファイルは/usr/tmpに存在し、展開先は/usr/MPC860ということで話を進めます。
# mkdir /usr/MPC860 # cd /usr/MPC860 # tar xvzf /usr/tmp/kern-MPC860.tgz # tar xvzf /usr/tmp/base.tgz # tar xvzf /usr/tmp/comp.tgz # tar xvzf /usr/tmp/etc.tgz # tar xvzf /usr/tmp/games.tgz # tar xvzf /usr/tmp/man.tgz # tar xvzf /usr/tmp/misc.tgz # tar xvzf /usr/tmp/text.tgz
gamesなど不要だと思うファイルは展開しなくても構いません。すくなくともbase, etcは必要なはずです。
NetBSD/mpc860ではインストールのためにネットワークが必須となります。
まずはbootpの設定です。
ここではbootpサーバに使ったマシン (マシン名r1) のIPアドレスは 192.168.100.36として話を進めます。
bootpの設定は/etc/bootptabを編集することで行います。ファイルが存在しな ければ自分で作成する必要があります。
bootptabの例を以下に示します。
ppr# cat /etc/bootptab obs.tokuda.net:\ :ht=ether:\ :ha=00806D4729D5:\ :ip=192.168.100.60:\ :sm=255.255.255.0:\ :hn:\ :bf=netbsd:\ :bs=auto:\ :rp=/usr/MPC860:
指定した項目の意味は次のとおりです。
bootpを有効にするために>/etc/inetd.confを編集します (25行目)。
bootps dgram udp wait root /usr/sbin/bootpd bootpd
設定を有効にするために、inetdにHUPシグナルを送ります。
# kill -HUP `cat /var/run/inetd.pid`
最近はinetdを起動しないことも多いので コマンドラインからbootpdを直接起動しても良いでしょう。
# bootpd -d 10
ちなみに上の例ではデバッグオプションを指定して起動しています。 inetd経由でうまく動かないようなら手動でbootpdを起動するのも有効です。
ルートファイルシステムである/usr/MPC860がマウントできるように NFSの設定を行います。
NFSの設定は/etc/exportsで行います。私は面倒なので/usr 以下すべてマウントできるような設定にしてしまいました。
# cat /etc/exports /usr -alldirs -maproot=root 192.168.100.60
OpenBlockSのIPアドレスを192.168.100.60にするので、 OpenBlockSからのアクセスを許可する設定です。
手動でNFSサーバを起動しても良いのですが、 /etc/rc.confに次に示す設定を加えてリブートします。
nfs_server="YES" rpcbind="YES" mountd="YES"
kernelをロードするためのboot loaderをインストールします。
まず、OpenBlockS前面にある7セグLEDの近くにあるディップスイッチの左側を 手前に、右側を奥にして、ファームウエアのアップデートモードにします。
次にboot loaderであるbootをOpenBlockSに転送します。 転送プログラムはOpenBlockSに添付されているCD-ROMのtcpdwl.cをコンパイルした ものを使用します。
tcpdwl.cのコンパイルとboot loaderの転送のコマンド例を次に示します。
# gcc -o tcpdwl tcpdwl.c # ./tcpdwl -v 192.168.100.60 /usr/src/sys/arch/mpc860/stand/boot/obj/boot
bootをOpenBlockSに転送する作業は一回だけです。
また、ファームウェアの更新に関してはぷらっとホームのWebサイト ( ファームウェアアップデート手順) も御覧ください。
ファームウェアを書き換えても大丈夫? いざとなればLinuxに戻せる? と心配かもしれません。
ご安心ください、元のOpenBlockSに戻したければ Linux用のファームウェアにアップデートすれば問題なく戻ります (実験して確認済み)。
deviceファイルを作成する
# cd /usr/MPC860/dev # ./MAKEDEV all
/usr/MPC860/etc/fstabがないとシングルユーザモードに落ちるので作成します。
とりあえず/usr/MPC860/etc/fstabがあれば中身が空ででも動くので、
# cd /usr/MPC860/etc # touch fstab
のようにしても良いですが、ちょっとしたプログラムをmakeしても out of memoryになるのでswapファイルを用意した方が良いでしょう。 内蔵ディスクもないわけですからNFS上にswapを置くことになります。。
NFS上にswapを作る場合には、なにはともあれswap用のファイルを作成します (swapというひねりのないファイル名)。
# dd if=/dev/zero of=/usr/MPC860/swap.img bs=1024k count=100
作成したswap.imgファイルはNFSでマウントされるので マウント先のディレクトリを作成します。
# mkdir -p /usr/MPC860/swap
作成したswap.imgファイルを/swapにマウントするようなfstabを作成します。
192.168.100.37:/usr/MPC860 / nfs rw 0 0 192.168.100.37:/usr/MPC860/swap.img none swap sw,nfsmntpt=/swap 0 0
次に、bootした後の設定を行います。
まずは/usr/MPC860/etc/rc.confの修正です。 18行目のrc_configuredをYESにして、 IPアドレスなどのネットワーク設定を追加します。
17 # 18 rc_configured=YES 19 20 # Add local overrides below 21 # 22 hostname="obs.home.tokuda.net" 23 ifconfig_fec0="192.168.100.60" 24 defaultroute="192.168.100.1"
ftpとtelnetぐらいはできるように/usr/MPC860/etc/inetd.confを修正しましょう (下の例では7,9行目)。
inetd.conf ---- 7 ftp stream tcp nowait root /usr/libexec/ftpd ftpd -ll 8 #ftp stream tcp6 nowait root /usr/libexec/ftpd ftpd -ll 9 telnet stream tcp nowait root /usr/libexec/telnetd telnetd 10 #telnet stream tcp6 nowait root /usr/libexec/telnetd telnetd
telnet経由のrootのログインを許可するために/usr/MPC860/etc/ttysを修正します (下の例では17から19行目)。
ttys ---- 16 tty07 "/usr/libexec/getty std.9600" unknown off secure 17 ttyp0 none network off secure 18 ttyp1 none network off secure 19 ttyp2 none network off secure 20 ttyp3 none network
これで一通りの設定は完了です。OpenBlockSに電源をいれてみましょう。
おっとその前に、OpenBlockSのRS232Cポートに接続しておきましょうね。tip com0あたりで良いでしょう。
で、telnetしてみましょう。