Dual booting TrueOS and Linux on a BIOS machine


I realise TrueOS only officially supports dual-boot on UEFI machines but I’m going to attempt dual-booting TrueOS with Arch Linux on my single drive, BIOS-based laptop - a Haswell i7 System76 GazellePro - and thought it would be a good idea to field suggestions from this forum first and document it as I go or when its done.

It would seem that the TrueOS installer currently has no support for creating custom partitions ie if you want to create a root partition that doesn’t fill your full disk. Hence, it seems I will have to use the FreeBSD 11 installer to do the partitioning before I install TrueOS in Advanced mode and tell it to install to the partitions created by FreeBSD, right?

I think the FreeBSD and TrueOS require a small boot partition of 64Kb or so that has to be placed at the start of the disk? After that will be the TrueOS root partition. It seems TrueOS defaults to creating a swap partition too but do I really need that with 8GB RAM? I don’t suspend to disk (I’m not sure TrueOS supports this anyway) and so I don’t usually bother with a swap partition under Linux and I may not bother creating one for TrueOS either unless it is mandatory? If it is required, is there a minimum size?

I will be using Linux tools to create the Linux (XFS) partition after having created the TrueOS partitions with the FreeBSD installer.

There is a patch for the FreeBSD bootloader so that it can chainload GRUB. This would be my preferred method of booting into Linux IF I can use the FreeBSD bootloader to boot TrueOS? I presume they are one and the same, just themed differently, right? The most important thing is that beadm and the bootloader menu functions correctly as this is the main reason I want to switch to TrueOS/FreeBSD. If I don’t get the FreeBSD chainload patch to work then I’ll have to use GRUB from a USB drive to chainload into my Linux install.

Any and all suggestions/corrections welcome!

Haswell GPU vs FreeBSD 12 / TrueOS & my OS switching update

I’ve still got not got round to this yet but I thought some more details would be useful in case anyone else is interested in giving BIOS-based dualbooting a go.

The patch is here:


It is configured via adding a line to loader.conf like:


Assuming you have installed GRUB or whatever to that partitions boot record, it should work.


I dual boot, but I’m still using Linux GRUB with a chainloader instruction for the TrueOS selection.


My solution was to just use the appropriate F-key to tell my BIOS to let me choose which drive to boot from, and then I can select the drive where I have Windows. So, I don’t actually use the bootloader to select which OS to boot. Obviously, that’s not ideal, but with us now being stuck with the FreeBSD bootloader instead of Grub, it seemed like my best choice. Fortunately, any future systems that I have will likely work with the UEFI stuff properly, and it won’t be an issue anymore.


lionel / jmdavis:

Sounds like you either have multiple drives and/or UEFI (most UEFI mobos let you choose the drive to boot from) my laptop has neither.


To be precise, my laptop does have a boot menu but a traditional BIOS-style one which doesn’t help trying to boot multiple OS’s off one drive - its one OS per drive.


In my case, I definitely have Windows on a separate drive from TrueOS. No boot menu that I’ve ever heard of does anything other than select the drive to boot from, and a bootloader would be required - which TrueOS no longer makes easy if you don’t have UEFI.


GRUB definitely lets you choose from multiple OSs on one drive. At one point in time I had my laptop quad-booting Linux, Windows, OSX and Haiku off one drive.

I’m aware things are trickier for non-UEFI users but I’ll be damned if I don’t give it a shot.


It would be a pretty sucky bootloader if it didn’t, but TrueOS insists on the FreeBSD bootloader now. :expressionless:

Well, good luck.


I’m most of the way now. I’ve got FreeBSD 11 installed to ZFS and dual-booting with Arch on my bios laptop but currently I can only boot into Arch by booting GRUB off USB first.

Now to test the chainloading patch!


It works!

I can now easily chainload Arch (GRUB) from the (patched) FreeBSD 12 bootloader on my single disk, BIOS laptop!

I’ll write a mini-HOWTO soon if anyone is interested?


Yes please - very interested…Was tinkering around yesterday, then I just installed PCBSD (oh it’s so slow) again to be able to get into my other systems, but TrueOS is actually needed to be there instead.
Thank you for being so persistent… I don’t want to give TrueOS up either




I’ve left out all the detall but I’ve outlined how I got FreeBSD 11 (installed to ZFS) and Arch happily dual-booting in that bug report.


I updated the github ticket again last night. I have now got TrueOS installed and dual-booting with Arch but I had to re-install FreeBSD (and Linux) because my pool was trashed, I had to install into a boot env and I had to use a TrueOS install image from April due to a crash on the graphics driver selection screen on more recent install images.

If anyone else tries installing into a bootenv, don’t be worried when it asks “Start Full Disk Installation now?” - TrueOS doesn’t create, delete or modify any partitions when installing to a new BE so I’d recommend the devs change the wording of that notice. My FreeBSD partition/ pool doesn’t fill my full disk. “Start installation to new boot environment now?” would be more a more appropriate question for a BE install.