TrueOS triple-boot install next to 2 main Linux installs (UEFI laptop with legacy BIOS mode enabled, GPT partition with MBR for grub)


#1

I have a notebook with 2 Linux versions as its main OS options, plus an old FreeBSD install that never worked properly due to hardware incompatibilities. I’d like to reuse the partitions used by FreeBSD for TrueOS but for now preserve Linux as the main OS. IOW, I’d like to continue to be able to run Grub as usual under Linux.

FWIW, that main Linux is an Ubuntu variant running off a ZFSonLinux pool, with a good-ole-ext4 /boot partition.

From what I understand, using rEFind should make that possible because my Grub bootloader sits in an emulated MBR somewhere in a “system” part of that GPT partition table. From what I’ve seen of rEFind on Mac, I’d first get the rEFind bootscreen, containing an option that should take me to the Grub boot screen. The TrueOS boot option would no longer be available at that stage but that’s fine with me (there’s always the 3-finger salute to go back to the rEFind bootscreen).

Can someone confirm?

It’d be even better if someone already has experience with this and post (or point me to) some guidelines, evident mistakes to avoid, etc.

I looked around for existing threads on this but most dual boot topics seem to consider that TrueOS will be the main OS, and (almost) none contain more than a fleeting reference to rEFind.

Thanks,
René


#2

Since TrueOS is based on FreeBSD, you will probably run into the same “incompatibility” issues you did with FreeBSD before.


#3

Since TrueOS is based on FreeBSD, you will probably run into the same “incompatibility” issues you did with FreeBSD before.

A priori no, the Intel N3150 and builtin Intel WiFi should be supported now.


#4

You may have better luck with TrueOS, since it’s 12-Current. You may want to test it by switching your existing FreeBSD install.

As for the multi-boot, I have a dual-boot with windows working via rEFId. Which is no surprise I guess. Imagine, you can tweak refind to boot your Linux(es) as well. Unless you have encrypted partitions.


#5

You may have better luck with TrueOS, since it’s 12-Current. You may want to test it by switching your existing FreeBSD install.

That’s what I was planning to do, but I’d first have to figure out if I can just run the installer. I don’t want to have to jump through whatever hoops to boot back into Linux.
Installing to the FreeBSD partitions via VirtualBox and using a rawdisk device only worked when I created a “full” rawdisk vmdk using the partition’s device (/dev/sda5) so I now have a physical partition with a GPT partition map (and thus not mountabled directly). At least I’ll be able to explore the OS this way.

As for the multi-boot, I have a dual-boot with windows working via rEFId. Which is no surprise I guess. Imagine, you can tweak refind to boot your Linux(es) as well. Unless you have encrypted partitions.

Yeah, I’d expect so too. I don’t want to take chances though (see above about hoops).
What MS Windows is that on your machine?

My experience with rEFind (or rFId) is limited to a version from a few years back, used on Mac from a thumbdrive (which I probably didn’t set up myself but instead created from a downloaded image). That would be an option: install to the FreeBSD internal partitions but put the bootloader stuff that could interfere with Grub on a USB “dongle”. I’d need that dongle to boot TrueOS but that’s fine on this machine. The question is of course if the installer allows this sort of tweak.

R.


#6

I mean, you probably can just switch your current FreeBSD install to track 12-current (23.4. Tracking a Development Branch). If that works fine, probably it won’t be so painful to lose your existing linux installs if something goes south during TrueOS deployment. Somehow I’ve had an impression, you’re ready to give them up otherwise.

Who knows, staying with FreeBSD-current is also an option. In that case, you don’t have to change anything in the current bootloader.

It’s windows 10/TrueOS dual-boot, half a year old. actually, it was the TrueOS installer which put rEFInd there. I don’t remember doing anything special by myself.

Also, I have a notebook dual-booting windows 10/Manjaro installed through the architect edition installer and booting via rEFInd as well. Done it just recently.

It feels relatively safe to go with rEFInd and then tweak it if you need to.

Unfortunately, I’m not very experienced with rEFInd/grub. Maybe someone with more knowledge on the topic can advise.


#7

I mean, you probably can just switch your current FreeBSD install to track 12-current

That’s what I would have tried if I could still boot into that install. As it happens that hasn’t been possible for quite a while, despite following all grub-related tricks. There’s nothing to back up on that install either (that I haven’t already salvaged because I can mount the pool just fine under Linux).

