DistroKit Mailinglist
 help / color / mirror / Atom feed
From: Roland Hieber <rhi@pengutronix.de>
To: distrokit@pengutronix.de
Cc: Roland Hieber <rhi@pengutronix.de>
Subject: [DistroKit] [PATCH 10/14] rauc: add initial support
Date: Fri, 23 Jun 2023 14:47:51 +0200	[thread overview]
Message-ID: <20230623124755.2292833-11-rhi@pengutronix.de> (raw)
In-Reply-To: <20230623124755.2292833-1-rhi@pengutronix.de>

Set up RAUC with a shared system.conf that uses the /dev symlinks which
the rauc-udev package creates based on the Device Tree compatible. Also
add a unit file that marks the booted partition as good after systemd
startup has finished successfully.

The key material for signing the RAUC bundles is provided by the
ptx-code-signing provider used for development, which we need to enable
in all platformconfigs since the ptxconfig is shared between all
platforms.

Signed-off-by: Roland Hieber <rhi@pengutronix.de>
---
 configs/platform-mips/platformconfig          | 27 ++++++-
 configs/platform-mipsel/platformconfig        | 27 ++++++-
 configs/platform-rpi1/platformconfig          | 25 +++++-
 configs/platform-v7a/platformconfig           | 25 +++++-
 configs/platform-v7a_noneon/platformconfig    | 27 ++++++-
 configs/platform-v8a/platformconfig           | 26 +++++-
 configs/platform-x86_64/platformconfig        | 27 ++++++-
 configs/ptxconfig                             | 80 ++++++++++++++++---
 projectroot/etc/rauc/system.conf              | 17 ++++
 .../lib/systemd/system/rauc-mark-good.service | 14 ++++
 10 files changed, 279 insertions(+), 16 deletions(-)
 create mode 100644 projectroot/etc/rauc/system.conf
 create mode 100644 projectroot/usr/lib/systemd/system/rauc-mark-good.service

diff --git a/configs/platform-mips/platformconfig b/configs/platform-mips/platformconfig
index 0aa4927b1e46..7abad17089bd 100644
--- a/configs/platform-mips/platformconfig
+++ b/configs/platform-mips/platformconfig
@@ -19,6 +19,7 @@ PTXCONF_PLATFORM="mips"
 PTXCONF_PLATFORM_VERSION="-${PTXDIST_BSP_AUTOVERSION}"
 PTXCONF_RUNTIME=y
 PTXCONF_BUILDTIME=y
+PTXCONF_VIRTUAL=y
 PTXCONF_PLATFORMCONFIG_VERSION="2023.05.0"
 
 #
@@ -203,16 +204,40 @@ PTXCONF_IMAGE_XPKG_EXTRA_ARGS=""
 # PTXCONF_KERNEL_FIT is not set
 # end of image creation options        
 
-# PTXCONF_CODE_SIGNING is not set
+PTXCONF_CODE_SIGNING=y
+PTXCONF_CODE_SIGNING_PROVIDER="devel"
+PTXCONF_CODE_SIGNING_PROVIDER_DEVEL=y
+PTXCONF_HOST_PTX_CODE_SIGNING_DEV=y
+PTXCONF_HOST_CMAKE=y
 PTXCONF_HOST_E2FSPROGS=y
+PTXCONF_HOST_EXTRACT_CERT=y
 PTXCONF_HOST_FLEX=y
 PTXCONF_HOST_GENEXT2FS=y
 PTXCONF_HOST_GENIMAGE=y
 PTXCONF_HOST_LIBCONFUSE=y
+PTXCONF_HOST_LIBFFI=y
 PTXCONF_HOST_LIBKMOD=y
 PTXCONF_HOST_LIBLZO=y
+PTXCONF_HOST_LIBP11=y
+PTXCONF_HOST_LIBTASN1=y
 PTXCONF_HOST_LZOP=y
 PTXCONF_HOST_M4=y
