2012-03-02, 19:28
Hi
The standard way to boot FreeBSD via pxe is to chainload /boot/pxeboot wich resembles a complete pxe bootloader, wich is fine if FreeBSD is the only OS one wants to boot.
Unfortunatly it isn't if one wants to boot multiple OS via PXE or even several versions of FreeBSD for the following reasons:
1. it unnecessarily takes time for initializing the nic and requesting an ip (again, after first the NICs boot ROM did this, and ipxe did this too because it is chainloaded from the NIC's boot ROM)
2. it sends its own dhcp client id so I can't use the id to trigger different dhcp-options based on it (because I can't set it in any configuration file)
3. it doesn't support scripting at all
4. it relys on "option root-path" set by the dhcp server wich can't be overridden by any means I know, preventing me from booting anything else wich needs "option root-path".
So I want to know if ipxe is able to direct-boot a FreeBSD Kernel (8.2-RELEASE-amd64 and 9.0-RELEASE-amd64) without chainloading FreeBSD's own pxeboot and, if so, how to do it. This is what I tried (and didn't work):
This locks the machine completely.
Any hints, ideas?
with kind regards,
errorsmith
The standard way to boot FreeBSD via pxe is to chainload /boot/pxeboot wich resembles a complete pxe bootloader, wich is fine if FreeBSD is the only OS one wants to boot.
Unfortunatly it isn't if one wants to boot multiple OS via PXE or even several versions of FreeBSD for the following reasons:
1. it unnecessarily takes time for initializing the nic and requesting an ip (again, after first the NICs boot ROM did this, and ipxe did this too because it is chainloaded from the NIC's boot ROM)
2. it sends its own dhcp client id so I can't use the id to trigger different dhcp-options based on it (because I can't set it in any configuration file)
3. it doesn't support scripting at all
4. it relys on "option root-path" set by the dhcp server wich can't be overridden by any means I know, preventing me from booting anything else wich needs "option root-path".
So I want to know if ipxe is able to direct-boot a FreeBSD Kernel (8.2-RELEASE-amd64 and 9.0-RELEASE-amd64) without chainloading FreeBSD's own pxeboot and, if so, how to do it. This is what I tried (and didn't work):
Code:
#!ipxe
dhcp
set root-path 192.168.23.1:/usr/data/tftpboot/clients/fbsd64
kernel tftp://192.168.23.1/clients/fbsd64/boot/kernel/kernel
boot
Any hints, ideas?
with kind regards,
errorsmith