TFTP ネットブート用ファイルの準備 インストール対象のマシンが LAN に接続されている場合、 TFTP を用いると、そのマシンをネットワーク越しに他のマシンから起動できます。 インストールシステムを別のマシンから起動するには、 その「別のマシン」の特定の場所に起動ファイルを置き、 またインストール対象のマシンの起動をサポートするよう 設定しなければなりません。 TFTP サーバをセットアップする必要があります。 また多くのマシンでは DHCP サーバ、 または RARP サーバ、 または BOOTP サーバのセットアップも必要です。 Reverse Address Resolution Protocol (RARP) は、 どの IP を用いるべきかをクライアントに伝える方法のひとつです。 同種の方法には BOOTP プロトコルがあります。 BOOTP は IP プロトコルのひとつです。 クライアントに対して、使うべき IP アドレスと、 ブートイメージをネットワークのどこから取得するかを伝えます。 VMEbus システムではまた違った選択肢も存在します。 IP アドレスはブート ROM から手動で設定できます。 DHCP (Dynamic Host Configuration Protocol) は、 BOOTP との後方互換性を保ちつつ、より柔軟に拡張させたものです。 システムによっては DHCP でしか設定できないこともあります。 PowerPC では、NewWorld Power Macintosh マシンを使っている場合は、 BOOTP ではなく DHCP を使う方が良いです。 最近のマシンには、BOOTP では起動できないものがあります。 Sparc や PowerPC マシンの Open Firmware とは異なり、 SRM コンソールは IP アドレスの取得に RARP を使いません。 従って Alpha をネットワークブートするには BOOTP を使う必要があります Alpha システムは DECNet MOP (Maintenance Operations Protocol) を使ってもネットワークブートできます。 しかしここでは詳細については扱いません。 MOP を使って Alpha で Linux を起動する差し迫った必要が生じたら、 おそらくあなたの部門の OpenVMS 管理者が助けてくれるでしょう。 。 ネットワークインターフェースの IP の設定は、 直接 SRM コンソールから入力することもできます。 古い HPPA マシンのいくつか (例えば 715/75) は、BOOTP ではなく RBOOTD を使います。 Debian には rbootd パッケージが用意されています。 Trivial File Transfer Protocol (TFTP) は、 ブートイメージをクライアントに提供するために用います。 理論的には、どんなサーバでも、どんなプラットフォームでも、 これらのプロトコルを実装してさえいれば利用できます。 この節では、SunOS 4.x, SunOS 5.x (Solaris), GNU/Linux での例を示します。 TFTP ブートで Pre-boot Execution Environment (PXE) 法を使用するには、 tsizeをサポートする TFTP サーバが必要になります。 &debian; サーバでは、atftpdtftpd-hpa がその資格があります。 tftpd-hpa をお奨めします。 &tftp-rarp.xml; &tftp-bootp.xml; &tftp-dhcp.xml; TFTP サーバの立ち上げ TFTP サーバを立ち上げるには、 まず tftpd が有効になっているか確認します。 /etc/inetd.conf に次のような行があればおそらく大丈夫です。 tftp dgram udp wait nobody /usr/sbin/tcpd in.tftpd /tftpboot Debian パッケージは一般的にインストールする際、 デフォルトで正しくセットアップできます。 歴史的に TFTP サーバは、 イメージを提供するディレクトリに /tftpboot を使用します。 しかし &debian; のパッケージでは、 Filesystem Hierarchy Standard を満たす別のディレクトリを使用する可能性があります。 例えば、tftpd-hpa では /var/lib/tftpboot をデフォルトで使用します。 必要に応じて、本節の設定例を調整してください。 /etc/inetd.conf を見て、in.tftpd の引数に与えられているディレクトリを覚えておいてください in.tftpd のバージョンによっては、 -l 引数をつけると、 すべての要求をシステムログに記録できます。 これは起動エラーの診断に有用です。 。後でこのディレクトリを使います。 /etc/inetd.conf を変更したら、 変更したことを inetd に伝えなければなりません。 Debian マシンでは /etc/init.d/inetd reload を実行します。 他のマシンでは、inetd のプロセス ID を見つけて、 kill -HUP inetd-pid を実行します。 SGI マシンに Debian をインストールする際、 TFTP サーバが Linux 2.4 で動作している GNU/Linux の場合は、 次の設定を行う必要があります。 # echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc これを行わないと、SGI の PROM はカーネルをダウンロードできません。 さらに、TFTP パケットのソースポートは 32767 以上であってはいけません。 さもないと最初のパケットを受信しただけでダウンロードが停止します。 この PROM のバグに引っかかるのも Linux 2.4.X です。 これを避けるには # echo "2048 32767" > /proc/sys/net/ipv4/ip_local_port_range を実行し、Linux TFTP サーバが用いるポートの範囲を調整してください。 TFTP イメージを適切な場所に配置する 次に行うことは、 の記述にある、必要な TFTP ブートイメージを、 tftpd のブートイメージディレクトリに置く作業です。 tftpd が特定のクライアントの起動に用いるファイルへのリンクを、 ここに作成してください。 残念ながら、ファイルの名前は TFTP クライアントによって決まり、 強制力のある標準は存在しません。 NewWorld Power Macintosh マシンでは、 yaboot ブートローダを TFTP ブートイメージに設定します。 yaboot は次にカーネルと RAM ディスクイメージを、 同じく TFTP によって取得します。 ネットワークブートには、yaboot-netboot.conf を使います。 これを yaboot.conf という名前に変えて、 TFTP のディレクトリに置いてください。 PXE 起動では、必要なことがすべて netboot/netboot.tar.gz tarball の中にセットアップされています。 単にこの tarball を、 tftpd ブートイメージディレクトリに展開してください。 pxelinux.0 を、 起動するファイル名として tftpd へ渡すよう、 dhcp サーバが設定されていることを確認してください。 PXE 起動では、必要なことがすべて netboot/netboot.tar.gz tarball の中にセットアップされています。 単にこの tarball を、 tftpd ブートイメージディレクトリに展開してください。 /debian-installer/ia64/elilo.efi を、 起動するファイル名として tftpd へ渡すよう、 dhcp サーバが設定されていることを確認してください。 DECstation TFTP イメージ DECstation には、各サブアーキテクチャごとに tftp イメージがあり、 カーネルとインストーラがひとつのイメージに収められています。 命名規則は subarchitecture/netboot-boot.img です。 上述の例のように BOOTP/DHCP を設定したのでしたら、 使いたい tftp イメージを /tftpboot/tftpboot.img にコピーします。 DECstation ファームウェアから TFTP ブートするには、 boot #/tftp というコマンドを使います。ここで # は起動元の TurboChannel デバイスの番号です。 ほとんどの DECstation では、これは 3 です。 BOOTP/DHCP サーバがファイル名を与えない場合や、 パラメータを追加して渡したい場合は、 次の書式に従ってこれらを追加できます。 boot #/tftp/filename param1=value1 param2=value2 ... DECstation ファームウェアのリビジョンによっては、 ネットワークブートに問題があることがあります。 転送は開始するのですが、しばらく経つと a.out err で停止してしまうのです。 これにはいくつかの理由が考えられます。 ファームウェアが TFTP 転送の最中に ARP リクエストに反応しない。 すると ARP タイムアウトが起こり、転送が停止します。 これを解決するには、DEC station のイーサネットカードの MAC アドレスを、 TFTP サーバの ARP テーブルに静的に追加することです。 これを行うには TFTP サーバマシンの root 権限で arp -s IP-address MAC-address とします。 DECstation の MAC-address は、DECstation ファームウェアのプロンプトで cnfg と入力すればわかります。 TFTP から起動できるファイルサイズの制限がファームウェアにある。 そもそも全く TFTP からは起動できないファームウェアリビジョンもあります。 ファームウェアリビジョンごとの違いについての概説は、 NetBSD web ページ: . にあります。 Alpha TFTP ブート Alpha では、SRM の boot コマンドの -file 引数を使うか、 BOOT_FILE 環境変数を使うかして、 ファイル名を (ブートイメージディレクトリからの相対パスとして) 与える必要があります。 あるいはファイル名は、BOOTP から (ISC dhcpd なら filename ディレクティブによって) 与えることもできます。 Open Firmware とは異なり、SRM には デフォルトのファイル名はありません。 従って、これらの方法のいずれかでファイル名を与えなければなりません。 SPARC TFTP ブート SPARC アーキテクチャでは、 SUN4MSUN4C のような サブアーキテクチャの名前をファイル名に追加します。 例えば、システムのサブアーキテクチャが SUN4C で IP アドレスが 192.168.1.3 の場合、 ファイル名は C0A80103.SUN4C となります。 しかし、クライアントが探すファイルが client-ip-in-hex となるサブアーキテクチャもあります。 IP アドレスの 16 進表記を簡単に得るには、 以下のコマンドをシェルに入力してください。 (想定している IP アドレスは 10.0.0.4 です) $ printf '%.2x%.2x%.2x%.2x\n' 10 0 0 4 正しいファイル名を取得するには、文字をすべて大文字に変更し、 (必要なら) サブアーキテクチャ名を追加しなければなりません。 すべて正しく行うと、 OpenPROM から boot net コマンドを与えて、 イメージをロードできます。 イメージが見つからない場合、tftp サーバのログをチェックし、 どのような名前のイメージを要求されているかを確認してください。 OpenPROM の boot コマンドの末尾にファイル名を追加して、 sparc システムにその名前のファイルを探すよう指定することもできます (boot net my-sparc.image のようになります)。 ただしこのファイルを置くのは、いずれにしても TFTP サーバが見るディレクトリの内部でなければいけません。 BVM/Motorola TFTP ブート BVM システムや Motorola VMEbus システムでは、 &bvme6000-tftp-files; を /tftpboot/ にコピーしてください。 次に boot ROM や BOOTP サーバを設定して、 tftplilo.bvme または tftplilo.mvme といったファイルを TFTP サーバから最初にロードするようにしてください。 お使いのサブアーキテクチャについてや、 システム特有の設定情報に関しては、 tftplilo.txt を参照してください。 SGI TFTP ブート SGI のマシンでは、TFTP ファイルの名前の指定を bootpd に行わせることができます。 これは /etc/bootptabbf= に指定するか、 /etc/dhcpd.conffilename= オプションに指定します。 Broadcom BCM91250A, BCM91480B の TFTP ブート CFE にロードするファイルのフルパスを渡しているため、 特殊な DHCP の設定をする必要はありません。