+PTXCONF_HOST_MESON=y
+PTXCONF_HOST_NINJA=y
+PTXCONF_HOST_OPENSC=y
+PTXCONF_HOST_OPENSSL=y
+PTXCONF_HOST_P11_KIT=y
+PTXCONF_HOST_PYTHON3_FLIT_CORE=y
+PTXCONF_HOST_PYTHON3_INSTALLER=y
+PTXCONF_HOST_PYTHON3_PACKAGING=y
+PTXCONF_HOST_PYTHON3_PYBUILD=y
+PTXCONF_HOST_PYTHON3_PYPROJECT_HOOKS=y
+PTXCONF_HOST_PYTHON3_TOMLI=y
+PTXCONF_HOST_PYTHON3_WHEEL=y
+PTXCONF_HOST_SOFTHSM=y
+PTXCONF_HOST_SQLITE=y
+PTXCONF_HOST_SYSTEM_PYTHON3=y
+PTXCONF_HOST_SYSTEM_PYTHON3_SETUPTOOLS=y
 PTXCONF_HOST_UTIL_LINUX=y
 
 #
diff --git a/configs/platform-mipsel/platformconfig b/configs/platform-mipsel/platformconfig
index c00e76ed8183..4618e3da7228 100644
--- a/configs/platform-mipsel/platformconfig
+++ b/configs/platform-mipsel/platformconfig
@@ -19,6 +19,7 @@ PTXCONF_PLATFORM="mipsel"
 PTXCONF_PLATFORM_VERSION="-${PTXDIST_BSP_AUTOVERSION}"
 PTXCONF_RUNTIME=y
 PTXCONF_BUILDTIME=y
+PTXCONF_VIRTUAL=y
 PTXCONF_PLATFORMCONFIG_VERSION="2023.05.0"
 
 #
@@ -199,16 +200,40 @@ PTXCONF_IMAGE_XPKG_EXTRA_ARGS=""
 # PTXCONF_KERNEL_FIT is not set
 # end of image creation options        
 
-# PTXCONF_CODE_SIGNING is not set
+PTXCONF_CODE_SIGNING=y
+PTXCONF_CODE_SIGNING_PROVIDER="devel"
+PTXCONF_CODE_SIGNING_PROVIDER_DEVEL=y
+PTXCONF_HOST_PTX_CODE_SIGNING_DEV=y
+PTXCONF_HOST_CMAKE=y
 PTXCONF_HOST_E2FSPROGS=y
+PTXCONF_HOST_EXTRACT_CERT=y
 PTXCONF_HOST_FLEX=y
 PTXCONF_HOST_GENEXT2FS=y
 PTXCONF_HOST_GENIMAGE=y
 PTXCONF_HOST_LIBCONFUSE=y
+PTXCONF_HOST_LIBFFI=y
 PTXCONF_HOST_LIBKMOD=y
 PTXCONF_HOST_LIBLZO=y
+PTXCONF_HOST_LIBP11=y
+PTXCONF_HOST_LIBTASN1=y
 PTXCONF_HOST_LZOP=y
 PTXCONF_HOST_M4=y
+PTXCONF_HOST_MESON=y
+PTXCONF_HOST_NINJA=y
+PTXCONF_HOST_OPENSC=y
+PTXCONF_HOST_OPENSSL=y
+PTXCONF_HOST_P11_KIT=y
+PTXCONF_HOST_PYTHON3_FLIT_CORE=y
+PTXCONF_HOST_PYTHON3_INSTALLER=y
+PTXCONF_HOST_PYTHON3_PACKAGING=y
+PTXCONF_HOST_PYTHON3_PYBUILD=y
+PTXCONF_HOST_PYTHON3_PYPROJECT_HOOKS=y
+PTXCONF_HOST_PYTHON3_TOMLI=y
+PTXCONF_HOST_PYTHON3_WHEEL=y
+PTXCONF_HOST_SOFTHSM=y
+PTXCONF_HOST_SQLITE=y
+PTXCONF_HOST_SYSTEM_PYTHON3=y
+PTXCONF_HOST_SYSTEM_PYTHON3_SETUPTOOLS=y
 PTXCONF_HOST_UTIL_LINUX=y
 
 #
diff --git a/configs/platform-rpi1/platformconfig b/configs/platform-rpi1/platformconfig
index b8ca72a350be..2c25c3c1711b 100644
--- a/configs/platform-rpi1/platformconfig
+++ b/configs/platform-rpi1/platformconfig
@@ -272,20 +272,43 @@ PTXCONF_IMAGE_XPKG_EXTRA_ARGS=""
 # PTXCONF_KERNEL_FIT is not set
 # end of image creation options        
 
