PXE Grub for OpenBSD

This webpage provides patches to both GRUB 0.93 and OpenBSD which provides support for NET-booting OpenBSD using PXE GRUB bootloader. Theses patches - especially the GRUB ones - are somewhat ugly. Feedback on this page welcome, but I won't have too much time working on that stuff.

1. Grub Patches

This set of patches improve Grub in the following ways:
Patches are available here: grub-0.93.diff, building is as follow:

# tar xf grub-0.93.tar
# patch -p1 -dgrub-0.93 <grub-0.93.diff
# cd grub-0.93
# sh build

2. OpenBSD patches

This set of patches is optional. Without it, you will need to setup a reverse ARP server because a stock diskless BSD kernel will not know it's IP address when it boots. It is very painful to have to implement and synchronize both a DHCP server and a RARP server. This set of patches address the problem, and will allow the diskless kernel to get the correct NIC card and IP address with netmask/broadcast as negotiated by Grub, thus skipping the RARP step. You will still need to setup bootparamd though.

Patches are available here: boot-openbsd.diff,

3. Binaries

Grub wants Linux to build. So I provide here a few pxegrub binaries for thoses like me who want to use it with a Soekris board or an Intel EtherExpress 100/PRO NIC:

File Console NIC Direct PCI Remark
pxegrub.sis-tty-19200.gz
serial 19200
sis
no
Useful to load bsd.rd into a Soekris Board
pxegrub.fxp.gz
standard
fxp no

pxegrub.fxp-tty.gz
serial 9600
fxp no

pxegrub.fxp-dpci.gz
standard
fxp yes
For broken pcibios.  Disable pcibios in your kernel too!
pxegrub.fxp-tty-dpci.gz serial 9600
fxp yes
For broken pcibios.  Disable pcibios in your kernel too!

4. Credits


© 2003 Cedric Berger