pxegrub + FreeBSD install

Rick Miller vmiller at hostileadmin.com
Tue Apr 24 18:10:58 UTC 2012

Hi All,

I am attempting to build FreeBSD 8.x-RELEASE over the network via PXE.
 I chain pxegrub to pxelinux and load the FreeBSD kernel and mfsroot
through pxegrub with the following:

menuentry "freebsd-x86_64" {
   kfreebsd /boot/kernel/kernel
   kfreebsd_loadenv /boot/device.hints
   kfreebsd_module /boot/mfsroot.gz type=mfs_root
   set kFreeBSD.vfs.root.mountfrom=ufs:/dev/md0c

The mfsroot.gz is from the installation DVD with a couple of scripts
and an install.cfg which result in a non-interactive install.  I set
variables necessary to allow sysinstall to retrieve the expected
files.  The variables (previously) are populated as follows:

server=`kenv -q boot.nfsroot.server`
mac=`kenv -q boot.netif.hwaddr`
ip=`kenv -q boot.netif.ip`
nm=`kenv -q boot.netif.netmask`
gw=`kenv -q boot.netif.gateway`
name=`kenv -q dhcp.host-name`
route=`kenv -q dhcp.routers`

The mfsroot.gz does not see these as set when the environment loads
through pxegrub.  If I load the environment through pxeboot.bs, the
variables populate ok.  Unfortunately, with pxeboot.bs I experience
extremely high tftp failure rates when compared to pxegrub.

My question is how should I populate these variables in the mfsroot.gz
when loading via pxegrub?

Take care
Rick Miller

More information about the freebsd-questions mailing list