PXEブートでDebian Etchをインストール
Virtual PC 2007上のbootpサーバを構築してFDDもCD-ROM Driveも無いノートPCにEtchをインストールします。
| 172.31.2.0/24 ルータ | +---- eth0[NotePC ]eth1 ---+ +---- eth0[VirtualPC]eth1 ---+ | HUB 192.168.0.0/24 |
NotePCは最終的にVPNのブリッジにするため、PCMCIAのNICを追加しています。
VirtualPC上にbootpサーバの構築
VirtualPCのホストPCは、NICが2枚入っているので、いちいち切り替えなくて済むように上のような構成にしました。 作業手順は次のようになります。- Etchのインストールイメージのダウンロード
- Etchのインストール
- dhcpサーバのインストール
- bootpサーバのインストール
- 設定の有効化
Etchのインストールイメージのダウンロード
Debianサイトのetch のインストールから、netinst用のCDイメージをダウンロードしておきます。
ダウンロードしたのは、netinst CD イメージ の[i386]版です。
Etchのインストール
Virtual PC 2007を起動して新しいバーチャルマシンを作成します。
バーチャルマシンの設定でネットワークアダプタを追加します。外部と繋がるアダプタをeth0になるように上側、NotePCと繋がるアダプタを下に設定。
起動して、ダウンロードしておいたインストールイメージをキャプチャします。
インストーラが立ち上がるので、基本構成でインストールしていきます。
- Choose language:Japaneseを選択
- キーボード配置の選択:日本(106 キー)を選択
- ネットワークの設定:
プライマリインターフェース:eth0を選択します。
ホスト名:debianpxe
ドメイン名:空 - ディスクのパティショニング:NotePCのインストールが終わったら使わないので簡単に設定。
「ガイド-ディスク全体を使う」→「IDE1マスタ(hda)…」→「全てのファイルを1つのパーティションに(初心者ユーザには推奨)」→「パーティショニングの終了とディスクへの変更の書き込み」→「はい」 - ユーザーとパスワードのセットアップ:パスワードを設定します。一般ユーザも作成します。
- ミラーの設定:「日本」→適当に選ぶ
ftp.jp.debian.org が最近(2007/04)繋がらない。繋がらない場合、しばらく待っているとエラーになり再選択できるので気長に待ちましょう。 - ソフトウェアの構成とインストール:標準システムのみを選択します。
- ハードディスクへの GRUB ブートローダのインストール:「はい」を選択
インストールが完了したらaptの設定を変更します。
DEBIAN JP ProjectのCDN 対応ミラーの設定のようにCDN (Contents Delivery Network) を /etc/apt/sources.list に設定します。
deb http://cdn.debian.or.jp/debian/ etch main contrib non-free
deb-src http://cdn.debian.or.jp/debian/ etch main contrib non-free
設定が終わったら、apt-get update しておきます。
/etc/network/interfacesを編集して、eth1に192.168.0.1を固定で与えておきます。
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
allow-hotplug eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
eth1を有効にします。
# ifup eth1
bootpサーバとDHCPサーバのインストール
bootpサーバの構築のため、tftpサーバとDHCPサーバを設定する必要があります。
tftpサーバとしてtftpd-hpaパッケージを使用します。
DHCPサーバとしてはdhcp3-serverパッケージを使用します。
# apt-get install tftpd-hpa dhcp3-server
詳しくは、Debian GNU/Linux インストールガイドの4.6. TFTP ネットブート用ファイルの準備に詳しく書かれています。(2つの方法が混ざっていて、いまいち分かりにくいけど)
DHCPサーバの設定
/etc/default/dhcp3-serverを編集してDHCPを提供するインターフェースを記述。
INTERFACES="eth1"
/etc/dhcp3/dhcpd.conf を次のように編集。
option subnet-mask 255.255.255.0;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.253;
next-server 192.168.0.1;
option broadcast-address 192.168.0.255;
}
group {
host tftpclient {
hardware ethernet 00:11:22:33:44:55;
filename "pxelinux.0";
}
}
hardware ethernet行の00:11:22:33:44:55はブートさせたいPCのNICのハードウェアアドレスを指定します。
tftpサーバの設定
/etc/default/tftpd-hpa を編集する。
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot -a 192.168.0.1"
インストール用ファイルを設定
設定ファイルをダウンロードして展開します。
# wget http://ftp.debian.org/debian/dists/etch/main/installer-i386/current/images/netboot/netboot.tar.gz
# tar xvf netboot.tar.gz
# cd pxelinux.cfg
# ln -s default 01-00-11-22-33-44-55
01-00-03-ff-8c-94-5a は 01-にbootpクライアントのハードウェアアドレスを付加したもの。
設定の有効化
#/etc/init.d/dhcp3-server restart
#/etc/init.d/tftpd-hpa restart
以上で設定が出来ましたNotePCを繋いで、ネットワークブートしてみます。
Debian installerが立ち上がればOK!
インストールを進めていきます。プライマリネットワークで外部と繋がるアダプタを選ぶのを間違えないようにすればインストールはうまくいきます。

Comments