Date: Thu, 29 Jul 2010 11:06:59 +0300 From: Volodymyr Kostyrko <c.kworr@gmail.com> To: freebsd-sparc64@freebsd.org Subject: Re: ZFS root partition Message-ID: <i2rcr3$q5k$1@dough.gmane.org> In-Reply-To: <20100728210257.GB10197@alchemy.franken.de> References: <AANLkTimnM=taU4rNuX51cAiLjWkC1zKNgLYH0xgSRoHB@mail.gmail.com> <201007270945.32010.jhb@freebsd.org> <20100728210257.GB10197@alchemy.franken.de>
next in thread | previous in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?i2rcr3$q5k$1>