-# PTXCONF_CODE_SIGNING is not set
+PTXCONF_CODE_SIGNING=y
+PTXCONF_CODE_SIGNING_PROVIDER="devel"
+PTXCONF_CODE_SIGNING_PROVIDER_DEVEL=y
+PTXCONF_HOST_PTX_CODE_SIGNING_DEV=y
+PTXCONF_HOST_CMAKE=y
 PTXCONF_HOST_DOSFSTOOLS=y
 PTXCONF_HOST_E2FSPROGS=y
+PTXCONF_HOST_EXTRACT_CERT=y
 PTXCONF_HOST_FLEX=y
 PTXCONF_HOST_GENEXT2FS=y
 PTXCONF_HOST_GENIMAGE=y
 PTXCONF_HOST_LIBCONFUSE=y
+PTXCONF_HOST_LIBFFI=y
 PTXCONF_HOST_LIBKMOD=y
 PTXCONF_HOST_LIBLZO=y
+PTXCONF_HOST_LIBP11=y
+PTXCONF_HOST_LIBTASN1=y
 PTXCONF_HOST_LZOP=y
 PTXCONF_HOST_M4=y
+PTXCONF_HOST_MESON=y
 PTXCONF_HOST_MTOOLS=y
+PTXCONF_HOST_NINJA=y
+PTXCONF_HOST_OPENSC=y
 PTXCONF_HOST_OPENSSL=y
+PTXCONF_HOST_P11_KIT=y
+PTXCONF_HOST_PYTHON3_FLIT_CORE=y
+PTXCONF_HOST_PYTHON3_INSTALLER=y
+PTXCONF_HOST_PYTHON3_PACKAGING=y
+PTXCONF_HOST_PYTHON3_PYBUILD=y
+PTXCONF_HOST_PYTHON3_PYPROJECT_HOOKS=y
+PTXCONF_HOST_PYTHON3_TOMLI=y
+PTXCONF_HOST_PYTHON3_WHEEL=y
+PTXCONF_HOST_SOFTHSM=y
+PTXCONF_HOST_SQLITE=y
 PTXCONF_HOST_SYSTEM_BC=y
+PTXCONF_HOST_SYSTEM_PYTHON3=y
+PTXCONF_HOST_SYSTEM_PYTHON3_SETUPTOOLS=y
 PTXCONF_HOST_UTIL_LINUX=y
 
 #
diff --git a/configs/platform-v7a/platformconfig b/configs/platform-v7a/platformconfig
index 81e389ca27fb..e27232f51fd9 100644
--- a/configs/platform-v7a/platformconfig
+++ b/configs/platform-v7a/platformconfig
@@ -19,6 +19,7 @@ PTXCONF_PLATFORM="v7a"
 PTXCONF_PLATFORM_VERSION="-${PTXDIST_BSP_AUTOVERSION}"
 PTXCONF_RUNTIME=y
 PTXCONF_BUILDTIME=y
+PTXCONF_VIRTUAL=y
 PTXCONF_PLATFORMCONFIG_VERSION="2023.05.0"
 
 #
@@ -296,21 +297,43 @@ PTXCONF_IMAGE_XPKG_EXTRA_ARGS=""
 # PTXCONF_KERNEL_FIT is not set
 # end of image creation options        
 
-# PTXCONF_CODE_SIGNING is not set
+PTXCONF_CODE_SIGNING=y
+PTXCONF_CODE_SIGNING_PROVIDER="devel"
+PTXCONF_CODE_SIGNING_PROVIDER_DEVEL=y
+PTXCONF_HOST_PTX_CODE_SIGNING_DEV=y
+PTXCONF_HOST_CMAKE=y
 PTXCONF_HOST_DOSFSTOOLS=y
 PTXCONF_HOST_E2FSPROGS=y
+PTXCONF_HOST_EXTRACT_CERT=y
 PTXCONF_HOST_FLEX=y
 PTXCONF_HOST_GENEXT2FS=y
 PTXCONF_HOST_GENIMAGE=y
 PTXCONF_HOST_LIBCONFUSE=y
+PTXCONF_HOST_LIBFFI=y
 PTXCONF_HOST_LIBKMOD=y
 PTXCONF_HOST_LIBLZO=y
