PXE从pxelinux服务器启动FreeBSD iso

我使用FOG作为TFTP / PXE服务器,并希望能够启动FreeBSD LiveCD(特别是pfSense ,但它可以是任何LiveCD,真的); 我发现HOWTOs引导一个“netboot”BSD,但他们似乎都使用BSD服务器。 所以:

  • 是否有可能从Linux服务器PXE启动BSD?
  • 是否可以PXE启动一个BSD LiveCD?
  • PXE可以启动Linux LiveCD吗?

我的主要动机是能够启动我只能使用一次而不想刻录物理CD的小型LiveCD映像(例如<100MB)。

我不知道FOG,但是如果镜像可以从NFS启动 (这可能会成为像pfSense这样的发布版本的关键),它应该工作得很好。 您应该能够按照手册中的基本说明进行操作。

我也考虑运行一个虚拟机来testing这些东西。 QEmu在fBSD上运行良好。

编辑:如果您熟悉这些部分,请参阅FreeBSD PXEBoot快速而脏的指南 。
如果您不太熟悉,那么手册的 无盘操作部分就更多了。

简要概述步骤:
您将计算机设置为从网卡进行PXE引导。 这通常是一个BIOS选项。
在DHCP服务器上设置DHCP选项,告诉PXE在哪里可以findFreeBSD的加载器(pxeboot)。
DHCP选项还告诉加载程序在哪里find根文件系统(一个NFS共享)。
加载器挂载NFS根文件系统,find内核,并从那里正常启动。
(注意,内核需要支持从一个通常不被编译的NFS共享引导)

两年后,从FOG引导PXE引导ISO的通用说明存在:

  • 在FOG Bootmenu中包含任何ISO
  • 如何:修改PXE启动菜单以允许启动.iso文件

MEMDISK wiki也有引导ISO的说明 ; 我已经成功地使用了ISOHYBRID技术来加载PartedMagic(即将其加载为磁盘映像),但是ISO技术也适用于例如FreeBSD。

事实certificate这是FreeBSD 9.1中的一个回归。 这用于正常工作:

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 

但是,这不再是:

 LABEL FreeBSD-9.1-amd64 MENU LABEL FreeBSD 9.1 AMD64 kernel memdisk append initrd=freebsd/FreeBSD-9.1-RELEASE-amd64-memstick.img raw 

我不使用FOG,但是我可以从pxelinux启动pfSense。

  1. 首先,我安装了pfSense LiveCD ISO并复制了这些文件。 cp -r pfsenseiso/* os/pfsense/
  2. 确保你有通过NFS共享该path。 我使用这些选项ro,async,no_subtree_check,insecure,no_root_squash
  3. 添加根path到dhcpd.conf与NFS挂载点(afaik pxelinux不利用根path)

dhcpd.conf中

  option root-path "10.3.128.10:/opt/data/tftpboot/os/pfsense"; 

4.链路负载在pfsense ISO中findFreeBSD pxeboot(这个pxeboot使用根path)。

pxeconfiguration

  LABEL pfsense MENU LABEL pfSense installer PXE http://10.3.128.10:8080/os/pfsense/boot/pxeboot 

你已经设置好了,你可以通过pxe启动和/或安装pfsense。