atom feed20 messages in org.freebsd.freebsd-fsRe: ZFSBoot try and bsdlabel bootstra...
FromSent OnAttachments
Olivier SMEDTSNov 19, 2008 2:11 pm 
Doug RabsonNov 20, 2008 8:07 am 
Olivier SMEDTSNov 20, 2008 8:19 am 
Ulf LilleengenNov 20, 2008 8:25 am 
Doug RabsonNov 20, 2008 8:39 am 
Olivier SMEDTSNov 21, 2008 1:30 pm 
Olivier SMEDTSNov 21, 2008 4:12 pm 
Doug RabsonNov 22, 2008 1:27 am 
Joao BarrosNov 24, 2008 5:47 pm 
Joao BarrosNov 29, 2008 5:08 pm 
Doug RabsonNov 30, 2008 1:04 am 
Joao BarrosDec 6, 2008 7:37 am 
Paul SaabDec 6, 2008 10:29 am 
Randy BushMay 13, 2009 1:29 am 
Ollivier RobertMay 13, 2009 1:39 am 
Olivier SMEDTSMay 13, 2009 1:41 am 
Ollivier RobertMay 13, 2009 1:46 am 
Doug RabsonMay 13, 2009 11:17 am 
Randy BushMay 14, 2009 12:44 am 
Ollivier RobertMay 14, 2009 3:15 am 
Subject:Re: ZFSBoot try and bsdlabel bootstrap code
From:Joao Barros (joao@gmail.com)
Date:Dec 6, 2008 7:37:57 am
List:org.freebsd.freebsd-fs

On Sun, Nov 30, 2008 at 9:05 AM, Doug Rabson <df@rabson.org> wrote:

On 30 Nov 2008, at 01:08, Joao Barros wrote:

On Tue, Nov 25, 2008 at 1:48 AM, Joao Barros <joao@gmail.com> wrote:

On Fri, Nov 21, 2008 at 9:31 PM, Olivier SMEDTS <oliv@gid0.org> wrote:

2008/11/20 Doug Rabson <df@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

Alternatively, you might try using the brand new support for GPT that I committed yesterday:

# gpt create -f da0 # gpt boot -b /boot/pmbr -g /boot/gptzfsboot da0 # gpt add -t freebsd-zfs da0 # zpool create mypool da0p2

It works !

Now I'm stuck at loader(8) prompt.

That's a me too.

I tried this under vmware with LOADER_ZFS_SUPPORT=yes on make.conf: # gpart create -s gpt ad0 # gpart add -b 34 -s 128 -t freebsd-boot ad0 ad0p1 added # gpart add -b 162 -s 15078327 -t freebsd-zfs ad0 ad0p2 added # gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ad0 # zpool create tank ad0p2 # zpool set bootfs = tank tank

lsdev on loader shows: cd devices: disk devices: disk0: BIOS drive c: disk0p1: FreeBSD boot disk0p2: FreeBSD ZFS pxe devices: zfs devices:

Any hints?

I'm trying to figure out why loader doesn't see my zfs pool and here's what I got:

FreeBSD/i386 boot Default: tank:/boot/loader boot: status pool: tank config: NAME STATE tank ONLINE ad0p2 ONLINE

I added some printfs on loader\main.c:

guid = kargs->zfspool; unit = zfs_guid_to_unit(guid); if (unit >= 0) { sprintf(devname, "zfs%d", unit); setenv("currdev", devname, 1); }

and guid returns the correct guid for my pool but unit returns -1 which by looking at zfs_guid_to_unit means something is not right.

Any pointers Doug?

It looks like loader didn't manage to find the pool for some reason. This probing process happens in sys/boot/zfs/zfs.c in the function zfs_dev_init(). Its supposed to taste all the available disks and partitions for the presence of a ZFS pool. The actual tasting process happens in vdev_probe().

Paul Saab just commited this: http://svn.freebsd.org/changeset/base/185711 It's working now! Thank you very much to both! :-D