+PTXCONF_HOST_LIBP11=y
+PTXCONF_HOST_LIBTASN1=y
 PTXCONF_HOST_LZOP=y
 PTXCONF_HOST_M4=y
+PTXCONF_HOST_MESON=y
 PTXCONF_HOST_MTOOLS=y
+PTXCONF_HOST_NINJA=y
+PTXCONF_HOST_OPENSC=y
 PTXCONF_HOST_OPENSSL=y
+PTXCONF_HOST_P11_KIT=y
+PTXCONF_HOST_PYTHON3_FLIT_CORE=y
+PTXCONF_HOST_PYTHON3_INSTALLER=y
+PTXCONF_HOST_PYTHON3_PACKAGING=y
+PTXCONF_HOST_PYTHON3_PYBUILD=y
+PTXCONF_HOST_PYTHON3_PYPROJECT_HOOKS=y
+PTXCONF_HOST_PYTHON3_TOMLI=y
+PTXCONF_HOST_PYTHON3_WHEEL=y
+PTXCONF_HOST_SOFTHSM=y
+PTXCONF_HOST_SQLITE=y
 PTXCONF_HOST_SYSTEM_BC=y
 PTXCONF_HOST_SYSTEM_PYTHON3=y
+PTXCONF_HOST_SYSTEM_PYTHON3_SETUPTOOLS=y
 PTXCONF_HOST_UTIL_LINUX=y
 PTXCONF_HOST_TF_A=y
 
diff --git a/configs/platform-v7a_noneon/platformconfig b/configs/platform-v7a_noneon/platformconfig
index fdfd01e12a01..7d9a1904e37f 100644
--- a/configs/platform-v7a_noneon/platformconfig
+++ b/configs/platform-v7a_noneon/platformconfig
@@ -19,6 +19,7 @@ PTXCONF_PLATFORM="v7a_noneon"
 PTXCONF_PLATFORM_VERSION="-${PTXDIST_BSP_AUTOVERSION}"
 PTXCONF_RUNTIME=y
 PTXCONF_BUILDTIME=y
+PTXCONF_VIRTUAL=y
 PTXCONF_PLATFORMCONFIG_VERSION="2023.05.0"
 
 #
@@ -253,19 +254,43 @@ PTXCONF_IMAGE_XPKG_EXTRA_ARGS=""
 # PTXCONF_KERNEL_FIT is not set
 # end of image creation options        
 
-# PTXCONF_CODE_SIGNING is not set
+PTXCONF_CODE_SIGNING=y
+PTXCONF_CODE_SIGNING_PROVIDER="devel"
+PTXCONF_CODE_SIGNING_PROVIDER_DEVEL=y
+PTXCONF_HOST_PTX_CODE_SIGNING_DEV=y
+PTXCONF_HOST_CMAKE=y
 PTXCONF_HOST_DOSFSTOOLS=y
 PTXCONF_HOST_E2FSPROGS=y
+PTXCONF_HOST_EXTRACT_CERT=y
 PTXCONF_HOST_FLEX=y
 PTXCONF_HOST_GENEXT2FS=y
 PTXCONF_HOST_GENIMAGE=y
 PTXCONF_HOST_LIBCONFUSE=y
+PTXCONF_HOST_LIBFFI=y
 PTXCONF_HOST_LIBKMOD=y
 PTXCONF_HOST_LIBLZO=y
+PTXCONF_HOST_LIBP11=y
+PTXCONF_HOST_LIBTASN1=y
 PTXCONF_HOST_LZOP=y
 PTXCONF_HOST_M4=y
+PTXCONF_HOST_MESON=y
 PTXCONF_HOST_MTOOLS=y
+PTXCONF_HOST_NINJA=y
+PTXCONF_HOST_OPENSC=y
+PTXCONF_HOST_OPENSSL=y
+PTXCONF_HOST_P11_KIT=y
+PTXCONF_HOST_PYTHON3_FLIT_CORE=y
+PTXCONF_HOST_PYTHON3_INSTALLER=y
+PTXCONF_HOST_PYTHON3_PACKAGING=y
+PTXCONF_HOST_PYTHON3_PYBUILD=y
+PTXCONF_HOST_PYTHON3_PYPROJECT_HOOKS=y
+PTXCONF_HOST_PYTHON3_TOMLI=y
+PTXCONF_HOST_PYTHON3_WHEEL=y
+PTXCONF_HOST_SOFTHSM=y
+PTXCONF_HOST_SQLITE=y
 PTXCONF_HOST_SYSTEM_BC=y
+PTXCONF_HOST_SYSTEM_PYTHON3=y
+PTXCONF_HOST_SYSTEM_PYTHON3_SETUPTOOLS=y
 PTXCONF_HOST_UTIL_LINUX=y
 
 #
diff --git a/configs/platform-v8a/platformconfig b/configs/platform-v8a/platformconfig
index e03ab7779727..e413d31488a4 100644
--- a/configs/platform-v8a/platformconfig
+++ b/configs/platform-v8a/platformconfig
@@ -19,6 +19,7 @@ PTXCONF_PLATFORM="v8a"
 PTXCONF_PLATFORM_VERSION="-${PTXDIST_BSP_AUTOVERSION}"
 PTXCONF_RUNTIME=y
 PTXCONF_BUILDTIME=y
+PTXCONF_VIRTUAL=y
 PTXCONF_PLATFORMCONFIG_VERSION="2023.05.0"
 
 #
@@ -264,19 +265,42 @@ PTXCONF_IMAGE_XPKG_EXTRA_ARGS=""
 # PTXCONF_KERNEL_FIT is not set
 # end of image creation options        
 
-# PTXCONF_CODE_SIGNING is not set
+PTXCONF_CODE_SIGNING=y
+PTXCONF_CODE_SIGNING_PROVIDER="devel"
+PTXCONF_CODE_SIGNING_PROVIDER_DEVEL=y
+PTXCONF_HOST_PTX_CODE_SIGNING_DEV=y
+PTXCONF_HOST_CMAKE=y
 PTXCONF_HOST_E2FSPROGS=y
+PTXCONF_HOST_EXTRACT_CERT=y
 PTXCONF_HOST_FLEX=y
 PTXCONF_HOST_GENEXT2FS=y
 PTXCONF_HOST_GENIMAGE=y
 PTXCONF_HOST_LIBCONFUSE=y
+PTXCONF_HOST_LIBFFI=y
 PTXCONF_HOST_LIBKMOD=y
 PTXCONF_HOST_LIBLZO=y
+PTXCONF_HOST_LIBP11=y
+PTXCONF_HOST_LIBTASN1=y
 PTXCONF_HOST_LIBUSB=y
 PTXCONF_HOST_LZOP=y
 PTXCONF_HOST_M4=y
+PTXCONF_HOST_MESON=y
+PTXCONF_HOST_NINJA=y
+PTXCONF_HOST_OPENSC=y
 PTXCONF_HOST_OPENSSL=y
+PTXCONF_HOST_P11_KIT=y
+PTXCONF_HOST_PYTHON3_FLIT_CORE=y
+PTXCONF_HOST_PYTHON3_INSTALLER=y
+PTXCONF_HOST_PYTHON3_PACKAGING=y
+PTXCONF_HOST_PYTHON3_PYBUILD=y
+PTXCONF_HOST_PYTHON3_PYPROJECT_HOOKS=y
+PTXCONF_HOST_PYTHON3_TOMLI=y
+PTXCONF_HOST_PYTHON3_WHEEL=y
+PTXCONF_HOST_SOFTHSM=y
+PTXCONF_HOST_SQLITE=y
 PTXCONF_HOST_SYSTEM_BC=y
+PTXCONF_HOST_SYSTEM_PYTHON3=y
+PTXCONF_HOST_SYSTEM_PYTHON3_SETUPTOOLS=y
 PTXCONF_HOST_UTIL_LINUX=y
 PTXCONF_FIRMWARE_IMX=y
 # PTXCONF_FIRMWARE_IMX_VPU_IMX27 is not set
diff --git a/configs/platform-x86_64/platformconfig b/configs/platform-x86_64/platformconfig
index 5465a969cabb..a57077f1d144 100644
--- a/configs/platform-x86_64/platformconfig
+++ b/configs/platform-x86_64/platformconfig
@@ -19,6 +19,7 @@ PTXCONF_PLATFORM="x86_64"
 PTXCONF_PLATFORM_VERSION="-${PTXDIST_BSP_AUTOVERSION}"
 PTXCONF_RUNTIME=y
 PTXCONF_BUILDTIME=y
+PTXCONF_VIRTUAL=y
 PTXCONF_PLATFORMCONFIG_VERSION="2023.05.0"
 
 #
@@ -236,16 +237,40 @@ PTXCONF_IMAGE_XPKG_EXTRA_ARGS=""
 # PTXCONF_KERNEL_FIT is not set
 # end of image creation options        
 
-# PTXCONF_CODE_SIGNING is not set
+PTXCONF_CODE_SIGNING=y
+PTXCONF_CODE_SIGNING_PROVIDER="devel"
+PTXCONF_CODE_SIGNING_PROVIDER_DEVEL=y
+PTXCONF_HOST_PTX_CODE_SIGNING_DEV=y
+PTXCONF_HOST_CMAKE=y
 PTXCONF_HOST_E2FSPROGS=y
+PTXCONF_HOST_EXTRACT_CERT=y
 PTXCONF_HOST_GENEXT2FS=y
 PTXCONF_HOST_GENIMAGE=y
 PTXCONF_HOST_LIBCONFUSE=y
 PTXCONF_HOST_LIBELF=y
+PTXCONF_HOST_LIBFFI=y
 PTXCONF_HOST_LIBKMOD=y
 PTXCONF_HOST_LIBLZO=y
+PTXCONF_HOST_LIBP11=y
+PTXCONF_HOST_LIBTASN1=y
 PTXCONF_HOST_LZOP=y
+PTXCONF_HOST_MESON=y
+PTXCONF_HOST_NINJA=y
+PTXCONF_HOST_OPENSC=y
+PTXCONF_HOST_OPENSSL=y
+PTXCONF_HOST_P11_KIT=y
+PTXCONF_HOST_PYTHON3_FLIT_CORE=y
+PTXCONF_HOST_PYTHON3_INSTALLER=y
+PTXCONF_HOST_PYTHON3_PACKAGING=y
+PTXCONF_HOST_PYTHON3_PYBUILD=y
+PTXCONF_HOST_PYTHON3_PYPROJECT_HOOKS=y
+PTXCONF_HOST_PYTHON3_TOMLI=y
+PTXCONF_HOST_PYTHON3_WHEEL=y
+PTXCONF_HOST_SOFTHSM=y
+PTXCONF_HOST_SQLITE=y
 PTXCONF_HOST_SYSTEM_BC=y
+PTXCONF_HOST_SYSTEM_PYTHON3=y
+PTXCONF_HOST_SYSTEM_PYTHON3_SETUPTOOLS=y
 PTXCONF_HOST_UTIL_LINUX=y
 PTXCONF_HOST_ZLIB=y
 
diff --git a/configs/ptxconfig b/configs/ptxconfig
index 9f4fc06d5138..605c10000c24 100644
--- a/configs/ptxconfig
+++ b/configs/ptxconfig
@@ -133,6 +133,7 @@ PTXCONF_HOST_SYSTEM_PYTHON3_JINJA2=y
 PTXCONF_HOST_SYSTEM_PYTHON3_SETUPTOOLS=y
 PTXCONF_HOST_XORGPROTO=y
 PTXCONF_HOST_ZLIB=y
+PTXCONF_CODE_SIGNING=y
 PTXCONF_HOST_AUTOTOOLS_AUTOCONF=y
 PTXCONF_HOST_AUTOTOOLS_AUTOMAKE=y
 PTXCONF_HOST_AUTOTOOLS_LIBTOOL=y
@@ -550,7 +551,7 @@ PTXCONF_BUSYBOX_FEATURE_GZIP_DECOMPRESS=y
 PTXCONF_BUSYBOX_TAR=y
 PTXCONF_BUSYBOX_FEATURE_TAR_LONG_OPTIONS=y
 PTXCONF_BUSYBOX_FEATURE_TAR_CREATE=y
-# PTXCONF_BUSYBOX_FEATURE_TAR_AUTODETECT is not set
+PTXCONF_BUSYBOX_FEATURE_TAR_AUTODETECT=y
 PTXCONF_BUSYBOX_FEATURE_TAR_FROM=y
 # PTXCONF_BUSYBOX_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set
 # PTXCONF_BUSYBOX_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
