From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Fri, 23 Jun 2023 14:49:20 +0200 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qCgE5-000aX4-Cu for lore@lore.pengutronix.de; Fri, 23 Jun 2023 14:49:20 +0200 Received: from localhost ([127.0.0.1] helo=metis.ext.pengutronix.de) by metis.ext.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1qCgE2-00072s-Kx; Fri, 23 Jun 2023 14:49:18 +0200 Received: from ptx.hi.pengutronix.de ([2001:67c:670:100:1d::c0]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qCgE1-00072f-N5 for distrokit@pengutronix.de; Fri, 23 Jun 2023 14:49:17 +0200 Received: from rhi by ptx.hi.pengutronix.de with local (Exim 4.92) (envelope-from ) id 1qCgE1-0005w6-G0 for distrokit@pengutronix.de; Fri, 23 Jun 2023 14:49:17 +0200 Date: Fri, 23 Jun 2023 14:49:17 +0200 From: Roland Hieber To: distrokit@pengutronix.de Message-ID: <20230623124917.mrg3vobvnzdhxgbe@pengutronix.de> References: <20230623124755.2292833-1-rhi@pengutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20230623124755.2292833-1-rhi@pengutronix.de> User-Agent: NeoMutt/20180716 Subject: Re: [DistroKit] [PATCH v4 00/14] v7a: add redundant update support via RAUC X-BeenThere: distrokit@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: DistroKit Mailinglist List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "DistroKit" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: distrokit-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false Sorry, forgot the -v4 on the git-send-email … - Roland On Fri, Jun 23, 2023 at 02:47:41PM +0200, Roland Hieber wrote: > With this patch series, the first v7a platforms (beaglebone black, > riotboard, rpi3, qemu-vexpress) gain support for redundant boot on two > root partitions which can be updated with RAUC. > > Changelog: > > PATCH v3 -> v4: > * rebase to current next branch > * new ptxdist version, so host-ptx-code-signing-dev now pulls in > host-python3-* dependencies via host-extract-cert and host-meson > * move platforms/image-rauc.in to platforms/image-rauc.deps.in because > we only want to add dependencies, not overwrite the whole file > > PATCH v2 -> v3: https://lore.distrokit.org/distrokit/20230427100134.2934937-1-rhi@pengutronix.de > * Ahmad notified me off-line that beaglebone and riotboard were using > the "circular" backend, but since state lives on the eMMC, the > "direct" backend is better suited. > > PATCH v1 -> v2: https://lore.distrokit.org/distrokit/20230426201414.2044409-1-rhi@pengutronix.de > * rebase to current master (PTXdist 2023.04.0) > * new patch: "platforms: revert to default systemd loglevel" > * new patch: "ptxconfig: enable more tools for debugging" (which also > enables curl, which was previously in the patch enabling RAUC) > * make use of barebox's CONFIG_EXTERNAL_DTS_FRAGMENTS to include a DTS > fragment for the state variables and the board-specific backends > instead of patching them into the barebox device trees > (feedback by Ahmad Fatoum) > * udev: use tr instead of xargs/printf in of_base_compatible > (feedback by Michael Olbrich) > * udev: add a fallback /dev/disk/by-usage/data symlink for boards not > targeted by this series > * udev: add missing 'GOTO="rauc_partitions_end"' at the end of each > block so that the symlink settings are not overwritten by the > following blocks > * udev: fix partition mapping for RIoTBoard; for some reason the SD card > is now /dev/mmcblk2 instead of /dev/mmcblk0 > * kernel: > * enable network block device support (BLK_DEV_NBD), needed for RAUC > HTTPS streaming > * enable SQUASHFS_FILE_DIRECT and SQUASHFS_DECOMP_MULTI for better > performance (feedback by Jan Lübbe) > * enable SQUASHFS_LZ4, SQUASHFS_XZ and SQUASHFS_ZSTD which makes it > easy to change the bundle compression later. Currently, genimage > generates zlib-compressed bundles. (feedback by Jan Lübbe) > * rauc: only allow installing verity bundles (feedback by Jan Lübbe) > * new patch: "image-rauc: fork config from PTXdist 2023.04.0" > * new patch: "image-rauc: use ext4 rootfs instead of tar.gz" > (I discussed with Enrico and Jan offline whether it is useful to have > this change in upstream PTXdist, but the RAUC image config will be > rather specific to the BSP anyway, and will be forked to the BSP by > most users.) > * new patch: "v7a: run: start with barebox by default" > > The datapartition clean-up didn't make it yet in this series. RAUC works > without it, and I'll send a separate series once I've figured it out. > > Also I disregarded Marco's comment about moving the projectroot stuff > to config/platform-v7a/, since it's not really v7a-specific and can be > re-used on other platforms too when those want to gain RAUC support. > > PATCH v1: https://lore.distrokit.org/distrokit/20230212221449.1644628-1-rhi@pengutronix.de > > Roland Hieber (14): > platforms: revert to default systemd loglevel > ptxconfig: enable more tools for debugging > rauc-udev: add a compatibility layer for mapping partitions > v7a: barebox: include generic bootstate node in device tree > v7a: add RAUC support for qemu-vexpress > v7a: add RAUC support for beaglebone black > v7a: add RAUC support for rpi3 > v7a: add RAUC support for riotboard > v7a: kernel: enable features necessary for RAUC > rauc: add initial support > v7a: enable RAUC bundle creation > image-rauc: fork config from PTXdist 2023.04.0 > image-rauc: use ext4 rootfs instead of tar.gz > v7a: run: start with barebox by default > > config/images/rauc.config | 22 +++ > configs/platform-mips/platformconfig | 27 +++- > configs/platform-mips/run | 2 +- > configs/platform-mipsel/platformconfig | 27 +++- > configs/platform-rpi1/platformconfig | 25 ++- > .../barebox-am335x-defaultenv/init/bootsource | 4 +- > .../barebox-am335x-defaultenv/nv/boot.default | 1 + > .../nv/bootchooser.state_prefix | 1 + > .../nv/bootchooser.system0.boot | 1 + > .../nv/bootchooser.system1.boot | 1 + > .../nv/bootchooser.targets | 1 + > .../nv/linux.bootargs.loglevel | 2 +- > configs/platform-v7a/barebox-am335x.config | 5 +- > .../platform-v7a/barebox-am335x.config.diff | 4 +- > configs/platform-v7a/barebox-at91.config | 2 +- > configs/platform-v7a/barebox-at91.config.diff | 2 +- > .../barebox-mx6-defaultenv/init/bootsource | 6 +- > .../barebox-mx6-defaultenv/nv/boot.default | 1 + > .../nv/bootchooser.state_prefix | 1 + > .../nv/bootchooser.system0.boot | 1 + > .../nv/bootchooser.system1.boot | 1 + > .../nv/bootchooser.targets | 1 + > .../nv/linux.bootargs.loglevel | 2 +- > configs/platform-v7a/barebox-mx6.config | 5 +- > configs/platform-v7a/barebox-mx6.config.diff | 4 +- > .../barebox-rpi2-defaultenv/init/bootsource | 5 +- > .../barebox-rpi2-defaultenv/nv/boot.default | 1 + > .../nv/bootchooser.state_prefix | 1 + > .../nv/bootchooser.system0.boot | 1 + > .../nv/bootchooser.system1.boot | 1 + > .../nv/bootchooser.targets | 1 + > .../nv/linux.bootargs.loglevel | 2 +- > configs/platform-v7a/barebox-rpi2.config | 5 +- > configs/platform-v7a/barebox-rpi2.config.diff | 4 +- > .../nv/linux.bootargs.loglevel | 2 +- > configs/platform-v7a/barebox-stm32mp.config | 2 +- > .../platform-v7a/barebox-stm32mp.config.diff | 2 +- > .../init/bootsource | 2 +- > .../nv/boot.default | 1 + > .../nv/bootchooser.state_prefix | 1 + > .../nv/bootchooser.system0.boot | 1 + > .../nv/bootchooser.system1.boot | 1 + > .../nv/bootchooser.targets | 1 + > .../nv/linux.bootargs.loglevel | 2 +- > configs/platform-v7a/barebox-vexpress.config | 5 +- > .../platform-v7a/barebox-vexpress.config.diff | 4 +- > configs/platform-v7a/barebox.config | 2 +- > .../config/images/beaglebone.config | 4 + > .../config/images/riotboard.config | 6 + > .../platform-v7a/config/images/rpi2.config | 5 + > .../config/images/vexpress.config | 7 +- > configs/platform-v7a/dts/bootstate.dtsi | 153 ++++++++++++++++++ > configs/platform-v7a/kernelconfig | 70 +++++++- > configs/platform-v7a/platformconfig | 37 ++++- > configs/platform-v7a/run | 4 +- > configs/platform-v7a/run-nfs | 2 +- > .../nv/linux.bootargs.loglevel | 2 +- > configs/platform-v7a_noneon/platformconfig | 27 +++- > configs/platform-v7a_noneon/run | 2 +- > configs/platform-v7a_noneon/run-nfs | 2 +- > .../nv/linux.bootargs.loglevel | 2 +- > .../nv/linux.bootargs.loglevel | 2 +- > configs/platform-v8a/platformconfig | 26 ++- > configs/platform-x86_64/platformconfig | 27 +++- > configs/platform-x86_64/run | 2 +- > configs/ptxconfig | 131 ++++++++++++--- > platforms/image-rauc.deps.in | 6 + > projectroot/etc/rauc/system.conf | 17 ++ > .../lib/systemd/system/rauc-mark-good.service | 14 ++ > projectroot/usr/lib/udev/of_base_compatible | 4 + > .../lib/udev/rules.d/90-rauc-partitions.rules | 42 +++++ > rules/rauc-udev.in | 10 ++ > rules/rauc-udev.make | 37 +++++ > 73 files changed, 763 insertions(+), 74 deletions(-) > create mode 100644 config/images/rauc.config > create mode 100644 configs/platform-v7a/barebox-am335x-defaultenv/nv/boot.default > create mode 100644 configs/platform-v7a/barebox-am335x-defaultenv/nv/bootchooser.state_prefix > create mode 100644 configs/platform-v7a/barebox-am335x-defaultenv/nv/bootchooser.system0.boot > create mode 100644 configs/platform-v7a/barebox-am335x-defaultenv/nv/bootchooser.system1.boot > create mode 100644 configs/platform-v7a/barebox-am335x-defaultenv/nv/bootchooser.targets > create mode 100644 configs/platform-v7a/barebox-mx6-defaultenv/nv/boot.default > create mode 100644 configs/platform-v7a/barebox-mx6-defaultenv/nv/bootchooser.state_prefix > create mode 100644 configs/platform-v7a/barebox-mx6-defaultenv/nv/bootchooser.system0.boot > create mode 100644 configs/platform-v7a/barebox-mx6-defaultenv/nv/bootchooser.system1.boot > create mode 100644 configs/platform-v7a/barebox-mx6-defaultenv/nv/bootchooser.targets > create mode 100644 configs/platform-v7a/barebox-rpi2-defaultenv/nv/boot.default > create mode 100644 configs/platform-v7a/barebox-rpi2-defaultenv/nv/bootchooser.state_prefix > create mode 100644 configs/platform-v7a/barebox-rpi2-defaultenv/nv/bootchooser.system0.boot > create mode 100644 configs/platform-v7a/barebox-rpi2-defaultenv/nv/bootchooser.system1.boot > create mode 100644 configs/platform-v7a/barebox-rpi2-defaultenv/nv/bootchooser.targets > create mode 100644 configs/platform-v7a/barebox-vexpress-defaultenv/nv/boot.default > create mode 100644 configs/platform-v7a/barebox-vexpress-defaultenv/nv/bootchooser.state_prefix > create mode 100644 configs/platform-v7a/barebox-vexpress-defaultenv/nv/bootchooser.system0.boot > create mode 100644 configs/platform-v7a/barebox-vexpress-defaultenv/nv/bootchooser.system1.boot > create mode 100644 configs/platform-v7a/barebox-vexpress-defaultenv/nv/bootchooser.targets > create mode 100644 configs/platform-v7a/dts/bootstate.dtsi > create mode 100644 platforms/image-rauc.deps.in > create mode 100644 projectroot/etc/rauc/system.conf > create mode 100644 projectroot/usr/lib/systemd/system/rauc-mark-good.service > create mode 100755 projectroot/usr/lib/udev/of_base_compatible > create mode 100644 projectroot/usr/lib/udev/rules.d/90-rauc-partitions.rules > create mode 100644 rules/rauc-udev.in > create mode 100644 rules/rauc-udev.make > > -- > 2.39.2 > > > -- Roland Hieber, Pengutronix e.K. | r.hieber@pengutronix.de | Steuerwalder Str. 21 | https://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |