ZFS root partition

Volodymyr Kostyrko c.kworr at gmail.com
Thu Jul 29 08:55:10 UTC 2010


29.07.2010 00:02, Marius Strobl написав(ла):
>>> Is is possible to have a ZFS root with sparc64? I've used one of the
>>> guides on the wiki, http://wiki.freebsd.org/RootOnZFS/GPTZFSBoot, on
>>> amd64 and it worked fine, but that doesn't seem to apply, since the
>>> /boot/pmbr and /boot/gptzfsboot files don't exist on sparc64.
>>
>> Booting from a GPT isn't supported for OpenFirmware, so it doesn't work for
>> sparc64.

The problem might reside in protective MBR. gpart creates PMBR the way 
some older BIOS'es would be confused - it doesn't align partitions.

I have surpassed that on older i386/amd64 machines by editing pmbr with 
fdisk an giving fdisk chance to 'fix' protective partition.

> Looking at the description of the ZFS on-disk format it should
> be possible to implement something similar with the VTOC scheme
> though; the first-stage loader (8K max., we have no zero-stage
> on sparc64) probably should jump to something like a 1.5-stage
> loader located in the 3.5MB boot block area located after the
> ZFS uberblock and would need to know how to read ZFS in order
> to finally load /boot/loader. I haven't looked at how the GPT
> variant works in detail but I suspect most of the ZFS-specific
> actually could be recycled. The other missing part would be to
> teach some part (maybe GEOM_PART) how to write something to the
> ZFS boot block area. Any takers? :)

It's already done for i386/amd64 through zfsboot. You just need to:

dd if=/boot/zfsboot of=/zpool/shard bs=512 count=1
dd if=/boot/zfsboot of=/zpool/shard bs=512 seek=1024 skip=1

This scheme has some disadvantages also:
  - you can't update boot code on running pool;
  - ZFS would not propagate boot loader to other mirrors/spares (current 
available version, there was talk about that on opensolaris mailing lists).

That way gpart partitioning gives you:
  - separate partition to contain extra boot-code;
  - ability to add some swap on raw disk and not on vdev.

-- 
Sphinx of black quartz judge my vow.



More information about the freebsd-sparc64 mailing list