@@ -940,7 +941,8 @@ PTXCONF_BUSYBOX_SULOGIN=y
 #
 # PTXCONF_BUSYBOX_ACPID is not set
 # PTXCONF_BUSYBOX_BLKDISCARD is not set
-# PTXCONF_BUSYBOX_BLKID is not set
+PTXCONF_BUSYBOX_BLKID=y
+PTXCONF_BUSYBOX_FEATURE_BLKID_TYPE=y
 # PTXCONF_BUSYBOX_BLOCKDEV is not set
 # PTXCONF_BUSYBOX_CAL is not set
 # PTXCONF_BUSYBOX_CHRT is not set
@@ -1013,6 +1015,38 @@ PTXCONF_BUSYBOX_RENICE=y
 # PTXCONF_BUSYBOX_UMOUNT is not set
 # PTXCONF_BUSYBOX_UNSHARE is not set
 # PTXCONF_BUSYBOX_WALL is not set
+PTXCONF_BUSYBOX_VOLUMEID=y
+
+#
+# Filesystem/Volume identification
+#
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_BCACHE=y
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_BTRFS=y
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_CRAMFS=y
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_EROFS=y
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_EXFAT=y
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_EXT=y
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_F2FS=y
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_FAT=y
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_HFS=y
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_ISO9660=y
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_JFS=y
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_LFS=y
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_LINUXRAID=y
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_LINUXSWAP=y
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_LUKS=y
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_MINIX=y
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_NILFS=y
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_NTFS=y
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_OCFS2=y
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_REISERFS=y
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_ROMFS=y
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_SQUASHFS=y
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_SYSV=y
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_UBIFS=y
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_UDF=y
+PTXCONF_BUSYBOX_FEATURE_VOLUMEID_XFS=y
+# end of Filesystem/Volume identification
 # end of Linux System Utilities
 
 #
@@ -1314,7 +1348,8 @@ PTXCONF_BUSYBOX_LOGGER=y
 # PTXCONF_DFU_UTIL is not set
 # PTXCONF_DIALOG is not set
 # PTXCONF_DIFFUTILS is not set
-# PTXCONF_DT_UTILS is not set
+PTXCONF_DT_UTILS=y
+# PTXCONF_DT_UTILS_STATE_COMPAT is not set
 # PTXCONF_EFIBOOTMGR is not set
 # PTXCONF_EFIVAR is not set
 # PTXCONF_FIGLET is not set
@@ -1559,7 +1594,10 @@ PTXCONF_UTIL_LINUX_SFDISK=y
 #
 # misc-utils
 #
-# PTXCONF_UTIL_LINUX_BLKID is not set
+
+#
+# BusyBox' blkid is selected!
+#
 # PTXCONF_UTIL_LINUX_FINDFS is not set
 # PTXCONF_UTIL_LINUX_GETOPT is not set
 PTXCONF_UTIL_LINUX_LSBLK=y
@@ -1996,6 +2034,7 @@ PTXCONF_E2FSPROGS=y
 #
 # build options                 
 #
+PTXCONF_E2FSPROGS_RESIZER=y
 # end of build options                 
 
 #
@@ -2031,7 +2070,7 @@ PTXCONF_E2FSPROGS_INSTALL_MKFS_EXT2=y
 PTXCONF_E2FSPROGS_INSTALL_MKFS_EXT3=y
 PTXCONF_E2FSPROGS_INSTALL_MKFS_EXT4=y
 # PTXCONF_E2FSPROGS_INSTALL_MKLOSTANDFOUND is not set
-# PTXCONF_E2FSPROGS_INSTALL_RESIZE2FS is not set
+PTXCONF_E2FSPROGS_INSTALL_RESIZE2FS=y
 # PTXCONF_E2FSPROGS_INSTALL_TUNE2FS is not set
 # end of binaries                      
 
@@ -2050,7 +2089,18 @@ PTXCONF_E2FSPROGS_INSTALL_MKFS_EXT4=y
 # PTXCONF_QUOTA_TOOLS is not set
 # PTXCONF_SAMBA is not set
 # PTXCONF_SDPARM is not set
