From nobody Thu Mar 31 22:42:51 2022 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id DC6B51A5A50A; Thu, 31 Mar 2022 22:42:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4KTyxR5sx2z4sl6; Thu, 31 Mar 2022 22:42:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1648766571; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vnriB1C8Vmq3ibcLPtJMCKOVUmVCoBRbd7nRi48cdHs=; b=h019IEtG2/SmSppyQzqfJevqPyfBjov3Sk64ofRxYzvgC44EEzU1PoIcueoyxz+8efNvNE gajAQeb/lbKjmeBPSCaDLm220h2djpApOL7QneRSbAFPMmzPJZWyud5YzQm9bFIYA+1wKb hbNZTqZDCAmS735A3loPKWDLjWZcqilE4/PncAgbEOeVLT1OVlw1FRBjftVgHL/VOVDqO+ 7tptcI/Yl+1ePyaQ0Q2mk80gssWP/r0wdRuP2y0RtZf5EOj6Dcu9ohYZSodOKTX3hW5r8w oRwiOeAJGutB+daIEoaA/MbiZZ74N8xwnkKAgzKI8eHZZ8DHJoIRtdVyaVa25A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A93032E2; Thu, 31 Mar 2022 22:42:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 22VMgpur037902; Thu, 31 Mar 2022 22:42:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 22VMgpe0037901; Thu, 31 Mar 2022 22:42:51 GMT (envelope-from git) Date: Thu, 31 Mar 2022 22:42:51 GMT Message-Id: <202203312242.22VMgpe0037901@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kyle Evans Subject: git: c0f846ff2352 - main - bectl: add some discussion about boot environment layouts List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kevans X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c0f846ff235296249271b1235ff6a52b7d23cefb Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1648766571; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vnriB1C8Vmq3ibcLPtJMCKOVUmVCoBRbd7nRi48cdHs=; b=dLRytKp/ytWiVna9g+qoXDgHXu0ZVn7ncotNhNrMni9CXAlpxOJ7R+eA0Ui9QigXJTq7fp 5MJk0irel9CzNk9nYSnlij+0rbkMqfjCk/n4MZOw4LoSeAE+tqredtBD7rddioHzCzgML/ foQSxUWGQ3apkPTiG8eRJdpvyF0uFohwYK1PgVg6qtNWbbsR8+Q7Anl5BJEYFNv0Dv3AUn +GPzAgIZXYSdzr+2rSJWlc8pL2/VWiHCxmCTZZHJgopCZU1h6BjY895fwo9D3SPMcH7SQT 7Hst5qvnqnm+7VB75o3+eBEe/CggkMBv73hpNpoy0w+JVlZps5oIYvyVatWSwg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1648766571; a=rsa-sha256; cv=none; b=yNdaO13iB+RUChNShSZhOmFwnyF3ceQFLOaeAKMh8CBpiRkxzE0MXBDc09bQZOV2F45GN7 uKzMyxujOYbOHTeza2AOwAQSPIT/bcgxYK7CaPefN2rKs+dFvRr/6gxIA5A2FlTtrXcuLq RH1x2+5Fq4TzNUGwraXODyiRaKK7nt7t7I7g5t82N7UGYRXfiRcBb50LPYqndbKpKyDPqH bPsmlvK2G4TycHIGLb4l2LDpbkBc7FV/CfqZ6KNC4KXqzHXqyHGiyFpfTQiChKn0laMogS wY54/Vmv1TrQ9t3B1z6mKHX2Xf+VG/+WiHKrxewzCcNbMcalqK/fgyLBoGEs3g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=c0f846ff235296249271b1235ff6a52b7d23cefb commit c0f846ff235296249271b1235ff6a52b7d23cefb Author: Kyle Evans AuthorDate: 2022-03-31 22:41:53 +0000 Commit: Kyle Evans CommitDate: 2022-03-31 22:42:33 +0000 bectl: add some discussion about boot environment layouts Discuss the standard type of layout, as well as the "deep" BE layout, and some of the properties of both. Point the various -r flags at this new section, to help users understand which they're working with and what the -r flag is actually doing. Note that we may just deprecate the -r flag in future versions, but the flag will be recognized as a NOP at that point. Reviewed by: pauamma_gundo.com, rew Differential Revision: https://reviews.freebsd.org/D34538 --- sbin/bectl/bectl.8 | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 91 insertions(+), 1 deletion(-) diff --git a/sbin/bectl/bectl.8 b/sbin/bectl/bectl.8 index 4b7868e093eb..79bdec751a86 100644 --- a/sbin/bectl/bectl.8 +++ b/sbin/bectl/bectl.8 @@ -17,7 +17,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 6, 2021 +.Dd March 31, 2022 .Dt BECTL 8 .Os .Sh NAME @@ -131,6 +131,9 @@ Create a new boot environment named If the .Fl r flag is given, a recursive boot environment will be made. +See +.Sx Boot Environment Structures +for a discussion on different layouts. .Pp If the .Fl e @@ -155,6 +158,9 @@ If the .Fl r flag is given, a recursive snapshot of the boot environment will be created. A snapshot is created for each descendant dataset of the boot environment. +See +.Sx Boot Environment Structures +for a discussion on different layouts. .Pp No new boot environment is created with this command. .It Xo @@ -345,6 +351,90 @@ prints usage information if or .Fl \&? is specified. +.Ss Boot Environment Structures +The traditional +.Fx +boot environment layout, as created by the Auto ZFS option to +.Xr bsdinstall 8 , +is a +.Dq shallow +boot environment structure, where boot environment datasets do not have any +directly subordinate datasets. +Instead, they're organized off in +.Pa zroot/ROOT , +and they rely on datasets elsewhere in the pool having +.Dv canmount +set to +.Dv off . +For instance, a simplified pool may be laid out as such: +.Bd -literal -offset indent +% zfs list -o name,canmount,mountpoint +NAME CANMOUNT MOUNTPOINT +zroot +zroot/ROOT noauto none +zroot/ROOT/default noauto none +zroot/usr off /usr +zroot/usr/home on /usr/home +zroot/var on /var +.Ed +.Pp +In that example, +.Pa zroot/usr +has +.Dv canmount +set to +.Dv off , +thus files in +.Pa /usr +typically fall into the boot environment because this dataset is not mounted. +.Pa zroot/usr/home +is mounted, thus files in +.Pa /usr/home +are not in the boot environment. +.Pp +The other style of boot environments in use, frequently called +.Dq deep boot environments , +organizes some or all of the boot environment as subordinate to the boot +environment dataset. +For example: +.Bd -literal -offset indent +% zfs list -o name,canmount,mountpoint +NAME CANMOUNT MOUNTPOINT +zroot +zroot/ROOT noauto none +zroot/ROOT/default noauto none +zroot/ROOT/default/usr noauto /usr +zroot/ROOT/default/usr/local noauto /usr/local +zroot/var on /var +.Ed +.Pp +Note that the subordinate datasets now have +.Dv canmount +set to +.Dv noauto . +These are more obviously a part of the boot environment, as indicated by their +positioning in the layout. +These subordinate datasets will be mounted by the +.Dv zfsbe +.Xr rc 8 +script at boot time. +In this example, +.Pa /var +is excluded from the boot environment. +.Pp +.Nm +commands that have their own +.Fl r +operate on this second, +.Dq deep +style of boot environment, when the +.Fl r +flag is set. +A future version of +.Nm +may default to handling both styles and deprecate the various +.Fl r +flags. \" .Sh EXAMPLES \" .Bl -bullet \" .It