Booting from ZFS RaidZ

Doug Rabson dfr at
Sat May 30 08:36:07 UTC 2009

On 29 May 2009, at 18:18, Paul Wootton wrote:

> Doug Rabson wrote:
>> On 27 May 2009, at 20:55, Paul Wootton wrote:
>>> Doug Rabson wrote:
>>>> On 27 May 2009, at 16:38, Paul Wootton wrote:
>>>>> Hi,
>>>>> With the recent changes allowing RaidZ boot, I thought I would  
>>>>> finally drop my mirror pack and go RaidZ.
>>>>> The only problem I now have is
>>>>> demophon# zpool set bootfs=DemoPool/root DemoPool
>>>>> cannot set property for 'DemoPool': operation not supported on  
>>>>> this type of pool
>>>>> Is this still a work in progress, or do I have something a-miss?
>>>>> I am using current as of today
>>>>> "demophon# uname -a
>>>>> FreeBSD demophon 8.0-CURRENT FreeBSD 8.0-CURRENT #17: Wed May 27  
>>>>> 13:18:06 BST 2009     paul at demophon:/usr/obj/usr/src/sys/ 
>>>>> DEMOPHON  amd64"
>>>> This is a limitation which I will remove as soon as I have a  
>>>> little time to work on it. Basically, Solaris can only boot from  
>>>> simple structures such as mirrors and collections of mirrors. The  
>>>> code enforces this by stopping you from setting the bootfs  
>>>> property if the pool configuration is too complex for the Solaris  
>>>> boot code. I will simply remove this limitation for FreeBSD since  
>>>> we can now boot from any pool configuration.
>>>> In the meantime, you can still boot if you put your root  
>>>> filesystem files in the root of the pool. Not ideal I know but  
>>>> I'll try to fix it properly soon.
>>> This does seem to work correctly for me as I get a BTX crash (see  
>>> below)
>>> Verifying DMI Poll Data .............
>>> \
>>> FreeBSD/i386 boot
>>> Default:DemoPool:/boot/kernel/kernel
>>> boot:
>>> |
>>> int=00000000  err=00000000  elf=00010083  eip=00192adf
>>> eax=00192e02a  ebx=df5610ed  ecx=d485b986  edx=00000000
>>> esi=00000040  edi=000935d0  ebp=0009339c  esp=00000000
>>> cs=0008 ds=0010 es=0010 fs-0010 gs=0010 ss=0010
>>> cs:eip=c5 e4 00 66 0f 73 dc 02-ff e4 b8 8d 8d bc f2 2a
>>> e9 ba e6 f4 2a 8a d8 24-df 86 c4 be 00 2b e9 8b
>>> ss:esp=16 e8 00 f0 16 e8 00 f0-c3 e2 00 f0 16 e8 00 f0
>>> 16 e8 00 f0 54 ff 00 f0-b8 6e 00 f0 16 e8 00 f0
>>> BTX halted
>> How frustrating. Can you give me some idea on your ZFS pool  
>> configuration. Also, if you can dig out the symbol table for /boot/ 
>> loader (it should be lurking somewhere in your /usr/obj tree as  
>> loader.sym), it would be interesting to see where it crashed (i.e.  
>> whats the closest symbol to the value of EIP above).
>> _______________________________________________
>> freebsd-current at mailing list
>> To unsubscribe, send any mail to "freebsd-current-unsubscribe at 
>> "
> Erm, Opps.... Im an idiot....
> I went back over my steps and realised the I had forgotten to do a  
> "make distrib-dirs" and "make distribution"
> Now it boots the kernel but I can not get it to mount the root  
> filing system.
> I have got a few more thinks to try before I throw my hands in the  
> air, but unfortunately that will not be until after the weekend (the  
> BSD is my main PC at work)

What do you have in /etc/fstab for the root filesystem? I'm not  
exactly sure if the root mounting code can cope with mounting the root  
of the pool as root filesystem. You might try the attached patch which  
should allow setting bootfs on raidz pools to something more useful  
than the root.

More information about the freebsd-current mailing list