戻る | 進む | 目次

Diskless NetBSD HOW-TO, mop サーバーの設定

DEC の独占的な MOP (Maintenance Operations Protocol) は、さまざまなネットワークタスクを扱うのに使われます。 MOP は 多くの VAX ワークステーションの ブート ROM に入っていて、ディスクレスサーバーからカーネルをロードするのに使うことができます。 MOP は TCP/IP ではないので、 ルーターを超えることができません (よって、クライアントとサーバーは同一サブネット上に有る必要があります)。 これはサーバーが未規定のデータをイーサネットに送信できる デバイスドライバーを持っている必要があると言うことを意味します。

最初に、ブートローダーのコピーを手に入れる必要があります。 これは NetBSD 配布物中に含まれています: installation/netboot/boot

すべての mop の実装は送信するブートローダーが /tftpboot/mop/ ディレクトリーに 有ることを想定しています。

# mkdir -p /tftpboot/mop
# gunzip boot.mop.gz
# cp boot.mop /tftpboot/mop/MOPBOOT.SYS
NetBSD での mopd の設定
OpenBSD での mopd の設定
FreeBSD での mopd の設定
Linux での mopd の設定

[他のプラットフォームに関する詳しい情報を 教えてください]


NetBSD および OpenBSD

NetBSD および OpenBSD では、サポートされているすべてのプラットフォームに mop サーバーが搭載されています。

  1. # mopd -a -d

mopd がデバッグモードで実行されます。 mopd サーバーにリクエストがあると、 実行した端末に診断情報が表示されます。

mopd がきちんと動けば、 クライアントにこのように表示されます:

>> NetBSD/vax boot [980110 22:29] <<
: /netbsd

MOPBOOT.SYS ファイルを何かにリンクすることで vax クライアントが プロンプトを出さずに見つけ出すことができるようになります:

# cd /tftpboot/mop
# ln -s MOPBOOT.SYS cccccccccccc.SYS
ここで cccccccccccc は vax クライアントの hex イーサネットアドレス です。 SYS は大文字で書き、イーサネットアドレスの十六進数は アラビア数字と英小文字にしてください。そうでなければ、 vax クライアントは正しいファイルをみつけ られない でしょう。

bootpd の設定に続く


FreeBSD

FreeBSD には、現在 mopd パッケージがあります。ですが私は それのインストールや設定についてのより詳しい情報を持っていません。 http://www.freebsd.org/cgi/url.cgi?ports/net/mopd/pkg-descr は、ご自由にお試しください。 次に示す取り扱い説明書は古いバージョン用で動作確認されているものです。

  1. つぎのサイトから mopd のソースコードを取得します:
    ftp://ftp.stacken.kth.se/pub/OS/NetBSD/mopd/mopd-2.5.3.tar.gz

  2. ソースコードを Untar します。

  3. FreeBSD 2.2 かそれ以降の環境ではコンパイル前にソースファイルの 1つを編集する必要があります。 mopd-2.5.3/common/put.c を編集して ファイルの先頭の #includes セクション に次の3行 を加えてください:
    #ifdef __FreeBSD__
    #include <osreldate.h>
    #endif

    ファイル中の2個所のシンボル __FreeBSD__ をチェックし、全個所を次のように置き換えます:

    #if !defined(__FreeBSD__)
    を次のように
    #if !defined(__FreeBSD__) || __FreeBSD_version >= 220000

  4. # cd mopd-2.5.3/mopd/
    # make

  5. バイナリーをインストールします:
    # cp mopd /usr/local/sbin/

  6. # /usr/local/sbin/mopd -a -d

これで、 mopd がデバッグモードで実行されます。 mopd サーバーにリクエストがあると、 実行した端末に診断情報が表示されます。

mopd がきちんと動けば、クライアントにこのように表示されます:

>> NetBSD/vax boot [980110 22:29] <<
: /netbsd

MOPBOOT.SYS ファイルを何かにリンクすることで vax クライアントが プロンプトを出さずに見つけ出すことができるようになります:

# cd /tftpboot/mop
# ln -s MOPBOOT.SYS cccccccccccc.SYS
ここで cccccccccccc は vax クライアントの hex イーサネットアドレス です。 SYS は大文字で書き、イーサネットアドレスの十六進数は アラビア数字と英小文字にしてください。そうでなければ、 vax クライアントは正しいファイルをみつけ られない でしょう。

bootpd の設定に続く


Linux

イーサネットに promiscuous モード 設定を認めるように(mop がきちんと動くのに必要)、 カーネルに MULTICAST を入れてコンパイルする必要があるでしょう。 かわりに、 ifconfig に allmulti flag を付けて promiscuous モード を有効にすることができます (例 ifconfig eth0 allmulti)。

  1. つぎのサイトから mopd のソースコードを取得します:
    ftp://ftp.stacken.kth.se/pub/OS/NetBSD/mopd/mopd-linux-2.5.3.tar.gz

  2. これを Untar し mopd を make します:
    # cd /mopd-linux/mopd
    # make

  3. バイナリーをインストールします:
    # cp mopd /usr/local/sbin/

  4. # /usr/local/sbin/mopd -a -d

これで、 mopd がデバッグモードで実行されます。 mopd サーバーにリクエストがあると、 実行した端末に診断情報が表示されます。

mopd がきちんと動けば、クライアントにこのように表示されます:

>> NetBSD/vax boot [980110 22:29] <<
: /netbsd

MOPBOOT.SYS ファイルを何かにリンクすることで vax クライアントが プロンプトを出さずに見つけ出すことができるようになります:

# cd /tftpboot/mop
# ln -s MOPBOOT.SYS cccccccccccc.SYS
ここで cccccccccccc は vax クライアントの hex イーサネットアドレス です。 SYS は大文字で書き、イーサネットアドレスの十六進数は アラビア数字と英小文字にしてください。そうでなければ、 vax クライアントは正しいファイルをみつけ られない でしょう。

bootpd の設定に続く


戻る | 進む | 目次
NetBSD ホームページ
NetBSD ドキュメントのトップレベル

(連絡先 - 英語, 日本語: www@jp.NetBSD.org)
$NetBSD: mop.html,v 1.3 2007/08/01 15:36:02 kano Exp $
Copyright © 1998-2004 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.