FreeBSD Installation into a dual boot environment with Windows 10 (MBR/BIOS not UEFI)


If you’re going to install FreeBSD, I suggest you check at least the following two pages for hardware compatibility. Given its relatively smaller user base, manufacturers aren’t as forthcoming with firmware and drivers for operation under FreeBSD. If you want most things to just work out of the box, research compatible hardware options to make sure the computer you’re considering won’t require further configuration after installation. Some incompatibilities can be more troublesome than you might expect–despite what the experts say.

As a rule of thumb, refurbished Think Pads have a high strike rate and can often be picked up at a good price.

I mentioned it was a Dell Inspiron 1545 x64; further hardware specifications are detailed below.

Processor: Intel Celeron CPU 900 @ 2.2 GHz
HDD: Samsung HM501II 451 GB
Wireless Network Card: Broadcom BCM4312 802.11b/g
Ethernet Network Card: Marvell Yukon 88E8040 PCI-E Fast Ethernet Controller
Video Adapter: Mobile Intel 4 Series Express Chipset GMA 4500MHD WDDM1.1 1.5 GB 64MB
DVD/CD-ROM: Optiarc DVD+-RW AD-7700H

Old and basic, but a fitting system for my return to FreeBSD.

The installation process is relatively pain free. I downloaded the FreeBSD-11.1-RELEASE-amd64-memstick.img file (make sure you get the one that matches your system architecture) from the official https site:

I was in the existing Windows OS on the notebook so downloaded Win32 Disk Imager from Source Forge to burn the FreeBSD installer image to a USB flash drive:

It was at this moment that I decided to keep Windows and setup a dual boot environment with FreeBSD. So I opened the native Windows application Disk Management, which is super easy to use. Just follow the instructions at the first link to shrink the existing disk volume, and then follow the instructions at the second link to create a new partition for the FreeBSD install.


I split the 450 GB HDD in half; opened Win32 Disk Imager and burnt the downloaded FreeBSD-11.1-RELEASE image to a trusty old 1GB USB flash drive; rebooted the system; hit F12 at boot to enter the system BIOS; set the first boot device to the USB drive; and booted into the live version of FreeBSD 11.1-RELEASE on the flash drive.

Once in, I selected the Install option and chose guided partitioning. It’d been several years since my last return to FreeBSD, and I wanted this process to be as painless as possible. From memory, setting up a dual boot environment with Windows is easy enough provided Windows is already installed and you don’t install FreeBSD on ZFS, so I was keeping it vanilla as possible. I selected to Partition and not use the Entire Disk as I wanted to keep the existing Windows OS, and chose the volume previously allocated in Windows Disk Management, which was displayed just as it was made. Hit Finish then Commit and let the FreeBSD Installer work its magic! Once the installation process had completed, I was presented with a prompt to enter a new root password. FreeBSD then ran through the usual process of network configuration, location and local time setup, startup processes selection, and user account addition. Following the prompts is easy and self-explanatory. The most complicated process might be static IP assignment if not selecting DHCP automatically assigned IP addresses, but I went with the latter. Once the FreeBSD installation was complete, I rebooted into FreeBSD 11.1-RELEASE.

To finish setting up the Windows 10 / FreeBSD dual boot, I ran the following commands:

root@pinkdell:~ # gpart show
=> 63 976773105 ada0 MBR (466G)
 63 80262 1 !222 (39M)
 80325 1595 - free - (798K)
 81920 30720000 2 ntfs (15G)
 30801920 474314800 3 ntfs (226G)
 505116720 471656447 4 freebsd [active] (225G)
 976773167 1 - free - (512B)

=> 0 471656447 ada0s4 BSD (225G)
 0 463470592 1 freebsd-ufs (221G)
 463470592 8185854 2 freebsd-swap (3.9G)
 471656446 1 - free - (512B)

root@pinkdell:~ # boot0cfg -B ada0

gpart just to confirm the disk label and boot0cfg with the -B flag to write the FreeBSD Boot Manager to the MBR (Master Boot Record) of the hard disk so that I could choose whether to boot into Windows or FreeBSD at startup. I then sent shutdown -r now to the console and rebooted to make sure everything worked. Sure enough, the FreeBSD Boot Manager screen presented me with the options to boot Windows with F1 or FreeBSD with F4. Success!

After booting into Windows to make sure everything was still in tact and operational, I rebooted back into FreeBSD to start setting up my system, only to discover that the Broadcom wireless network card wasn’t detected. A quick search revealed that there was no driver support in the generic FreeBSD kernel for the Broadcom BCM4312 wireless network card, so I set myself to task to fix it. I’ll show you how in the next article!


2 thoughts on “FreeBSD Installation into a dual boot environment with Windows 10 (MBR/BIOS not UEFI)”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s