Dual Boot with Arch Linux

How come your zfs is labeled "tank"? Most installs end up with a zfs labeled "zroot". Which instruction did you follow?
 
"tank" is the output from the blkid command, as you can see from the blkid output copy. The installation that I used was pc-bsd 11-Nov. My assumption was that something so basic would not change. To be clearer, the bootloader I'm using is the extlinux part of syslinux, which reads partitions on separate disks. The uuid shown leads to the correct partition.
The setup that you see has no error message, it simply states "booting", and freezes.
 
This info may not be current but when I was using Arch a few months ago, I attempted to dual boot with (then) 10.2. I was never able to successfully get grub2 to recognize ZFS and boot it. I did get grub2 to successfully recognize and boot UFS volumes however. My grub2 install was on the Arch install. I do not have any configuration examples that worked because I no longer use Linux, I am merely bringing up that I am not sure if current versions of grub2 will recognize ZFS. If I am wrong, I am sure someone will correct me ;)
 
grub2 can recognize zfs, provided that the corresponding module is added. (insmod zfs), but the OP apparently is using syslinux, not grub2.

I was also booting FreeBSD from Arch grub2 in the past, and basically there are three methods to boot:
- chainloading
- loading /boot/loader
- loading the kernel directly
all three methods can be successful, the latter however will ignore loader.conf settings, therefore I would discourage that method unless you know exactly how to transpose loader.conf settings to grub.cfg.
 
Given that you use 2 disks (sda and sdb) I suggest you keep it simple.
Start by teaching each disk to boot on it's own; you can probably switch between disks by hitting F9 during bios boot.

In a second step add the other disk as an option in each boot menu. The old way under Linux (sdb) used to be
Code:
rootnoverify (hd0,0)
chainloader +1
This simply reloads the complete FreeBSD boot stack using MBR sector 0.
To teach your FreeBSD boot setup (sda) to boot linux on sdb you will need to install the grub package and configure it.

Why is this important? Because kernel updates in FreeBSD might want to update your boot environment. The updater does it's very best to keep your system bootable. But it cannot, and should not, manage a boot environment that is provided by another OS on another disk. So, if you upgrade to, for example, 12.0 and new zfs features are installed, your bootenv on sdb is left untouched and might not be able to boot sda anymore.
Same holds for Linux updates on sdb that will not touch boot settings on sda, thus defeating booting sdb via bootenv on sda.
 
Back
Top