pxelinuxも試してみましたw

探してみると例が多いので,ついでにも試して見ました.

で,まず

 $ apt-get install tftpd-hpa

で,tftpdの代わりに入れる必要があるようです.

理由は

TFTP ブートで Pre-boot Execution Environment (PXE) 法を使用するには、 tsizeをサ
ポートする TFTP サーバが必要になります。 Debian GNU/Linux サーバでは、atftpd と
tftpd-hpa がその資格があります。 tftpd-hpa をお奨めします。

らしいです.

ちなみい,すでにtftpdを入れてる場合,inetd.confを書き換えるかとか聞かれるので注意した方がいいです.自分書き換えなかったら,

cannot set groups for user nobody

とか

Error code 2: Access violation

とかいわれます.はっきりいって意味不明です.とりあえず,自分は

tftp            dgram   udp     wait    root  /usr/sbin/in.tftpd in.tftpd -u nobody -v -s /var/ftpd

これでうまくいっています.たぶんユーザ権限辺りの話と,カレントパス話じゃないかと思いますが,はまりそうなのでこれ以上は調べてません:-<

で,次に(やっとw) pxelinux.0というブートローダー(?)がいるので,
http://www.kernel.org/pub/linux/utils/boot/syslinux/ から
適当なsyslinuxを落として,中に入っているpxelinux.0を取り出します

 $ wget http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-3.07.tar.gz
 $ tar zxvf syslinux-3.07.tar.gz
 $  cp pxelinux.0 /var/ftpd/

てな感じです.(たまたま履歴が残ってたw)

さらに,lilo.conf見たいな設定ファイルを書きます.pxelinuxを調べれば分かると思いますが,

RRQ from 192.168.255.1 filename pxelinux.cfg/C0A8FF01
RRQ from 192.168.255.1 filename pxelinux.cfg/C0A8FF0
RRQ from 192.168.255.1 filename pxelinux.cfg/C0A8FF
RRQ from 192.168.255.1 filename pxelinux.cfg/C0A8F
RRQ from 192.168.255.1 filename pxelinux.cfg/C0A8
RRQ from 192.168.255.1 filename pxelinux.cfg/C0A
RRQ from 192.168.255.1 filename pxelinux.cfg/C0
RRQ from 192.168.255.1 filename pxelinux.cfg/C
RRQ from 192.168.255.1 filename pxelinux.cfg/default

てな感じでアクセスされます.自分はとりあえず,

 $ pwd
/var/ftpd
 $ cat pxelinux.cfg/C0A8FF
default linux
prompt 0
label linux
        kernel vmlinuz-2.4.29
        append ip=dhcp root=/dev/nfs

あ,そうそうdhcpd.confも書き換える必要があって

host client {
  hardware ethernet xx:xx:xx:xx:xx:xx;
  fixed-address client;
  filename "pxelinux.0";
  option root-path "/diskless/linux";
}

ってな感じになります.とりあえず,こんなところでしょうか