PXE boot FreeBSD iso from pxelinux server
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:
- Include any ISO in the FOG Bootmenu
- How to: Modify the PXE boot menu to allow the booting of .iso files
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
Related videos on Youtube
Will Dixon
Updated on September 17, 2022Comments
-
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 about 14 yearsOk, I think I need MEMDISK from syslinux... I might ditch this or turn it into a community wiki thread...
-
Will Dixon about 14 yearsI'm a BSD noob - do you have any resources describing how it usually netboots?
-
Will Dixon about 14 yearsThat 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 over 12 yearsWow! 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 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.