pxegrub
普通のgrubのパッケージで--enable-disklessとするとpxegrubが作れる。
PCNet/32の場合:--enable-lance
NE2000互換の場合:--enable-ns8390
Realtek8139の場合:--enable-rt8139
% cd grub-0.97 % ./configure --enable-diskless --enable-lance % make % cp stage2/pxegrub /var/lib/tftpboot
pxegrubはフロッピーイメージから起動するコマンドがないと思ったら、
memdiskをカーネル代わりに使うようだ。
Re: [grub #30] Can pxegrub boot a diskless dos?
http://www.mail-archive.com/bug-grub@gnu.org/msg06640.html
title Network Boot
root (nd)
kernel /memdisk
initrd /boot.img
memdiskはsyslinuxのパッケージの中に入っている。
バイナリファイルがすでにあるので、特にmake等は必要なし。
% tar jxf syslinux-3.52.tar.bz2 % cp syslinux-3.52/memdisk/memdisk /var/lib/tftpboot
pxelinux
結局syslinuxのパッケージもとってくるんだったら、素直にpxelinuxを使えばいいような気もする。
コマンドラインで memdisk initrd=boot.img またはpxelinux.cfgで label memdisk kernel memdisk append initrd=boot.img
そういえば、pxegrubの場合はLANカード毎のソースを使ったけど、bpbatchやpxelinuxはなんでそういうことが不要なんだろ