it won’t be so painful to lose your existing linux installs if something goes south during TrueOS deployment. Somehow I’ve had an impression, you’re ready to give them up otherwise.

Nope, that’s wishful thinking :stuck_out_tongue: I don’t give up trusted and well-seasoned computing environments easily, a successor has to earn my appreciation and make me want to change.

Initial impression of TrueOS running in a VM is that it’s going to be quite a bit of work to set up the DE the way I want it. I’m now trying to get the KDE Plasma desktop installed, up and running, and then we’ll see. It’ll probably be a plus in my book if the Plasma4 environment will continue to receive official support even after its KF5/Plasma5 successor has landed as that would allow me to duplicate and carry on with some of the work I’m currently doing on Linux (and Mac) with hopefully minimal changes to the workflow.

Who knows, staying with FreeBSD-current is also an option.
No idea; I’m really looking for a desktop system. I don’t need very fancy stuff, but it has to have solid configurability so it can look good and correspond otherwise to my criteria.


#8

Another option is to run TrueOS from usb stick completely. Until you’re ready to take a jump. A saw a few posts here ppl doing it. Preferably from usb3. I repurposed one of my old ssd drives for that.


#9

In that case I’d probably install it to an external HDD that’s more representative of what performance could be like. I might still do that, using a clone (not in the ZFS sense) of my internal, so I get to verify the installation process as well.

And I’m guessing that afterwards I should be able to dd the external TrueOS partition(s) onto the target internal partition(s).


#10

Makes sense… even though I have no doubts, TrueOS/FreeBSD is up to the challenge and most likely to outperform Linux on the same hardware :stuck_out_tongue_winking_eye: (not trying to start a holy war or anything).

Probably, I never tried that, but remember hearing about some limitation on a drive size. Like over 128GB requires special support from kernel (on Linux at least)… maybe a red herring or something from the old times.

Also, there is zfs import/export. again, never tried yet.


#11

Makes sense… even though I have no doubts, TrueOS/FreeBSD is up to the challenge and most likely to outperform Linux on the same hardware :stuck_out_tongue_winking_eye:

Will likely be a mixed bag. I read that Chromium is a problem for instance (and much as I hate it, I’m a bit tied in to Google Chrome ATM).
If things haven’t changed with recent *BSD kernels, apps monitoring large numbers of files for changes will also be handicapped or take a performance hit.

Probably, I never tried that, but remember hearing about some limitation on a drive size. Like over 128GB requires special support from kernel (on Linux at least)… maybe a red herring or something from the old times.

Nope (or yes to the maybe). I haven’t had to do anything of the sort since I got back to Linux at around kernel 3.13 . I cannot exclude that Ubuntu already set the right build configuration flags but then, who’d not want to support common drive sizes? 128Gb is big(ish) only for phones nowadays…

%> 73168 sectors, 465.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): A9B02C17-CDB3-43A7-BD5E-B3CF38B87B2F
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 976773134
Partitions will be aligned on 8-sector boundaries
Total free space is 32749 sectors (16.0 MiB)
Number Start (sector) End (sector) Size Code Name
1 40 409639 200.0 MiB EF00 EFI
2 409640 411687 1024.0 KiB EF02 GPT Boot Partition
3 411904 33966335 16.0 GiB 8200 swap
4 33966336 640043263 289.0 GiB 8300 bolaLNX
5 640043264 744900863 50.0 GiB 8300 bolaLNX2
6 744900864 745949439 512.0 MiB 8300 bolaBoot
7 745949440 972644607 108.1 GiB A504 bolaBSD
8 972644608 976740607 2.0 GiB A502

%> zpool get all
NAME PROPERTY VALUE SOURCE
bolaLNX size 288G -
bolaLNX capacity 67% -
bolaLNX altroot - default
bolaLNX health ONLINE -

Also, there is zfs import/export. again, never tried yet.

The most convenient way I’ve found to duplicate a pool is using a mirror zdev. You add a mirror (of the appropriate size of course), wait until resilvering is complete and then split off the device to a new standalone pool.
Does take more time, but a full clone always takes too long to wait for it, and with the mirror approach you can continue to use the disk being cloned without having to worry about changes (to the original) not being synchronised. You just have to be careful to add a mirror device (don’t ask me how I know).

R.


#12

I use it as a default. Works fine for me, not a single crash, but maybe I just didn’t put it under a heavy load yet.

Sounds like you know what you’re doing :slight_smile: