Home › Monthly Archives › August 2011

Installing FreeBSD 8.x via pxelinux and ISO image

The Problem: The main problem is that my old laptop which happens to be my router has a broken cdrom drive and BIOS does not support USB booting but it does support network/pxe booting. And all documents out there are about how to install FreeBSD via PXE using boot/pxeboot file or disk images. I want to use my existing pxelinux based enviroment to do the install.

Solution: Syslinux/pxelinux can actually read ISO images and hence the FreeBSD bootonly iso file can be used.

Ingredients:

  • isc-dhcpd
  • tftpd-hpa
  • vsftpd (optional)
  • syslinux (pxelinux)
  • FreeBSD bootonly iso file
  • FreeBSD disk1 iso file (optional)

Recipie: Setup dhcpd.conf for tftp as described on serveral blogs and docs. Here is the relevant section from mine

subnet 192.168.2.0 netmask 255.255.255.192 {
     range dynamic-bootp 192.168.2.30 192.168.2.60; #dynamic or bootp 
     next-server 192.168.2.1;  # TFTP server address
     filename "gpxelinux.0";   # PXE boot loader filename

Edit the pxelinug.cfg/default menu and add the following section.

label fbsd
  menu label FreeBSD ISO Install
  kernel memdisk
  initrd images/freebsd/FreeBSD-8.2-RELEASE-i386-bootonly.iso.gz
  append iso raw

Note i gzipped the iso image and had to use the “raw” option.

And that’s it folks. Very simple. No hanky panky with mdconfig, extracting files, editing loader.conf etc etc. I installed using local ftp but you can use the other options too.