Date: Sat, 22 Nov 2008 01:12:57 +0100 From: Olivier SMEDTS <olivier@gid0.org> To: freebsd-fs@freebsd.org Subject: Re: ZFSBoot try and bsdlabel bootstrap code Message-ID: <20081122001256.GA16276@q.gid0.org> In-Reply-To: <367b2c980811211331v551893a8sde2231c3bc65468c@mail.gmail.com> References: <367b2c980811191412h5e0af470k165b37edc2fc5853@mail.gmail.com> <16C31872-6A83-4FAB-AC85-213D604CDDE4@rabson.org> <367b2c980811211331v551893a8sde2231c3bc65468c@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--M9NhX3UHpAaciwkO Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Fri, Nov 21, 2008 at 10:31:31PM +0100, Olivier SMEDTS wrote: > 2008/11/20 Doug Rabson <dfr@rabson.org>: > > > > On 19 Nov 2008, at 22:12, Olivier SMEDTS wrote: > > > >> Hello, > >> > >> I want to boot off a ZFS pool (version 13) on an USB stick for testing > >> purposes. But I'm stuck with the bsdlabel bootstrap code size... > >> I'm using a 2 hours old CURRENT. > >> > >> # kldload usb2_storage_mass > >> # kldload zfs > >> # dd if=/dev/zero of=/dev/da0 bs=512 count=32 > >> # fdisk -BI da0 > >> # dd if=/dev/zero of=/dev/da0s1 bs=512 count=32 > >> # bsdlabel -wB -b /boot/zfsboot da0s1 > >> bsdlabel: boot code /boot/zfsboot is wrong size > >> > >> Is what I'm trying to do with bsdlabel wrong ? > >> I previously tried with the default bootstrap code but I had an > >> (expected) "boot: Not ufs" error at boot. > >> > >> PS : I'm not subscribed to this list. > > > > The process for install zfsboot is a bit manual (and undocumented). Try > > something like this: > > > > # dd if=/boot/zfsboot of=/dev/da0s1 count=1 > > # dd if=/boot/zfsboot of=/dev/ds0s1 skip=1 seek=1024 > > It works ! > > Now I'm stuck at loader(8) prompt. > After having a look at your patch, I tried building world with > "LOADER_ZFS_SUPPORT=yes". And it seems broken, at least on amd64 : I managed to complete a fresh "buildworld LOADER_ZFS_SUPPORT=yes" with the attached patch. I took flags from sys/boot/i386/Makefile.inc without trying to really understand what was needed. Loader seems to recognize the zpool but can't "ls". I'll investigate that later. > # cd /usr/src > # make buildworld LOADER_ZFS_SUPPORT=yes > [...] > ===> sys (all) > ===> sys/boot (all) > ===> sys/boot/ficl (all) > ===> sys/boot/efi (all) > ===> sys/boot/efi/libefi (all) > ===> sys/boot/zfs (all) > ln -sf /work/src/sys/boot/zfs/../../../i386/include machine > cc -O2 -pipe -march=native -I/work/src/sys/boot/zfs/../common > -I/work/src/sys/boot/zfs/../.. -I. > -I/work/src/sys/boot/zfs/../../../lib/libstand > -I/work/src/sys/boot/zfs/../../cddl/boot/zfs -ffreestanding > -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2 > -mno-sse3 -Wformat -Wall -c /work/src/sys/boot/zfs/zfs.c > /work/src/sys/boot/zfs/zfs.c:1: error: -mpreferred-stack-boundary=2 is > not between 4 and 12 > *** Error code 1 > > Stop in /work/src/sys/boot/zfs. > *** Error code 1 > > Stop in /work/src/sys/boot. > *** Error code 1 > > Stop in /work/src/sys. > *** Error code 1 > > Stop in /work/src. > *** Error code 1 > > Stop in /work/src. > *** Error code 1 > > Stop in /work/src. > > > > Alternatively, you might try using the brand new support for GPT that I > > committed yesterday: > > Well, this one was broken on amd64 and is now disconnected from the build. > > Any advice ? > > Olivier > > > -- > Olivier Smedts _ > ASCII ribbon campaign ( ) > e-mail: olivier@gid0.org - against HTML email & vCards X > www: http://www.gid0.org - against proprietary attachments / \ > > "Il y a seulement 10 sortes de gens dans le monde : > ceux qui comprennent le binaire, > et ceux qui ne le comprennent pas." -- Olivier Smedts _ ASCII ribbon campaign ( ) e-mail: olivier@gid0.org - against HTML email & vCards X www: http://www.gid0.org - against proprietary attachments / \ "Il y a seulement 10 sortes de gens dans le monde : ceux qui comprennent le binaire, et ceux qui ne le comprennent pas." --M9NhX3UHpAaciwkO Content-Type: text/plain; charset=us-ascii Content-Disposition: inline; filename=HEADpatch1 --- sys/boot/zfs/Makefile.orig 2008-11-22 00:15:42.000000000 +0100 +++ sys/boot/zfs/Makefile 2008-11-22 00:16:22.000000000 +0100 @@ -17,6 +17,9 @@ CFLAGS+= -Wformat -Wall .if ${MACHINE_ARCH} == "amd64" +CFLAGS+= -m32 -march=i386 +LDFLAGS+= -m elf_i386_fbsd +AFLAGS+= --32 CLEANFILES+= machine machine: ln -sf ${.CURDIR}/../../../i386/include machine --M9NhX3UHpAaciwkO--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20081122001256.GA16276>