DistroKit Mailinglist
 help / color / mirror / Atom feed
* [DistroKit] [PATCH 00/14] v7a: add redundant update support via RAUC
@ 2023-06-23 12:47 Roland Hieber
  2023-06-23 12:47 ` [DistroKit] [PATCH 01/14] platforms: revert to default systemd loglevel Roland Hieber
                   ` (14 more replies)
  0 siblings, 15 replies; 35+ messages in thread
From: Roland Hieber @ 2023-06-23 12:47 UTC (permalink / raw)
  To: distrokit; +Cc: Roland Hieber

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




^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2023-08-25 11:06 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-23 12:47 [DistroKit] [PATCH 00/14] v7a: add redundant update support via RAUC Roland Hieber
2023-06-23 12:47 ` [DistroKit] [PATCH 01/14] platforms: revert to default systemd loglevel Roland Hieber
2023-08-14 15:39   ` Robert Schwebel
2023-06-23 12:47 ` [DistroKit] [PATCH 02/14] ptxconfig: enable more tools for debugging Roland Hieber
2023-08-14 16:03   ` Robert Schwebel
2023-06-23 12:47 ` [DistroKit] [PATCH 03/14] rauc-udev: add a compatibility layer for mapping partitions Roland Hieber
2023-08-14 16:36   ` Robert Schwebel
2023-06-23 12:47 ` [DistroKit] [PATCH 04/14] v7a: barebox: include generic bootstate node in device tree Roland Hieber
2023-08-14 16:36   ` Robert Schwebel
2023-06-23 12:47 ` [DistroKit] [PATCH 05/14] v7a: add RAUC support for qemu-vexpress Roland Hieber
2023-08-14 16:36   ` Robert Schwebel
2023-06-23 12:47 ` [DistroKit] [PATCH 06/14] v7a: add RAUC support for beaglebone black Roland Hieber
2023-08-14 16:36   ` Robert Schwebel
2023-06-23 12:47 ` [DistroKit] [PATCH 07/14] v7a: add RAUC support for rpi3 Roland Hieber
2023-08-14 16:37   ` Robert Schwebel
2023-06-23 12:47 ` [DistroKit] [PATCH 08/14] v7a: add RAUC support for riotboard Roland Hieber
2023-08-14 16:37   ` Robert Schwebel
2023-06-23 12:47 ` [DistroKit] [PATCH 09/14] v7a: kernel: enable features necessary for RAUC Roland Hieber
2023-08-14 16:37   ` Robert Schwebel
2023-08-15  8:47     ` Robert Schwebel
2023-08-25 11:06       ` Roland Hieber
2023-06-23 12:47 ` [DistroKit] [PATCH 10/14] rauc: add initial support Roland Hieber
2023-08-14 16:37   ` Robert Schwebel
2023-06-23 12:47 ` [DistroKit] [PATCH 11/14] v7a: enable RAUC bundle creation Roland Hieber
2023-08-14 16:37   ` Robert Schwebel
2023-06-23 12:47 ` [DistroKit] [PATCH 12/14] image-rauc: fork config from PTXdist 2023.04.0 Roland Hieber
2023-08-14 16:38   ` Robert Schwebel
2023-06-23 12:47 ` [DistroKit] [PATCH 13/14] image-rauc: use ext4 rootfs instead of tar.gz Roland Hieber
2023-08-14 16:38   ` Robert Schwebel
2023-08-15  8:14     ` Robert Schwebel
2023-08-15  8:18       ` Robert Schwebel
2023-08-25 11:04         ` Roland Hieber
2023-06-23 12:47 ` [DistroKit] [PATCH 14/14] v7a: run: start with barebox by default Roland Hieber
2023-08-14 16:38   ` Robert Schwebel
2023-06-23 12:49 ` [DistroKit] [PATCH v4 00/14] v7a: add redundant update support via RAUC Roland Hieber

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox