From nobody Wed Sep 21 10:56:06 2022 X-Original-To: freebsd-current@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 4MXb2070bBz4d3rc for ; Wed, 21 Sep 2022 10:56:24 +0000 (UTC) (envelope-from rbgarga@gmail.com) Received: from mail-oa1-x30.google.com (mail-oa1-x30.google.com [IPv6:2001:4860:4864:20::30]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4MXb202fPjz3qmh; Wed, 21 Sep 2022 10:56:24 +0000 (UTC) (envelope-from rbgarga@gmail.com) Received: by mail-oa1-x30.google.com with SMTP id 586e51a60fabf-12b542cb1d3so8393074fac.13; Wed, 21 Sep 2022 03:56:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:from:content-language :references:newsgroups:cc:to:subject:user-agent:mime-version:date :message-id:sender:from:to:cc:subject:date; bh=kUlHK05r20DEVsu7XS4tDcvnRcOsfhjwwciz+ey2xmU=; b=N1RM+HmO5GU3u+C7vQQ3EhMIQsudM/lHQQdSd20/i74j2oqkaoMWKDxzhd1s0bqCem zXCJ9pq77zwuYZcPG+fMlqgyZcGtF98nR3A6+HbBLVz1iB4nhCSGijljUgAemIVI5GNg xhT6RpQELHjCSGMobQHB/IBSca5L+v5tZ1Bv0lXL/v/c8jlGKxA2pIvVQ2P6n8/und4p be0+8nNEerR2/aVfSyj6mMXQo5wUR9Sqqjv4NHr54kq7X/jGBCl2Qfw1UqDg5bV1UCW7 WOKUiNUzim/tXv4RW7g20tprekZNIL5t6oWbBOWC1nDgUsg12PAL5FQcg57sTo45I/CR w3Gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:content-language :references:newsgroups:cc:to:subject:user-agent:mime-version:date :message-id:sender:x-gm-message-state:from:to:cc:subject:date; bh=kUlHK05r20DEVsu7XS4tDcvnRcOsfhjwwciz+ey2xmU=; b=TjVgKSQYIJc6yCwi3/FOEpBCPVkvXUFdtd2ZF14eWUkRX+9DJXuAJDbyBSYZoODyCj 7LIIxVpW9ESIQCUf7u6Xp0vt8GWnYwuTczx1LuIW/zd1IYEfJUrp/sNZzSjuL0SgI7jN v9w3Og6Idhe1q9nIXlOFPqEX3NaHK8QQ7rspBC+nVm88gImpnvUGYLMALuD4a5zYadq2 0EbJt/vIra49gx4+XO1ow1xWpU6TOFgqKsF4CjMDhVeURK8ofAQFD6xjiUUZJM3MLpEv pm+w/BH4CmZMeCzDLjBHO1Ygn6P6Li6T9/9/NdiqqKYKYLCl091BWqrlUd+1Vrc7Pn87 zGTg== X-Gm-Message-State: ACrzQf1AOo1Ke8/wy8+TZREZLWqY/rS0DpJfG8wO+SZhVouzE0Vnzt8J Ujhn9zRrJbH5gRgWXxqX+aMFrG2R7ijBDw== X-Google-Smtp-Source: AMsMyM73V5EZyBd6Blx72XufE2ycbw/DPnso4iw6yGNnCwtGvQ2zn25uPDzxMzIlDcTVaLgMSur0vg== X-Received: by 2002:a05:6870:e615:b0:12d:943e:256a with SMTP id q21-20020a056870e61500b0012d943e256amr726091oag.83.1663757782350; Wed, 21 Sep 2022 03:56:22 -0700 (PDT) Received: from ?IPV6:2804:f1c:80b:5a00:95e7:f07:aba7:cea6? ([2804:f1c:80b:5a00:95e7:f07:aba7:cea6]) by smtp.gmail.com with ESMTPSA id u18-20020a056870701200b0012d130c2fdasm1305668oae.48.2022.09.21.03.56.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 21 Sep 2022 03:56:21 -0700 (PDT) Message-ID: <34b7b81f-0b38-c6ea-559e-370d8f29b0c4@FreeBSD.org> Date: Wed, 21 Sep 2022 07:56:06 -0300 List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.2.2 Subject: Re: Good practices with bectl To: Alan Somers , Nuno Teixeira Cc: FreeBSD CURRENT Newsgroups: gmane.os.freebsd.current References: Content-Language: en-US From: Renato Botelho In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4MXb202fPjz3qmh X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20210112 header.b=N1RM+HmO; dmarc=none; spf=pass (mx1.freebsd.org: domain of rbgarga@gmail.com designates 2001:4860:4864:20::30 as permitted sender) smtp.mailfrom=rbgarga@gmail.com X-Spamd-Result: default: False [-1.24 / 15.00]; NEURAL_HAM_LONG(-0.94)[-0.935]; NEURAL_HAM_SHORT(-0.92)[-0.917]; NEURAL_SPAM_MEDIUM(0.82)[0.817]; FORGED_SENDER(0.30)[garga@FreeBSD.org,rbgarga@gmail.com]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20210112]; R_SPF_ALLOW(-0.20)[+ip6:2001:4860:4000::/36:c]; MIME_GOOD(-0.10)[text/plain]; MLMMJ_DEST(0.00)[freebsd-current@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[2001:4860:4864:20::30:from]; ARC_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; MIME_TRACE(0.00)[0:+]; FROM_NEQ_ENVFROM(0.00)[garga@FreeBSD.org,rbgarga@gmail.com]; ASN(0.00)[asn:15169, ipnet:2001:4860:4864::/48, country:US]; DKIM_TRACE(0.00)[gmail.com:+]; RCVD_COUNT_THREE(0.00)[3]; MID_RHS_MATCH_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_ALL(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; RCVD_TLS_LAST(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DMARC_NA(0.00)[freebsd.org]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim] X-ThisMailContainsUnwantedMimeParts: N On 20/09/22 19:19, Alan Somers wrote: > On Tue, Sep 20, 2022 at 4:14 PM Nuno Teixeira wrote: >> >> Hello to all, >> >> I will use becl for the first time for current upgrades. >> Just to check that I'm thinking correctly: >> >> Create a test environment for upgrade: >>> bectl create -r test (should I use '-r'?) >> Activate test: >>> bectl activate test >>> reboot >> ... >>> upgrade OS on test >>> reboot >> ... >> if a problem happens, reboot default from BE loader >> --- >> if everything fine destroy default and rename test to default >>> bectl destroy -o default >>> bectl rename test default >> repeat on next upgrade >> >> Don't know if a faster way exists with chroot or bectl jail... >> >> Any hints appreciated. >> >> Thanks, >> -- >> Nuno Teixeira >> FreeBSD Committer (ports) > > I don't think you need to use "-r". Also, you're forgetting one of > the best things about boot environments: you can upgrade them even > when not booted into them. That's faster than upgrading the running > BE. Here is the procedure I use: > > RELEASE=Whatever > sudo bectl create ${RELEASE} > sudo bectl mount ${RELEASE} > BASEDIR=/tmp/be_mount.XXXX # Use mount point returned by bectl mount > sudo freebsd-update -b ${BASEDIR} -d ${BASEDIR}/var/db/freebsd-update > upgrade -r ${RELEASE} > sudo freebsd-update -b ${BASEDIR} -d ${BASEDIR}/var/db/freebsd-update install > # Ignore admonitions to reboot, since we're using a boot environment > sudo freebsd-update -b ${BASEDIR} -d ${BASEDIR}/var/db/freebsd-update install > sudo bectl activate ${RELEASE} I like to use `sudo bectl activate -t ${RELEASE}`, it activates new partition to be ROOT only for the next boot. If something goes wrong, you just need to power cycle the machine and it will boot on previous partition. After a success boot you must run `sudo bectl activate RELEASE` again to make it permanent. > sudo reboot > > This general procedure works just as well if you're upgrading from source, too. > > sudo make DESTDIR=${BASEDIR} installworld > sudo mergemaster -m $PWD -D $BASEDIR -U > > -Alan > >