From owner-freebsd-fs@FreeBSD.ORG Sat Apr 2 14:34:57 2011 Return-Path: Delivered-To: fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6ECEB106566C; Sat, 2 Apr 2011 14:34:57 +0000 (UTC) (envelope-from dnewman@networktest.com) Received: from mail3.networktest.com (mail3.networktest.com [69.55.234.104]) by mx1.freebsd.org (Postfix) with ESMTP id 4D0908FC08; Sat, 2 Apr 2011 14:34:57 +0000 (UTC) Received: from localhost (localhost [69.55.234.104]) by mail3.networktest.com (Postfix) with ESMTP id BAFDF2560D3; Sat, 2 Apr 2011 07:34:54 -0700 (PDT) Received: from mail3.networktest.com ([69.55.234.104]) by localhost (mail3.networktest.com [69.55.234.104]) (amavisd-maia, port 10024) with ESMTP id 89438-01; Sat, 2 Apr 2011 07:34:51 -0700 (PDT) Received: from sagan.local (cpe-76-95-196-192.socal.res.rr.com [76.95.196.192]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: dnewman@networktest.com) by mail3.networktest.com (Postfix) with ESMTPSA id 6F4A92560D2; Sat, 2 Apr 2011 07:34:44 -0700 (PDT) Message-ID: <4D973400.9060404@networktest.com> Date: Sat, 02 Apr 2011 07:34:40 -0700 From: David Newman User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.15) Gecko/20110303 Lightning/1.0b2 Thunderbird/3.1.9 MIME-Version: 1.0 To: krad References: <4C51ECAA.2070707@networktest.com> <4C51FE41.8030906@FreeBSD.org> <4D941BFF.6050807@networktest.com> In-Reply-To: X-Enigmail-Version: 1.1.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: fs@freebsd.org Subject: Re: fixing a busted ZFS upgrade X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Apr 2011 14:34:57 -0000 On 4/2/11 2:23 AM, krad wrote: > > > On 31 March 2011 07:15, David Newman > wrote: > > On 7/29/10 3:18 PM, Martin Matuska wrote: > > > > > For recovering a system that does not boot anymore, you can use mfsBSD > > ISO's: > > http://mfsbsd.vx.sk > > > > You can boot from the iso and repair the boot record. > > Nearly a year ago mfsBSD saved me from a munged 8.0->8.1 upgrade of a > ZFS box and allowed me to revive a ZFS root partition. > > I've done the same stupid thing again in moving from 8.1 to 8.2, only > now the server won't boot from the 8.2 mfsBSD ISO, or the 8.1 ISO. In > both cases it hangs at loader.conf. > > Thanks in advance for any clues on reviving this system. > I script my installs for upgrading zfsroot as its safer that way. Hes my > script for installing after everything is built > > #!/usr/local/bin/bash > > if [ $UID != 0 ] ; then > echo your not root !! ; exit 1 > fi > > date=`date '+%Y%m%d'` > oroot=`grep "vfs.root.mountfrom=\"zfs:system-4k/" /boot/loader.conf | > sed -e "s#^.*\"zfs:system-4k/be/##" -e "s#\"##"` > nroot="root$date" > snap="autoup-$RANDOM" > zpool=system-4k > > export DESTDIR=/$zpool/be/$nroot > > > if [ "$oroot" = "$nroot" ] ; then > echo "i cant update twice in one day"; exit 1 > fi > > echo building in $zpool/be/$nroot > > zfs snapshot $zpool/be/$oroot@$snap && > zfs send $zpool/be/$oroot@$snap | zfs receive -vv $zpool/be/$nroot && > cd /usr/src && > make installkernel && > make installworld && > sed -i -e "s#$zpool/be/$oroot#$zpool/be/$nroot#" > /$zpool/be/$nroot/boot/loader.conf && \ > echo "Installing boot records.." && > zpool status system-4k | grep -A 2 mirror | grep ad | sed -e > "s/p[0-9]//" | > while read a b; do > gpart bootcode -b /zfsboot/pmbr -p /zfsboot/gptzfsboot > -i 1 $a; > done && > cp -v /zfsboot/zfsloader /$zpool/be/$nroot/boot/. && > echo -en "\n\nNow run these two commands to make the changes live, and > reboot > zfs set mountpoint=legacy $zpool/be/$nroot > zpool set bootfs=$zpool/be/$nroot $zpool\n\n" > > it assumes this kind of layout > > > $ zfs list | grep be > system-4k/be 35.7G 1.03T 156K /system-4k/be > system-4k/be/current 1.40G 1.03T 924M legacy > system-4k/be/root20110226 2.80G 1.03T 882M legacy > system-4k/be/root20110302 3.24G 1.03T 882M legacy > system-4k/be/root20110306 1.32G 1.03T 882M legacy > system-4k/be/root20110312 1.36G 1.03T 923M legacy > system-4k/be/tmp 852K 1.03T 336K /tmp > system-4k/be/usr-local 2.98G 1.03T 2.61G /usr/local/ > system-4k/be/usr-obj 5.10G 1.03T 2.10G /usr/obj > system-4k/be/usr-ports 5.99G 1.03T 2.29G /usr/ports > system-4k/be/usr-ports/distfiles 1.18G 1.03T 156K > /usr/ports/distfiles > system-4k/be/usr-src 1.53G 1.03T 999M /usr/src > system-4k/be/var 5.30G 1.03T 812M /var > system-4k/be/var/log 4.21G 1.03T 2.67G /var/log > system-4k/be/var/mysql 82.5M 1.03T 33.9M /var/db/mysql Thanks for this script. Problem is, I can't get to the point where I can run it. I've tried booting from 8.1 and 8.2 mfsBSD ISOs but both hang at loader.conf. Thanks for any clues on getting beyond this point. . . dn