FreeBSD boot menu is missing

Dag-Erling Smørgrav des at
Thu Nov 27 11:44:33 PST 2008

"Peter Steele" <psteele at> writes:
> The problem is I was unable to get multiple slices defined in a
> sysinstall config script. I tried many variations of parameters to
> pump into diskPartitionEditor and diskLabelEditor so that we could
> create three slices during the install but I couldn't find anything
> that worked. So I ended up having to create a single full disk slice
> to install the OS onto, and then in a post commit step slice the disks
> up as we want them and copy the OS over. I couldn't find a single
> example how to create multiple slices in a sysinstall config file. If
> you know how to do this, I'd love to see it.

I wouldn't use a sysinstall script.

Set up a file system (say /nfsroot) on an NFS server in your lab.

Install FreeBSD on /nfsroot: either make installworld DESTDIR=/nfsroot
followed by the correct mergemaster incantation, or just run the script in the base and kernels directories:

# cd /mnt/7.0-RELEASE/base
# env DESTDIR=/nfsroot sh
# cd ../kernels
# env DESTDIR=/nfsroot sh GENERIC

Put a complete copy of the release CD somewhere in /nfsroot so you can
access it from the client later.

Make sure /nfsroot is listed in /etc/exports with the correct
permissions (showmount -e is your friend)

Copy /nfsroot/boot/pxeboot to /tftpboot/pxeboot and enable tftpd.

Set up a DHCP server on your lab subnet or whatever, with next-server
set to point at your NFS+TFTP server, filename set to "pxeboot", and
option root-path set to /nfsroot.

Replace /nfsroot/etc/rc with a shell script that performs the
installation just the way you like it.  Your script should probably
start by setting up memory filesystems for /tmp and /var, otherwise
stuff like disklabel might not work.

Connect the new box to the lab network, turn it on, enable PXE, and let
it boot.

If you don't want to use PXE + NFS, you can create an installation CD
with almost the exact same procedure: create a directory, follow the
above procedure to populate it (just ignore the parts about NFS, TFTP
and DHCP), create a bootable ISO image of that directory, burn it to a
DVD, and boot the box from that DVD.  The correct mkisofs incantation is:

mkisofs -JR -b /cdroot/boot/cdboot -o cd.iso /cdroot

If you can't use a DVD, you'll have to leave stuff out - packages and
the ports and src distributions are obvious candidates.  A full i386
7.0R live CD with a copy of the installation CD minus packages and src
should fit on a regular CD.

> With the proper controller and drive, yes, FreeBSD does support hot
> swap, to a point. Let's say for example that you have a file system
> mounted on a drive and that drive dies. You can pull it and put in a
> new one, but FreeBSD will not let you unmount the file system on the
> original drive. Even umount -f fails. We have to reboot to get the old
> mount point released, and we haven't found any way around this.

That's an entirely different matter...  that's why you use gmirror or
graid or zfs or whatever, so you can swap out the drive online.

Dag-Erling Smørgrav - des at

More information about the freebsd-hackers mailing list