From owner-freebsd-hackers@freebsd.org Fri Dec 30 12:34:38 2016 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1DD2AC97971 for ; Fri, 30 Dec 2016 12:34:38 +0000 (UTC) (envelope-from dirkx@webweaving.org) Received: from weser.webweaving.org (weser.webweaving.org [148.251.234.232]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.webweaving.org", Issuer "RapidSSL CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A835112F2 for ; Fri, 30 Dec 2016 12:34:37 +0000 (UTC) (envelope-from dirkx@webweaving.org) Received: from beeb.leiden.webweaving.org (5ED06D14.cm-7-1b.dynamic.ziggo.nl [94.208.109.20]) (authenticated bits=0) by weser.webweaving.org (8.15.2/8.15.2) with ESMTPSA id uBUCXH2q002706 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 30 Dec 2016 13:33:19 +0100 (CET) (envelope-from dirkx@webweaving.org) X-Authentication-Warning: weser.webweaving.org: Host 5ED06D14.cm-7-1b.dynamic.ziggo.nl [94.208.109.20] claimed to be beeb.leiden.webweaving.org Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 10.2 \(3259\)) Subject: Re: ZFS and GPT boot - size issue bootblock v.s. default of sysinstall From: Dirk-Willem van Gulik In-Reply-To: <068c90c2-61c0-2fbc-3984-0bc937e19d63@freebsd.org> Date: Fri, 30 Dec 2016 13:33:17 +0100 Cc: freebsd-hackers@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <10FC4055-5650-4C68-A07B-FBA7BF6BB60A@webweaving.org> References: <068c90c2-61c0-2fbc-3984-0bc937e19d63@freebsd.org> To: Allan Jude X-Mailer: Apple Mail (2.3259) X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.4.3 (weser.webweaving.org [148.251.234.232]); Fri, 30 Dec 2016 13:33:19 +0100 (CET) X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Dec 2016 12:34:38 -0000 > On 28 Dec 2016, at 22:04, Allan Jude wrote: >=20 > On 2016-12-28 14:41, Dirk-Willem van Gulik wrote: >> On a default ZFS install (late 2014, 10.x) of a few years hence it = seems sysinstall selected 64k as the default size of partition 1: with = the bootblock: >>=20 >> sudo gpart show >> =3D> 34 7814037101 ada0 GPT (3.6T) >> 34 6 - free - (3.0K) >> 40 128 1 freebsd-boot (64K) >> 168 67108864 2 freebsd-swap (32G) >> 67109032 7746928096 3 freebsd-zfs (3.6T) >> 7814037128 7 - free - (3.5K) >>=20 >> =E2=80=A6. lots of disks snipped =E2=80=A6.. >>=20 >> =3D> 34 7814037101 ada35 GPT (3.6T) >> 34 6 - free - (3.0K) >> 40 128 1 freebsd-boot (64K) >> 168 67108864 2 freebsd-swap (32G) >> 67109032 7746928096 3 freebsd-zfs (3.6T) >> 7814037128 7 - free - (3.5K) >>=20 >> Fair to assume that this (the 64k) is the reason that from 11.x = onwards;=20 >>=20 >> gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0=20 >>=20 >> fails with an immediate: >>=20 >> gpart: /dev/ada1p1: not enough space=20 >>=20 >> as gptzfsboot has grown in recent years to something towards the 90k = mark ? >>=20 >> -r--r--r-- 1 root wheel 88898 Dec 24 11:52 /boot/gptzfsboot >> =09 >> And I guess avoiding a rebuild would mean something like gently = disabling swap; shifting partition 1 & 2 carefully an so on ? Or is = there a more clever way? ZFS has *already* been upgraded. >>=20 >> Or am I missing something ? >=20 > swapoff -a; gpart resize ...; swapon -a >=20 > is likely your best bet. Aye - indeed a #!/bin/sh # gen 0 35 | while read I camcontrol devlist | grep ada | awk -F, '{ print $2 }' | sed -e = 's/)//=E2=80=98 | while read I do gpart delete -i 2 ada$I gpart resize -i 1 -s 512k ada$I gpart add -t freebsd-swap -i 2 ada$I gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 = ada$I done solved the issue for all machines affected.=20 We=E2=80=99ve since spotted quite a few systems with too small a = bootblock - so I guess sysinstall has historically been a bit stingy - = and it may be an idea to include something like above logic in man-page = or the upgrade logic. > The other option is to rebuild gptzfsboot without GELI support, and = then > it will be under 64 KB. Unfortunately - we rather rely on GELI and PKCS#11. Dw.=