ZFSBoot try and bsdlabel bootstrap code

Olivier SMEDTS olivier at gid0.org
Fri Nov 21 13:31:32 PST 2008


2008/11/20 Doug Rabson <dfr at 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 :

# 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 at 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."


More information about the freebsd-fs mailing list