From owner-freebsd-stable@FreeBSD.ORG Thu May 28 13:58:13 2009 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6E24A106564A for ; Thu, 28 May 2009 13:58:13 +0000 (UTC) (envelope-from lopez.on.the.lists@yellowspace.net) Received: from mail.yellowspace.net (mail.yellowspace.net [80.190.200.164]) by mx1.freebsd.org (Postfix) with ESMTP id EDEF18FC1B for ; Thu, 28 May 2009 13:58:06 +0000 (UTC) (envelope-from lopez.on.the.lists@yellowspace.net) Received: from furia.intranet ([93.104.99.4]) (AUTH: LOGIN lopez.on.the.lists@yellowspace.net) by mail.yellowspace.net with esmtp; Thu, 28 May 2009 15:58:05 +0200 id 0048FB26.000000004A1E986D.0000615A Message-Id: From: Lorenzo Perone To: Mickael MAILLOT In-Reply-To: <18972.7173.216763.407615@already.dhcp.gene.com> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Apple Message framework v930.4) Date: Thu, 28 May 2009 15:58:04 +0200 References: <29579856-69F7-4CDC-A52A-B414A40180ED@yellowspace.net> <4A1B0B4F.1020106@h3q.com> <18972.5870.795005.186542@already.dhcp.gene.com> <4A1C18CC.7080902@icyb.net.ua> <18972.7173.216763.407615@already.dhcp.gene.com> X-Mailer: Apple Mail (2.930.4) Cc: FreeBSD Stable Mailing List Subject: ZFS booting without partitions (was: ZFS boot on zfs mirror) X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 28 May 2009 13:58:13 -0000 Hi, I tried hard... but without success ;( the result is, when choosing the disk with the zfs boot sectors in it (in my case F5, which goes to ad6), the kernel is not found. the console shows: forth not found definitions not found only not found (the above repeated several times) can't load 'kernel' and I get thrown to the loader prompt. lsdev does not show any ZFS devices. Strange thing: if I boot from the other disk, F1, which is my ad4 containing the normal ufs system I used to make up the other one, and escape to the loader prompt, lsdev actually sees the zpool which is on the other disk, and shows: zfs0: tank I tried booting with boot zfs:tank or zfs:tank:/boot/kernel/kernel, but there I get the panic: free: guard1 fail message. (would boot zfs:tank:/boot/kernel/kernel be correct, anyways?) Sure I'm doing something wrong, but what...? Is it a problem that the pool is made out of the second disk only (ad6)? Here are my details (note: latest stable and biosdisk.c merged with changes shown in r185095. no problems in buildworld/kernel): Machine: p4 4GHz 4 GB RAM (i386) Note: the pool has actually a different name (heidi instead of tank, if this can be of any relevance...), just using tank here as it's one of the conventions... mount (just to show my starting situation) /dev/mirror/gm0s1a on / (ufs, local) devfs on /dev (devfs, local) /dev/mirror/gm0s1e on /tmp (ufs, local, soft-updates) /dev/mirror/gm0s1f on /usr (ufs, local, soft-updates) /dev/mirror/gm0s1d on /var (ufs, local, soft-updates) gmirror status Name Status Components mirror/gm0 DEGRADED ad4 (ad6 used to be the second disk...) echo 'LOADER_ZFS_SUPPORT=yes' >> /etc/make.conf cd /usr/src make buildworld && make buildkernel KERNCONF=HEIDI make installkernel KERNCONF=HEIDI mergemaster make installworld shutdown -r now dd if=/dev/zero of=/dev/ad6 bs=512 count=32 zpool create tank ad6 zfs create tank/usr zfs create tank/var zfs create -V 4gb tank/swap zfs set org.freebsd:swap=on tank/swap zpool set bootfs=tank tank rsync -avx / /tank rsync -avx /usr/ /tank/usr rsync -avx /var/ /tank/var cd /usr/src make installkernel KERNCONF=HEIDI DESTDIR=/tank zpool export tank dd if=/boot/zfsboot of=/dev/ad6 bs=512 count=1 dd if=/boot/zfsboot of=/dev/ad6 bs=512 skip=1 seek=1024 zpool import tank zfs set mountpoint=legacy tank zfs set mountpoint=/usr tank/usr zfs set mountpoint=/var tank/var shutdown -r now ... at the 'mbr prompt' I pressed F5 (the second disk, ad6) .. as written above, loader gets loaded (at this stage I suppose it's the stuff dd't after block 1024?), but kernel not found. /usr/src/sys/i386/conf/HEIDI: (among other things...): options KVA_PAGES=512 (/tank)/boot/loader.conf: vm.kmem_size="1024M" vm.kmem_size_max="1024M" vfs.zfs.arc_max="128M" vfs.zfs.vdev.cache.size="8M" vfs.root.mountfrom="zfs:tank" (/tank)/etc/fstab: # Device Mountpoint FStype Options Dump Pass# tank / zfs rw 0 0 /dev/acd0 /cdrom cd9660 ro,noauto 0 0 any help is welcome... don't know where to go from here right now. BTW: I can't stop thanking the team for the incredible pace at which bugs are fixed these days! Regards, Lorenzo On 26.05.2009, at 18:42, George Hartzell wrote: > Andriy Gapon writes: >> on 26/05/2009 19:21 George Hartzell said the following: >>> Dmitry Morozovsky writes: >>>> On Tue, 26 May 2009, Mickael MAILLOT wrote: >>>> >>>> MM> Hi, >>>> MM> >>>> MM> i prefere use zfsboot boot sector, an example is better than >>>> a long talk: >>>> MM> >>>> MM> $ zpool create tank mirror ad4 ad6 >>>> MM> $ zpool export tank >>>> MM> $ dd if=/boot/zfsboot of=/dev/ad4 bs=512 count=1 >>>> MM> $ dd if=/boot/zfsboot of=/dev/ad6 bs=512 count=1 >>>> MM> $ dd if=/boot/zfsboot of=/dev/ad4 bs=512 skeep=1 seek=1024 >>>> MM> $ dd if=/boot/zfsboot of=/dev/ad6 bs=512 skeep=1 seek=1024 >>>> >>>> s/skeep/skip/ ? ;-) >>> >>> What is the reason for copying zfsboot one bit at a time, as opposed >>> to >>> >>> dd if=/boot/zfsboot of=/dev/ad4 bs=512 count=2 >> >> seek=1024 for the second part? and no 'count=1' for it? :-) >> >> [Just guessing] Apparently the first block of zfsboot is some form >> of MBR and the >> rest is zfs-specific code that goes to magical sector 1024. > > Ok, I managed to read the argument to seek as "one block", apparently > my coffee hasn't hit yet. > > I'm still confused about the two parts of zfsboot and what's magical > about seeking to 1024. > > g. > > _______________________________________________ > freebsd-stable@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-stable > To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org > "