-# PTXCONF_SQUASHFS_TOOLS is not set
+PTXCONF_SQUASHFS_TOOLS=y
+
+#
+# build options
+#
+# PTXCONF_SQUASHFS_TOOLS_ZSTD_SUPPORT is not set
+
+#
+# install options
+#
+# PTXCONF_SQUASHFS_TOOLS_MKSQUASHFS is not set
+PTXCONF_SQUASHFS_TOOLS_UNSQUASHFS=y
 # PTXCONF_SSHFS is not set
 # PTXCONF_UNZIP is not set
 # PTXCONF_XFSPROGS is not set
@@ -2093,7 +2143,19 @@ PTXCONF_E2FSPROGS_INSTALL_MKFS_EXT4=y
 # PTXCONF_LPC21ISP is not set
 # PTXCONF_MYSQLDB is not set
 # PTXCONF_RAUC_HAWKBIT_UPDATER is not set
-# PTXCONF_RAUC is not set
+PTXCONF_RAUC=y
+# PTXCONF_RAUC_CREATE is not set
+PTXCONF_RAUC_SERVICE=y
+PTXCONF_RAUC_NETWORK=y
+PTXCONF_RAUC_STREAMING=y
+PTXCONF_RAUC_JSON=y
+# PTXCONF_RAUC_GPT is not set
+PTXCONF_RAUC_CONFIGURATION=y
+PTXCONF_RAUC_COMPATIBLE="${PTXCONF_PROJECT_VENDOR} ${PTXCONF_PROJECT}"
+PTXCONF_RAUC_BUNDLE_VERSION="${PTXDIST_BSP_AUTOVERSION}"
+PTXCONF_RAUC_BAREBOX=y
+# PTXCONF_RAUC_U_BOOT is not set
+# PTXCONF_RAUC_EFI is not set
 # end of Applications                  
 
 #
@@ -2502,11 +2564,11 @@ PTXCONF_DBUS_SYSTEMD_UNIT=y
 # PTXCONF_GLIB_NETWORKING is not set
 PTXCONF_GLIB=y
 # PTXCONF_GLIB_GDBUS is not set
-# PTXCONF_GLIB_LIBMOUNT is not set
+PTXCONF_GLIB_LIBMOUNT=y
 # PTXCONF_GOBJECT_INTROSPECTION_HELPER is not set
 # PTXCONF_GTK_ENGINES is not set
 # PTXCONF_GTK is not set
-# PTXCONF_JSON_GLIB is not set
+PTXCONF_JSON_GLIB=y
 # PTXCONF_LIBGEE is not set
 # PTXCONF_LIBRSVG is not set
 # PTXCONF_PANGO is not set
diff --git a/projectroot/etc/rauc/system.conf b/projectroot/etc/rauc/system.conf
new file mode 100644
index 000000000000..191a2a1e4f8e
--- /dev/null
+++ b/projectroot/etc/rauc/system.conf
@@ -0,0 +1,17 @@
+[system]
+compatible=@RAUC_BUNDLE_COMPATIBLE@
+bootloader=barebox
+bundle-formats=verity
+
+[keyring]
+path=/etc/rauc/ca.cert.pem
+
+[slot.rootfs.0]
+device=/dev/disk/by-usage/rootfs0
+type=ext4
+bootname=system0
+
+[slot.rootfs.1]
+device=/dev/disk/by-usage/rootfs1
+type=ext4
+bootname=system1
diff --git a/projectroot/usr/lib/systemd/system/rauc-mark-good.service b/projectroot/usr/lib/systemd/system/rauc-mark-good.service
new file mode 100644
index 000000000000..89f56594766a
--- /dev/null
+++ b/projectroot/usr/lib/systemd/system/rauc-mark-good.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=RAUC Good-marking Service
+ConditionKernelCommandLine=|bootchooser.active
+ConditionKernelCommandLine=|rauc.slot
+Requires=boot-complete.target
+After=boot-complete.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/bin/rauc status mark-good
+
+[Install]
+WantedBy=multi-user.target
-- 
2.39.2




  parent reply	other threads:[~2023-06-23 12:48 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 ` Roland Hieber [this message]
2023-08-14 16:37   ` [DistroKit] [PATCH 10/14] rauc: add initial support 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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230623124755.2292833-11-rhi@pengutronix.de \
    --to=rhi@pengutronix.de \
    --cc=distrokit@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox