PXEブートからのDebianインストール(その1)

昨日失敗してたPXEブート。結果から言うと成功。*1参考サイトとかぶる内容も多いが、せっかくなので手順を書いておくことにする。

  • 環境
Debianサーバ(以下サーバ)
Windowsマシンに入れているcoLinuxDebianを使用
サーバのネットワーク
192.168.0.1〜192.168.0.255(サブネット255.255.255.0)
クライアント(インストール対象マシン)
Libretto L3
  • 準備するもの/こと
    • dhcpd
    • tftp
    • ブートイメージ*2

これらはサーバ側に用意する。クライアント側の用意は特にいらない。

    • 他のDHCPサーバの停止
  • 参考サイト

ネットワークインストール・マルチブート
Debian on Libretto L3

  • dhcpdの設定

導入方法は参考サイトを参照のこと。基本的にはapt-getで入れればOK。
設定ファイルが /etc/dhcp.conf にあるので、こいつを以下のように編集する。

option domain-name "kuro-neko.jp"; #ドメイン名。持ってなければ"local.domain"とかでも大丈夫だと思う。
option domain-name-servers 192.168.0.1, ???.???.???.???, ???.???.???.???;
#DNSのアドレスを記述する。ブロードバンドルータのアドレスとISPのDNSアドレスを入れた。

option routers 192.168.0.1; #ルータのアドレス
option broadcast-address 192.168.0.255;

option subnet-mask 255.255.255.0;
default-lease-time 600;
max-lease-time 72000;

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.60 192.168.0.65; #クライアントに割り振るIPアドレスの範囲。下で割り振るアドレスを決め打ちするので、
                                   #普段BBルータでDHCPやってるなら大きいレンジを取る必要はない。
}

host libretto{ #Libretto用設定項目。名称は適当でOK
  filename "/tftpboot/pxelinux.0";
  hardware ethernet XX:XX:XX:XX:XX:XX; #クライアントのオンボードNICのMACアドレス
  fixed-address 192.168.0.60; #クライアントに割り振るIPアドレス
  next-server 192.168.0.28; #tftpサーバのアドレス
}

設定し終わったら

/etc/init.d/dhcp restart

とやってdhcpを再起動する。

  • tftpdの設定

導入方法は参考サイトを参照のこと。基本的にはapt-getで入れればOK。初期設定は全部デフォルト*3で構わない。
設定ファイルが /etc/initd.conf にあるので、こいつが以下のようになっているか確認する。

tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd
--tftpd-timeout 300 --retry-timeout 5 --mcast_port 1753 --mcast_addr
239.255.0.0-255 --maxthread 100 --verbose=5  /tftpboot

実際はすべて1行になっているので注意!

確認したら

/etc/init.d/inetd restart

としてinetdを再起動する。

  • ブートイメージの配置

Debianのnetbootモジュールを使ったほうが簡単そうなのでこっちで再トライ予定。

  • 他のDHCPサーバの停止

BBルータなどでDHCPの設定をONにしている場合は必ず停止させておくこと。競合してうまくいかないみたい。

  • PXEブートモードでのクライアントの起動

Libretto L3を起動させた直後、TOSHIBAのロゴが表示されているときにカーソルキーの左右を押す。ロゴ下の4つのアイコンの下にバーが表示される*4ので、一番右を選択してリターン。
もしくはNキーを押しっぱなして電源を入れても良い。
NICは内蔵のLANコネクタを使ったほうが無難。

ブートに成功すると

こんな感じでロードを開始する。最初失敗したときは

こんなサイケデリックな画面になってしまった。
ロードが完了すると、おなじみのペンギンロゴと共にブートシーケンスが始まる。


以上でPXEブートが完了。次にインストールなのだが、「カーネルとドライバモジュールのインストール」のメディア選択でnetworkが出てこなかったために頓挫。続きはまた次回。

*1:ただしブートだけ

*2:インストールCDの1枚目から持ってくるか、ftpサーバのnetbootディレクトリのものを使う(後半未確認)

*3:Enterですっ飛ばす

*4:選択中のがオレンジで表示される