See PXE Setup for overall instructions. This is NetBSD specific.

Chaining pxelinx.0 to pxeboot_ia32.bin (WORKS),

rsync -avz --delete-after --exclude 'binary/sets/x*.tgz' rsync:// /tftpboot/netbsd7/amd64/

cd /var/lib/tftpboot/
ln -s netbsd7/amd64/installation/misc/pxeboot_ia32.bin
vi /var/lib/tftpboot/pxelinux.cfg/default

label NetBSD pxeboot
kernel pxeboot_ia32.bin


  • it is good to keep amd64/binary/sets/ as this is the default path used by sysinst
  • there is no need to rename .bin to .0, #mv pxeboot_ia32.bin netbsdpxe.0

and it also avoids playing with dhcpd.conf, inside the subnet stanza (this is the trick to differenciate the hardware BOOTP requests from the NetBSD pxeboot_ia32.bin BOOTP requests,

     if substring (option vendor-class-identifier, 0, 17)
       = "NetBSD:i386:libsa" {
         if filename = "netbsd" {
             filename "tftp:netbsd7/amd64/binary/kernel/netbsd-INSTALL.gz";

Note. otherwise manually at the NetBSD boot prompt,

boot tftp:netbsd7/amd64/binary/kernel/netbsd-INSTALL.gz

Tweaking pxeboot_ia32.bin, but this is unfortunately possible only from within a NetBSD system,

#installboot -v -e -o bootconf,modules pxeboot_ia32.bin
#vi boot.cfg

Otherwise, attempting multiboot (FAILS),

cp -i /usr/lib/syslinux/modules/bios/libcom32.c32 /var/lib/tftpboot/
cp -i /usr/lib/syslinux/modules/bios/mboot.c32 /var/lib/tftpboot/

vi /var/lib/tftpboot/pxelinux.cfg/default

label NetBSD multiboot
com32 mboot.c32
append netbsd7/amd64/binary/kernel/netbsd-INSTALL.gz

but this is what I get,

Invalid Multiboot image: neither ELF header nor a.out kludge found


Obsolete method, using memdisk against the floppy installer (DEPRECATED),

#TODO what is the last release providing floppy?

vi /var/lib/tftpboot/pxelinux.cfg/default

label NetBSD install floppy
kernel memdisk
append netbsd-INSTALL_FLOPPY.gz