4.3. TFTP ネットブート用ファイルの準備

インストール対象のマシンが LAN に接続されている場合、 TFTP を用いると、そのマシンをネットワーク越しに他のマシンから起動できます。 インストールシステムを別のマシンから起動するには、 その「別のマシン」の特定の場所に起動ファイルを置き、 またインストール対象のマシンの起動をサポートするよう 設定しなければなりません。

設定が必要なのは TFTP サーバです。 また多くのマシンでは BOOTP サーバ のいずれかの設定が必要です。

Sparc や PowerPC マシンの Open Firmware とは異なり、 SRM コンソールは IP アドレスの取得に RARP を使いません。 従って Alpha をネットワークブートするには BOOTP を使う必要があります[2]。 ネットワークインターフェースの IP の設定は、 直接 SRM コンソールから入力することもできます。

Trivial File Transfer Protocol (TFTP) は、 ブートイメージをクライアントに提供するために用います。 理論的には、どんなサーバでも、どんなプラットフォームでも、 これらのプロトコルを実装してさえいれば利用できます。 この節では、SunOS 4.x, SunOS 5.x (Solaris), GNU/Linux での例を示します。

4.3.1. TFTP サーバの立ち上げ

TFTP サーバを立ち上げるには、 まず tftpd が有効になっているか確認します。 /etc/inetd.conf に次のような行があればおそらく大丈夫です。

tftp dgram udp wait nobody /usr/sbin/tcpd in.tftpd /tftpboot

Debian パッケージは一般的にインストールする際、 デフォルトで正しくセットアップできます。

/etc/inetd.conf を見て、in.tftpd の引数に与えられているディレクトリを覚えてください。 後でこのディレクトリを使います。 in.tftpd のバージョンによっては、 -l 引数をつけると、 すべての要求をシステムログに記録できます。 これは起動エラーの診断に有用です。 /etc/inetd.conf を変更したら、 変更したことを inetd に伝えなければなりません。 Debian マシンでは /etc/init.d/inetd reload を実行します。 他のマシンでは、inetd のプロセス ID を見つけて、 kill -HUP inetd-pid を実行します。

4.3.2. TFTP イメージを適切な場所に配置する

次に行うことは、 項4.2.1. 「どこで インストールイメージを探すか」 の記述にある、必要な TFTP ブートイメージを、 tftpd のブートイメージディレクトリに置く作業です。 このディレクトリは普通 /tftpboot です。 tftpd が特定のクライアントの起動に用いるファイルへのリンクを、 ここに作らなければなりません。 残念ながら、ファイルの名前は TFTP クライアントによって決まり、 強制力のある標準は存在しません。

4.3.2.1. Alpha TFTP ブート

Alpha では、SRM の boot コマンドの -file 引数を使うか、 BOOT_FILE 環境変数を使うかして、 ファイル名を (ブートイメージディレクトリからの相対パスとして) 与える必要があります。 あるいはファイル名は、BOOTP から (ISC dhcpd なら filename ディレクティブによって) 与えることもできます。 Open Firmware とは異なり、SRM には デフォルトのファイル名はありません。 従って、これらの方法のいずれかでファイル名を与えなければなりません。



[2] Alpha システムは DECNet MOP (Maintenance Operations Protocol) を使ってもネットワークブートできます。 しかしここでは詳細については扱いません。 MOP を使って Alpha で Linux を起動する差し迫った必要が生じたら、 おそらくあなたの部門の OpenVMS 管理者が助けてくれるでしょう。