PXEでDebianをインストールするメモ

はじめに

古いノートPCにLinuxをインストールするのは結構大変なことだったりする.

  • 光学ドライブなんてものはついてない
  • USBメモリにブートイメージを入れても起動できない(USB1.1時代のものとか)
  • 今時のディストリはFloppyのブートイメージも作られてない

こんな悪条件が重なるとどうしようもない.しかし,

  • ノートのくせになぜかPXEは使える

という幸運に恵まれてインストールできたのでメモ.

インストールの流れ

  • VirtualPC上に母艦となるDebianをセットアップ
  • 母艦での作業
    • DHCP&TFTP設定
    • Debianのインストールイメージをセット
  • ノートPCでの作業

母艦での作業

そもそもTFTPなんて普段使わないので,仮想PCにLinuxを入れて母艦にする.

  • VirtualPC上にDebianをセットアップ
    • debian-500-i386-businesscard.isoをダウンロード
    • isoをドライブとしてマウントしてから起動
    • 普通にインストール
  • DHCP&TFTP設定
    • ルータのDHCPを止めておくこと

DHCPサーバをインストール.

aptitude install dhcp3-server
vi /etc/dhcp/dhcpd.conf

dhcpd.confを編集

allow bootp;
option subnet-mask 255.255.255.0;
subnet 192.168.x.x netmask 255.255.255.0 {
  # IPを割り当てるレンジ
  range 192.168.x.x 192.168.x.x;
  # default gateway
  next-server 192.168.x.x;
  option broadcast-address 192.168.x.255;
}

group {
  host tftpclient {
    hardware ethernet 00:11:22:33:44:55;
    filename "pxelinux.0";
  }
}

DHCPサーバ起動.

/etc/init.d/dhcp3-server start

TFTPサーバインストール.

aptitude install atftpd
vi /etc/ined/conf

inetd.confを編集.

tftp dgram udp4 wait ... /var/lib/tftpboot
# ファイルの置き場所を/srv/tftpに変更
tftp dgram udp4 wait ... /srv/tftp

Debianのインストールイメージをセット(netboot.tar.gzをダウンロードしておく)

cd /srv/tftp
tar zxvf netboot.tar.gz
/etc/init.d/openbsd-inetd start

ノートPCでの作業

  • BIOS設定
    • BIOSでpxebootを有効にする
  • Debianインストール
    • 普通にインストール
    • ただし,ネットワーク設定時に静的IPにすること (DHCPだとネットワークアクセス時にコケる)

ネットワーク作業に最低限必要なものをインストール

aptitude install ssh
aptitude install screen
/etc/init.d/sshd start

最後に

こう書くとどうってことなさそうだな...けど,ここまでたどり着くのに5〜6時間も掛かっちゃったよ.
ネット上の数々の情報に助けられました.
設定がうまくいくまでpxebootのタイムアウトに何度も発狂させられたので,困っている人の参考になれば.