CentOSをインストールする必要が発生したがCDRもDVD±Rも手元にないので、ネットワークブートでインストールすることにした。
しかしサーバーはFreeBSD。
- tftp serverの設定
- /etc/inetd.conf のtftpの行を有効化
- -s option で chroot の root directory を設定
- -s /tftpboot
- killall -HUP inetd
- PXE用のブートイメージを取得する。/tftpboot/pxe_centos 以下に置くことにする。
-
ftp://ftp.riken.jp/Linux/centos/4.5/os/i386/images/pxeboot/ などからvmlinuz, initrd.imgを取得する
- PXEサーバのブートローダを取得する。どうもsyslinuxというものから取得しなくてはいけないので、その辺にあったCentOSのマシンから /usr/lib/syslinux/pxelinux.0 を取得した。置き場所は /tftpboot/pxe_centos/
- 設定ファイルを構築。 /tftpboot/pxe_centos/pxelinux.cfg/default というファイルを作成する。中身は以下のような感じ。
-
default centos4
label centos4
kernel vmlinuz
append load initrd=initrd.img devfs=nomount - dhcpサーバの設定。filename=のところにpxelinux.0へのパスを書く。このとき tftpserver に設定したchrootからの相対パスで記入する
- CDイメージをマウントして、HTTPで公開する
- mdconfig -a -t vnode -f /usr/pub/CentOS/CentOS-4.5-i386-binDVD.iso -u 4
- mount -t cd9660 -o ro /dev/md4 /cdrom/