Date: Sun, 30 Nov 2008 01:08:46 +0000 From: "Joao Barros" <joao.barros@gmail.com> To: "Doug Rabson" <dfr@rabson.org> Cc: freebsd-fs@freebsd.org Subject: Re: ZFSBoot try and bsdlabel bootstrap code Message-ID: <70e8236f0811291708h7ece06dcm1bff0081b5b0fde8@mail.gmail.com> In-Reply-To: <70e8236f0811241748w41884a12la50e4e63f83a7542@mail.gmail.com> References: <367b2c980811191412h5e0af470k165b37edc2fc5853@mail.gmail.com> <16C31872-6A83-4FAB-AC85-213D604CDDE4@rabson.org> <367b2c980811211331v551893a8sde2231c3bc65468c@mail.gmail.com> <70e8236f0811241748w41884a12la50e4e63f83a7542@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Nov 25, 2008 at 1:48 AM, Joao Barros <joao.barros@gmail.com> wrote: > On Fri, Nov 21, 2008 at 9:31 PM, Olivier SMEDTS <olivier@gid0.org> 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 >>> >>>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? -- Joao Barros
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?70e8236f0811291708h7ece06dcm1bff0081b5b0fde8>