Booting from ZFS RaidZ
dfr at rabson.org
Fri May 29 08:29:41 UTC 2009
On 27 May 2009, at 20:55, Paul Wootton wrote:
> Doug Rabson wrote:
>> On 27 May 2009, at 16:38, Paul Wootton wrote:
>>> 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
>> 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
> Verifying DMI Poll Data .............
> FreeBSD/i386 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).
More information about the freebsd-current