Re: VirtualBox 7.0, FreeBSD 12.4-RELEASE-amd64, ZFS, and bootpool

From: David Christensen <dpchrist_at_holgerdanske.com>
Date: Sun, 31 Dec 2023 23:10:42 UTC
On 12/31/23 00:34, Alexander Burke wrote:
> Dec 31, 2023 04:36:42 David Christensen wrote:
>> freebsd-questions:
>>
>> If I use VirtualBox 7.0 (on Debian 11.8 amd64) to create a FreeBSD-12.4-RELEASE-amd64 virtual machine with BIOS (MBR), ZFS boot, encrypted swap, and encrypted ZFS root, the boot pool is not imported automatically when the system boots:
>>
>> root@geneweb:~ # freebsd-version ; uname -a
>> 12.4-RELEASE-p9
>> FreeBSD geneweb 12.4-RELEASE-p9 FreeBSD 12.4-RELEASE-p9 GENERIC  amd64
>>
>> root@geneweb:~ # zpool import
>>      pool: bootpool
>>        id: 16038363864467226171
>>     state: ONLINE
>>    action: The pool can be imported using its name or numeric identifier.
>>    config:
>>
>>      bootpool    ONLINE
>>        ada0s1a   ONLINE
>>
>>
>> Why?
>>
>>
>> I have seen the defect since FreeBSD-12.1-RELEASE-amd64.  I do not know if it was present earlier.
>>
>>
>> How do I arrange for bootpool to be imported automatically at boot?


 > FreeBSD 11 is deprecated and out of support. Have you tried with a
 > newer version? Quite a few changes to ZFS have happened since then,
 > including the switch to OpenZFS.


Regarding FreeBSD versions, please re-read my post (above).


Regarding FreeBSD ZFS changes, I am reminded of the recent OpenZFS data 
destruction bug.  And, I recall issues when I evaluated FreeBSD 13/ 
OpenZFS in the past.  I am not inclined to trust my data to OpenZFS 
unless and until I see improvements in their processes, validation of 
their processes and code by reputable entities, and no defects 
discovered for "long enough".  This means FreeBSD 13 is not an option 
for me at this time.


But the major problem is that FreeBSD EoL'd 12.4R today:

     https://www.freebsd.org/security/#sup


I am screwed.


I think the 12.xR line should have continued until OpenZFS is proven and 
until the FreeBSD 12->13 upgrade boot loader OpenZFS bug is fixed.


David