PXE boot FreeBSD iso from pxelinux server

11,728

Solution 1

I don't know FOG, but it should work just fine if the image can boot from NFS (which is probably going to be the sticking point for the rolled releases like pfSense). You should be able to follow the basic instructions in the handbook and get it working.

I'd also consider just running a virtual machine to test these things out. QEmu runs great on fBSD.

Edit: If you're familiar with the parts, here's a Quick and Dirty FreeBSD PXEBoot Guide.
If you're not so familiar, then the Handbook's Diskless Operation section is more of a walk through.

A brief overview of the steps:
You set your computer to PXE boot from it's network card. This is usually a bios option.
Set DHCP Options on your DHCP server to tell PXE where to find FreeBSD's loader (pxeboot).
The DHCP Options also tell the Loader where to find the root file system (an NFS share).
The loader mounts the NFS Root File System, finds the Kernel, and boots normally from there.
(Note, the kernel needs to support booting from an NFS share, which is not normally compiled in)

Solution 2

Two years later, generic instructions for booting PXE booting ISOs from FOG exist:

The MEMDISK wiki also has instructions for booting ISOs; I've successfully used the ISOHYBRID technique to load PartedMagic (i.e. load it as a disk image), but the ISO technique should be applicable to e.g. FreeBSD also.

Solution 3

It turns out this is a regression in FreeBSD 9.1. This used to work fine:

LABEL FreeBSD-8.1-i386
    MENU LABEL FreeBSD 8.1 i386
    kernel memdisk
    append initrd=freebsd/FreeBSD-8.1-RELEASE-i386-bootonly.iso iso raw

But this doesn't anymore:

LABEL FreeBSD-9.1-amd64
    MENU LABEL FreeBSD 9.1 AMD64
    kernel memdisk
    append initrd=freebsd/FreeBSD-9.1-RELEASE-amd64-memstick.img raw
Share:
11,728

Related videos on Youtube

Will Dixon
Author by

Will Dixon

Updated on September 17, 2022

Comments

  • Will Dixon
    Will Dixon almost 2 years

    I'm using FOG as a TFTP / PXE server and would like to be able to boot a FreeBSD LiveCD (specifically pfSense, but it could be any LiveCD, really); I've found HOWTOs for booting a "netboot" BSD but they all seem to use a BSD server. So:

    • Is it possible to PXE boot BSD from a Linux server?
    • Is it possible to PXE boot a BSD LiveCD?
    • Is it possible to PXE boot a Linux LiveCD?

    My main motivation is to be able to boot small LiveCD images (e.g. < 100MB) that I may only use once and don't want to burn a physical CD for.

    • Admin
      Admin about 14 years
      Ok, I think I need MEMDISK from syslinux... I might ditch this or turn it into a community wiki thread...
  • Will Dixon
    Will Dixon about 14 years
    I'm a BSD noob - do you have any resources describing how it usually netboots?
  • Will Dixon
    Will Dixon about 14 years
    That pretty much answers it then - pfSense most probably doesn't have NFS support in the kernel. I'm happy for someone to prove me wrong though.
  • Stefan Lasiewski
    Stefan Lasiewski over 12 years
    Wow! I was searching for this just yesterday, an hour before you posted this. Is it possible to load ISOs over http? I've seen this mentioned on the FreeBSD forums
  • Will Dixon
    Will Dixon over 12 years
    @StefanLasiewski I think I've done it with Ubuntu using the netboot part of the ISO, but it required splitting things between /tftpboot for the PXE config and /var/www for the data (ISO mounted inside there perhaps?) - TFTP is a lot neater for us.