Thursday, 5 March 2015

Adding FreeBSD, FreeNAS, PCBSD/TrueOS to Easy2Boot

Update: E2B 1.63 now supports FreeBSD, pfSense and GhostBSD .img files! See blog post here.

Recent versions of FreeBSD, FreeNAS, PCBSD/TrueOS ISOs do not 'just work' when copied to the E2B USB drive. However, if you can make a bootable FAT32 USB Flash drive that works correctly (e.g. using Unetbootin), then it is often possible to use the MPI Tool Kit's MakePartImage to make a .imgPTN partition image file directly from the working USB Flash drive.

Unfortunately, Unetbootin don't seem to be able to make a bootable FAT32 USB flash drive from recent versions of FreeBSD-based ISOs. These more recent versions can only be booted from a USB Flash drive if they are directly imaged using 'dd' (or RMPrepUSB - File->Drive).

Method for transferring Unetbootin files to E2B

1. Using a spare FAT32 freshly-formatted USB Flash drive, use a utility such as Unetbootin to make a bootable USB drive
Note: Do not use the 'dd' method of making a bootable Flash drive as this does not make a FAT32 volume on the USB drive.
2. Test booting from the USB Flash drive on a real system (it may not always work under VBox or VMWare).
3. Drag-and-Drop the USB drive icon (e.g. H:) onto the MPI_FAT32 Desktop shortcut to create a .imgPTN file.
4. Copy the new .imgPTN file to your Easy2Boot USB drive (e.g. \_ISO\LINUX)
5. Run WinContig to make all files on the E2B USB drive contiguous
6. Now boot to E2B and test the new .imgPTN file.


I used Unetbootin (UNB) to test a few ISOs or .img files with the results below:

FreeNAS-amd64-LiveCD- E2B-OK (direct boot from E2B, .img.gz also boots)
FreeNAS-amd64-LiveCD- UNB-OK E2B-OK
FreeNAS-9.3-STABLE-201502162250.iso UNB-FAIL
FreeNAS-8.2.0-RELEASE-p1-x64.iso UNB-FAIL

TRUEOS10.1.1-RELEASE-01-31-2015-x64-DVD-USB.iso UNB-FAIL
TRUEOS10.1.2-PRERELEASE-02-20-2015-x64-DVD-USB.iso UNB-FAIL

According to here, FreeBSD 10 does not work with Unetbootin.
FreeBSD-10.0-RELEASE-amd64-bootonly.iso UNB-FAIL
FreeBSD-9.3-RELEASE-i386-disc1.iso UNB-FAIL
FreeBSD-9.2-RELEASE-amd64-memstick.img UNB-FAIL
FreeBSD-8.4-RELEASE-amd64-bootonly.iso E2B-OK (direct boot)
FreeBSD-8.4-RELEASE-amd64-disc1.iso E2B-OK (direct boot)
FreeBSD-8.0-RELEASE-amd64.iso UNB-OK E2B.imgPTN-OK (direct boot)

So it seems there was a change somewhere between 8.0 and 9.2 which stopped Unetbootin from working...

If you know how to make a FAT32 bootable USB drive with any of these later versions, please let me know! It should be possible to make a working .imgPTN file from it.

Note: see next blog post to see how I got FreeBSD images working.