* [isar-cip-core][PATCH 0/6] Add support for EROFS
@ 2024-10-30 11:51 Jan Kiszka
2024-10-30 11:51 ` [isar-cip-core][PATCH 1/6] Make the read-only rootfs type configurable Jan Kiszka
` (5 more replies)
0 siblings, 6 replies; 8+ messages in thread
From: Jan Kiszka @ 2024-10-30 11:51 UTC (permalink / raw)
To: cip-dev
EROFS is a read-only file system that can act as alternative to squashfs
that we so far use for our A/B OTA update setups. It can perform faster
during runtime but may come with larger storage demand. See [1] for some
comparison.
We just enabled support for it in our 6.1 defconfigs, and this series now
enable CIP core to switch from squashfs to EROFS when requested.
Jan
[1] https://sigma-star.at/blog/2022/07/squashfs-erofs
Jan Kiszka (6):
Make the read-only rootfs type configurable
initramfs-crypt-hook: Prepare for EROFS as alternative
Add initramfs-erofs-hook
Introduce class for generating EROFS images
linux-cip: Update cip-kernel-config revision
kas: Add option for selecting read-only rootfs type
Kconfig | 16 +++++++++
classes/erofs.bbclass | 34 +++++++++++++++++++
classes/swupdate.bbclass | 3 +-
classes/verity.bbclass | 2 +-
conf/distro/cip-core-common.inc | 4 ++-
conf/layer.conf | 2 +-
kas/opt/erofs.yml | 16 +++++++++
kas/opt/swupdate.yml | 8 ++---
.../files/encrypt_partition.script | 2 +-
...ook_0.2.bb => initramfs-crypt-hook_0.3.bb} | 0
.../initramfs-erofs-hook/files/erofs.hook | 25 ++++++++++++++
.../initramfs-erofs-hook_0.1.bb | 24 +++++++++++++
recipes-kernel/linux/cip-kernel-config.inc | 2 +-
wic/bbb-efibootguard.wks.in | 2 +-
wic/hihope-rzg2m-efibootguard.wks.in | 2 +-
wic/qemu-arm64-efibootguard.wks.in | 2 +-
wic/qemu-riscv64-efibootguard.wks.in | 2 +-
wic/x86-uefi-efibootguard.wks.in | 2 +-
18 files changed, 133 insertions(+), 15 deletions(-)
create mode 100644 classes/erofs.bbclass
create mode 100644 kas/opt/erofs.yml
rename recipes-initramfs/initramfs-crypt-hook/{initramfs-crypt-hook_0.2.bb => initramfs-crypt-hook_0.3.bb} (100%)
create mode 100644 recipes-initramfs/initramfs-erofs-hook/files/erofs.hook
create mode 100644 recipes-initramfs/initramfs-erofs-hook/initramfs-erofs-hook_0.1.bb
--
2.43.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* [isar-cip-core][PATCH 1/6] Make the read-only rootfs type configurable
2024-10-30 11:51 [isar-cip-core][PATCH 0/6] Add support for EROFS Jan Kiszka
@ 2024-10-30 11:51 ` Jan Kiszka
2024-10-30 11:51 ` [isar-cip-core][PATCH 2/6] initramfs-crypt-hook: Prepare for EROFS as alternative Jan Kiszka
` (4 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Jan Kiszka @ 2024-10-30 11:51 UTC (permalink / raw)
To: cip-dev
From: Jan Kiszka <jan.kiszka@siemens.com>
We so far use squashfs here and will keep that as default. But there
will be an option in the future to select EROFS as alternative. Prepare
for that.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
classes/swupdate.bbclass | 3 ++-
classes/verity.bbclass | 2 +-
conf/distro/cip-core-common.inc | 4 +++-
kas/opt/swupdate.yml | 8 ++++----
wic/bbb-efibootguard.wks.in | 2 +-
wic/hihope-rzg2m-efibootguard.wks.in | 2 +-
wic/qemu-arm64-efibootguard.wks.in | 2 +-
wic/qemu-riscv64-efibootguard.wks.in | 2 +-
wic/x86-uefi-efibootguard.wks.in | 2 +-
9 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/classes/swupdate.bbclass b/classes/swupdate.bbclass
index 642fd795..5bf021ad 100644
--- a/classes/swupdate.bbclass
+++ b/classes/swupdate.bbclass
@@ -12,7 +12,7 @@
inherit template
-SWU_ROOTFS_TYPE ?= "squashfs"
+SWU_ROOTFS_TYPE ?= "${RO_ROOTFS_TYPE}"
SWU_ROOTFS_NAME ?= "${IMAGE_FULLNAME}"
# compression type as defined by swupdate (zlib or zstd). Set to empty string to disable compression
SWU_COMPRESSION_TYPE ?= "zlib"
@@ -55,6 +55,7 @@ IMAGE_SRC_URI:swu += "file://${SWU_DESCRIPITION_FILE_BOOTLOADER}.tmpl"
IMAGE_TEMPLATE_FILES:swu = "${SWU_DESCRIPTION_FILE}.tmpl"
IMAGE_TEMPLATE_FILES:swu += "${SWU_DESCRIPITION_FILE_BOOTLOADER}.tmpl"
IMAGE_TEMPLATE_VARS:swu = " \
+ RO_ROOTFS_TYPE \
SWU_ROOTFS_ARTIFACT_NAME \
TARGET_IMAGE_UUID \
ABROOTFS_PART_UUID_A \
diff --git a/classes/verity.bbclass b/classes/verity.bbclass
index b3aa9732..231d1729 100644
--- a/classes/verity.bbclass
+++ b/classes/verity.bbclass
@@ -12,7 +12,7 @@
IMAGE_TYPEDEP:verity = "${VERITY_IMAGE_TYPE}"
IMAGER_INSTALL:verity += "cryptsetup"
-VERITY_IMAGE_TYPE ?= "squashfs"
+VERITY_IMAGE_TYPE ?= "${RO_ROOTFS_TYPE}"
VERITY_INPUT_IMAGE ?= "${IMAGE_FULLNAME}.${VERITY_IMAGE_TYPE}"
VERITY_OUTPUT_IMAGE ?= "${IMAGE_FULLNAME}.verity"
VERITY_IMAGE_METADATA = "${VERITY_OUTPUT_IMAGE}.metadata"
diff --git a/conf/distro/cip-core-common.inc b/conf/distro/cip-core-common.inc
index 4bd4b840..3323dd0b 100644
--- a/conf/distro/cip-core-common.inc
+++ b/conf/distro/cip-core-common.inc
@@ -1,7 +1,7 @@
#
# CIP Core, generic profile
#
-# Copyright (c) Siemens AG, 2019-2023
+# Copyright (c) Siemens AG, 2019-2024
#
# Authors:
# Jan Kiszka <jan.kiszka@siemens.com>
@@ -15,6 +15,8 @@ WKS_FILE ?= "${MACHINE}.wks"
CIP_IMAGE_OPTIONS ?= ""
+RO_ROOTFS_TYPE ?= "squashfs"
+
IMAGER_BUILD_DEPS:append = " dosfstools-native"
IMAGER_BUILD_DEPS:remove:buster = "dosfstools-native"
diff --git a/kas/opt/swupdate.yml b/kas/opt/swupdate.yml
index 73982000..837efa7d 100644
--- a/kas/opt/swupdate.yml
+++ b/kas/opt/swupdate.yml
@@ -1,7 +1,7 @@
#
# CIP Core, generic profile
#
-# Copyright (c) Siemens AG, 2020
+# Copyright (c) Siemens AG, 2020-2024
#
# Authors:
# Quirin Gylstorff <quirin.gylstorff@siemens.com>
@@ -20,12 +20,12 @@ local_conf_header:
OVERRIDES .= ":swupdate"
wic-swu: |
- IMAGE_TYPEDEP:wic += "squashfs"
+ IMAGE_TYPEDEP:wic += "${RO_ROOTFS_TYPE}"
IMAGE_FSTYPES:append = " swu"
- # squashfs is already compressed
+ # input is already compressed
SWU_COMPRESSION_TYPE = ""
WKS_FILE ?= "${MACHINE}-${SWUPDATE_BOOTLOADER}.wks.in"
- INITRAMFS_INSTALL:append = " initramfs-squashfs-hook"
+ INITRAMFS_INSTALL:append = " initramfs-${RO_ROOTFS_TYPE}-hook"
ABROOTFS_PART_UUID_A ?= "fedcba98-7654-3210-cafe-5e0710000001"
ABROOTFS_PART_UUID_B ?= "fedcba98-7654-3210-cafe-5e0710000002"
PREFERRED_PROVIDER_swupdate-certificates-key ??= "swupdate-certificates-key-snakeoil"
diff --git a/wic/bbb-efibootguard.wks.in b/wic/bbb-efibootguard.wks.in
index b5772c2d..e6c3e158 100644
--- a/wic/bbb-efibootguard.wks.in
+++ b/wic/bbb-efibootguard.wks.in
@@ -11,7 +11,7 @@ part --source rawcopy --sourceparams "file=/usr/lib/u-boot/bbb/u-boot.img" --no-
include ebg-sysparts.inc
-part --source rawcopy --sourceparams "file=${IMAGE_FULLNAME}.squashfs" --align 1024 --fixed-size 1G --uuid "${ABROOTFS_PART_UUID_A}" --part-type 0FC63DAF-8483-4772-8E79-3D69D8477DE4 --part-name systema
+part --source rawcopy --sourceparams "file=${IMAGE_FULLNAME}.${RO_ROOTFS_TYPE}" --align 1024 --fixed-size 1G --uuid "${ABROOTFS_PART_UUID_A}" --part-type 0FC63DAF-8483-4772-8E79-3D69D8477DE4 --part-name systema
part --source empty --align 1024 --fixed-size 1G --uuid "${ABROOTFS_PART_UUID_B}" --part-type 0FC63DAF-8483-4772-8E79-3D69D8477DE4 --part-name systemb
# home and var are extra partitions
diff --git a/wic/hihope-rzg2m-efibootguard.wks.in b/wic/hihope-rzg2m-efibootguard.wks.in
index 164e8a92..fb3f090a 100644
--- a/wic/hihope-rzg2m-efibootguard.wks.in
+++ b/wic/hihope-rzg2m-efibootguard.wks.in
@@ -3,7 +3,7 @@
include ebg-sysparts.inc
-part --source rawcopy --sourceparams "file=${IMAGE_FULLNAME}.squashfs" --align 1024 --fixed-size 1G --uuid "${ABROOTFS_PART_UUID_A}" --part-type 0FC63DAF-8483-4772-8E79-3D69D8477DE4 --part-name systema
+part --source rawcopy --sourceparams "file=${IMAGE_FULLNAME}.${RO_ROOTFS_TYPE}" --align 1024 --fixed-size 1G --uuid "${ABROOTFS_PART_UUID_A}" --part-type 0FC63DAF-8483-4772-8E79-3D69D8477DE4 --part-name systema
part --source empty --align 1024 --fixed-size 1G --uuid "${ABROOTFS_PART_UUID_B}" --part-type 0FC63DAF-8483-4772-8E79-3D69D8477DE4 --part-name systemb
# home and var are extra partitions
diff --git a/wic/qemu-arm64-efibootguard.wks.in b/wic/qemu-arm64-efibootguard.wks.in
index 6f034208..17434d15 100644
--- a/wic/qemu-arm64-efibootguard.wks.in
+++ b/wic/qemu-arm64-efibootguard.wks.in
@@ -3,7 +3,7 @@
include ebg-sysparts.inc
-part --source rawcopy --sourceparams "file=${IMAGE_FULLNAME}.squashfs" --align 1024 --fixed-size 1G --uuid "${ABROOTFS_PART_UUID_A}" --part-type 0FC63DAF-8483-4772-8E79-3D69D8477DE4 --part-name systema
+part --source rawcopy --sourceparams "file=${IMAGE_FULLNAME}.${RO_ROOTFS_TYPE}" --align 1024 --fixed-size 1G --uuid "${ABROOTFS_PART_UUID_A}" --part-type 0FC63DAF-8483-4772-8E79-3D69D8477DE4 --part-name systema
part --source empty --align 1024 --fixed-size 1G --uuid "${ABROOTFS_PART_UUID_B}" --part-type 0FC63DAF-8483-4772-8E79-3D69D8477DE4 --part-name systemb
# home and var are extra partitions
diff --git a/wic/qemu-riscv64-efibootguard.wks.in b/wic/qemu-riscv64-efibootguard.wks.in
index 1704dede..1a2291e3 100644
--- a/wic/qemu-riscv64-efibootguard.wks.in
+++ b/wic/qemu-riscv64-efibootguard.wks.in
@@ -3,7 +3,7 @@
include ebg-sysparts.inc
-part --source rawcopy --sourceparams "file=${IMAGE_FULLNAME}.squashfs" --align 1024 --fixed-size 1G --uuid "${ABROOTFS_PART_UUID_A}" --part-type 0FC63DAF-8483-4772-8E79-3D69D8477DE4 --part-name systema
+part --source rawcopy --sourceparams "file=${IMAGE_FULLNAME}.${RO_ROOTFS_TYPE}" --align 1024 --fixed-size 1G --uuid "${ABROOTFS_PART_UUID_A}" --part-type 0FC63DAF-8483-4772-8E79-3D69D8477DE4 --part-name systema
part --source empty --align 1024 --fixed-size 1G --uuid "${ABROOTFS_PART_UUID_B}" --part-type 0FC63DAF-8483-4772-8E79-3D69D8477DE4 --part-name systemb
# home and var are extra partitions
diff --git a/wic/x86-uefi-efibootguard.wks.in b/wic/x86-uefi-efibootguard.wks.in
index a1cebc1e..9d344f8a 100644
--- a/wic/x86-uefi-efibootguard.wks.in
+++ b/wic/x86-uefi-efibootguard.wks.in
@@ -3,7 +3,7 @@
include ebg-sysparts.inc
-part --source rawcopy --sourceparams "file=${IMAGE_FULLNAME}.squashfs" --align 1024 --fixed-size 1G --uuid "${ABROOTFS_PART_UUID_A}" --part-type 0FC63DAF-8483-4772-8E79-3D69D8477DE4 --part-name systema
+part --source rawcopy --sourceparams "file=${IMAGE_FULLNAME}.${RO_ROOTFS_TYPE}" --align 1024 --fixed-size 1G --uuid "${ABROOTFS_PART_UUID_A}" --part-type 0FC63DAF-8483-4772-8E79-3D69D8477DE4 --part-name systema
part --source empty --align 1024 --fixed-size 1G --uuid "${ABROOTFS_PART_UUID_B}" --part-type 0FC63DAF-8483-4772-8E79-3D69D8477DE4 --part-name systemb
# home and var are extra partitions
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [isar-cip-core][PATCH 2/6] initramfs-crypt-hook: Prepare for EROFS as alternative
2024-10-30 11:51 [isar-cip-core][PATCH 0/6] Add support for EROFS Jan Kiszka
2024-10-30 11:51 ` [isar-cip-core][PATCH 1/6] Make the read-only rootfs type configurable Jan Kiszka
@ 2024-10-30 11:51 ` Jan Kiszka
2024-10-30 11:51 ` [isar-cip-core][PATCH 3/6] Add initramfs-erofs-hook Jan Kiszka
` (3 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Jan Kiszka @ 2024-10-30 11:51 UTC (permalink / raw)
To: cip-dev
From: Jan Kiszka <jan.kiszka@siemens.com>
Naturally, expansion does not make sense for it as well.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
.../initramfs-crypt-hook/files/encrypt_partition.script | 2 +-
...{initramfs-crypt-hook_0.2.bb => initramfs-crypt-hook_0.3.bb} | 0
2 files changed, 1 insertion(+), 1 deletion(-)
rename recipes-initramfs/initramfs-crypt-hook/{initramfs-crypt-hook_0.2.bb => initramfs-crypt-hook_0.3.bb} (100%)
diff --git a/recipes-initramfs/initramfs-crypt-hook/files/encrypt_partition.script b/recipes-initramfs/initramfs-crypt-hook/files/encrypt_partition.script
index ff4c1353..2cd6798d 100644
--- a/recipes-initramfs/initramfs-crypt-hook/files/encrypt_partition.script
+++ b/recipes-initramfs/initramfs-crypt-hook/files/encrypt_partition.script
@@ -82,7 +82,7 @@ EOF
panic "reencryption of filesystem $1 cannot continue!"
fi
;;
- squashfs|swap|"")
+ squashfs|swap|erofs|"")
[ "$debug" = "y" ] && echo "skip disk resize as it is not supported or unnecessary for fstype: '$partition_fstype'"
;;
*)
diff --git a/recipes-initramfs/initramfs-crypt-hook/initramfs-crypt-hook_0.2.bb b/recipes-initramfs/initramfs-crypt-hook/initramfs-crypt-hook_0.3.bb
similarity index 100%
rename from recipes-initramfs/initramfs-crypt-hook/initramfs-crypt-hook_0.2.bb
rename to recipes-initramfs/initramfs-crypt-hook/initramfs-crypt-hook_0.3.bb
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [isar-cip-core][PATCH 3/6] Add initramfs-erofs-hook
2024-10-30 11:51 [isar-cip-core][PATCH 0/6] Add support for EROFS Jan Kiszka
2024-10-30 11:51 ` [isar-cip-core][PATCH 1/6] Make the read-only rootfs type configurable Jan Kiszka
2024-10-30 11:51 ` [isar-cip-core][PATCH 2/6] initramfs-crypt-hook: Prepare for EROFS as alternative Jan Kiszka
@ 2024-10-30 11:51 ` Jan Kiszka
2024-10-30 11:51 ` [isar-cip-core][PATCH 4/6] Introduce class for generating EROFS images Jan Kiszka
` (2 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Jan Kiszka @ 2024-10-30 11:51 UTC (permalink / raw)
To: cip-dev
From: Jan Kiszka <jan.kiszka@siemens.com>
This is basically just search&replace compared to
initramfs-squashfs-hook.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
.../initramfs-erofs-hook/files/erofs.hook | 25 +++++++++++++++++++
.../initramfs-erofs-hook_0.1.bb | 24 ++++++++++++++++++
2 files changed, 49 insertions(+)
create mode 100644 recipes-initramfs/initramfs-erofs-hook/files/erofs.hook
create mode 100644 recipes-initramfs/initramfs-erofs-hook/initramfs-erofs-hook_0.1.bb
diff --git a/recipes-initramfs/initramfs-erofs-hook/files/erofs.hook b/recipes-initramfs/initramfs-erofs-hook/files/erofs.hook
new file mode 100644
index 00000000..cf43bf10
--- /dev/null
+++ b/recipes-initramfs/initramfs-erofs-hook/files/erofs.hook
@@ -0,0 +1,25 @@
+#!/bin/sh
+#
+# CIP Core, generic profile
+#
+# Copyright (c) Siemens AG, 2024
+#
+# Authors:
+# Jan Kiszka <jan.kiszka@siemens.com>
+#
+
+PREREQ=""
+prereqs()
+{
+ echo "$PREREQ"
+}
+case $1 in
+prereqs)
+ prereqs
+ exit 0
+ ;;
+esac
+
+. /usr/share/initramfs-tools/hook-functions
+
+manual_add_modules erofs
diff --git a/recipes-initramfs/initramfs-erofs-hook/initramfs-erofs-hook_0.1.bb b/recipes-initramfs/initramfs-erofs-hook/initramfs-erofs-hook_0.1.bb
new file mode 100644
index 00000000..ab679c91
--- /dev/null
+++ b/recipes-initramfs/initramfs-erofs-hook/initramfs-erofs-hook_0.1.bb
@@ -0,0 +1,24 @@
+#
+# CIP Core, generic profile
+#
+# Copyright (c) Siemens AG, 2024
+#
+# Authors:
+# Jan Kiszka <jan.kiszka@siemens.com>
+#
+# SPDX-License-Identifier: MIT
+#
+
+inherit dpkg-raw
+
+SRC_URI += "file://erofs.hook"
+
+DEBIAN_DEPENDS = "erofs-utils"
+
+do_install[cleandirs] += " \
+ ${D}/usr/share/initramfs-tools/hooks"
+
+do_install() {
+ install -m 0755 "${WORKDIR}/erofs.hook" \
+ "${D}/usr/share/initramfs-tools/hooks/erofs"
+}
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [isar-cip-core][PATCH 4/6] Introduce class for generating EROFS images
2024-10-30 11:51 [isar-cip-core][PATCH 0/6] Add support for EROFS Jan Kiszka
` (2 preceding siblings ...)
2024-10-30 11:51 ` [isar-cip-core][PATCH 3/6] Add initramfs-erofs-hook Jan Kiszka
@ 2024-10-30 11:51 ` Jan Kiszka
2024-10-30 11:51 ` [isar-cip-core][PATCH 5/6] linux-cip: Update cip-kernel-config revision Jan Kiszka
2024-10-30 11:51 ` [isar-cip-core][PATCH 6/6] kas: Add option for selecting read-only rootfs type Jan Kiszka
5 siblings, 0 replies; 8+ messages in thread
From: Jan Kiszka @ 2024-10-30 11:51 UTC (permalink / raw)
To: cip-dev
From: Jan Kiszka <jan.kiszka@siemens.com>
This is analogous to the squashfs class.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
classes/erofs.bbclass | 34 ++++++++++++++++++++++++++++++++++
conf/layer.conf | 2 +-
2 files changed, 35 insertions(+), 1 deletion(-)
create mode 100644 classes/erofs.bbclass
diff --git a/classes/erofs.bbclass b/classes/erofs.bbclass
new file mode 100644
index 00000000..95e7be35
--- /dev/null
+++ b/classes/erofs.bbclass
@@ -0,0 +1,34 @@
+#
+# CIP Core, generic profile
+#
+# Copyright (c) Siemens AG, 2024
+#
+# Authors:
+# Jan Kiszka <jan.kiszka@siemens.com>
+#
+# SPDX-License-Identifier: MIT
+#
+
+IMAGER_INSTALL:erofs += "erofs-utils"
+
+EROFS_EXCLUDE_DIRS ?= ""
+EROFS_CONTENT ?= "${PP_ROOTFS}"
+EROFS_CREATION_ARGS ?= "-z lz4hc,12"
+
+python __anonymous() {
+ exclude_directories = d.getVar('EROFS_EXCLUDE_DIRS').split()
+ if len(exclude_directories) == 0:
+ return
+ # Use regex to exclude only content of the directory.
+ # This allows to use the directory as a mount point.
+ for dir in exclude_directories:
+ args += " --exclude-regex {dir}/.* ".format(dir=dir)
+ d.appendVar('EROFS_CREATION_ARGS', args)
+}
+
+IMAGE_CMD:erofs[depends] = "${PN}:do_transform_template"
+IMAGE_CMD:erofs() {
+ ${SUDO_CHROOT} /bin/mkfs.erofs \
+ '${IMAGE_FILE_CHROOT}' '${EROFS_CONTENT}' \
+ ${EROFS_CREATION_ARGS}
+}
diff --git a/conf/layer.conf b/conf/layer.conf
index c652a61c..316f4a81 100644
--- a/conf/layer.conf
+++ b/conf/layer.conf
@@ -23,5 +23,5 @@ LAYERSERIES_COMPAT_cip-core = "next"
LAYERDIR_cip-core = "${LAYERDIR}"
LAYERDIR_cip-core[vardepvalue] = "isar-cip-core"
-IMAGE_CLASSES += "squashfs verity swupdate delta-update"
+IMAGE_CLASSES += "squashfs erofs verity swupdate delta-update"
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [isar-cip-core][PATCH 5/6] linux-cip: Update cip-kernel-config revision
2024-10-30 11:51 [isar-cip-core][PATCH 0/6] Add support for EROFS Jan Kiszka
` (3 preceding siblings ...)
2024-10-30 11:51 ` [isar-cip-core][PATCH 4/6] Introduce class for generating EROFS images Jan Kiszka
@ 2024-10-30 11:51 ` Jan Kiszka
2024-10-30 13:56 ` Jan Kiszka
2024-10-30 11:51 ` [isar-cip-core][PATCH 6/6] kas: Add option for selecting read-only rootfs type Jan Kiszka
5 siblings, 1 reply; 8+ messages in thread
From: Jan Kiszka @ 2024-10-30 11:51 UTC (permalink / raw)
To: cip-dev
From: Jan Kiszka <jan.kiszka@siemens.com>
This brings support for EROFS and PID namespaces for 6.1 and also fixes
Ethernet configuration on BeagleBone Black.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
recipes-kernel/linux/cip-kernel-config.inc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/recipes-kernel/linux/cip-kernel-config.inc b/recipes-kernel/linux/cip-kernel-config.inc
index 9c1ab946..4e1cacc2 100644
--- a/recipes-kernel/linux/cip-kernel-config.inc
+++ b/recipes-kernel/linux/cip-kernel-config.inc
@@ -14,6 +14,6 @@ SRC_URI:append = " ${@ \
if d.getVar('USE_CIP_KERNEL_CONFIG') == '1' else '' \
}"
-SRCREV_cip-kernel-config ?= "f6b7018cb6845f34f8a03c126bf4f823ce10d637"
+SRCREV_cip-kernel-config ?= "c3c5f08d24dc05f7dd20d29d6337e00aad190093"
do_fetch[vardeps] += "SRCREV_cip-kernel-config"
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [isar-cip-core][PATCH 6/6] kas: Add option for selecting read-only rootfs type
2024-10-30 11:51 [isar-cip-core][PATCH 0/6] Add support for EROFS Jan Kiszka
` (4 preceding siblings ...)
2024-10-30 11:51 ` [isar-cip-core][PATCH 5/6] linux-cip: Update cip-kernel-config revision Jan Kiszka
@ 2024-10-30 11:51 ` Jan Kiszka
5 siblings, 0 replies; 8+ messages in thread
From: Jan Kiszka @ 2024-10-30 11:51 UTC (permalink / raw)
To: cip-dev
From: Jan Kiszka <jan.kiszka@siemens.com>
This allows to select EROFS as alternative to squashfs. The option is
limited to 6.1 kernels, older ones will no longer be enabled.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
Kconfig | 16 ++++++++++++++++
kas/opt/erofs.yml | 16 ++++++++++++++++
2 files changed, 32 insertions(+)
create mode 100644 kas/opt/erofs.yml
diff --git a/Kconfig b/Kconfig
index 8062cdb7..83f2c2f6 100644
--- a/Kconfig
+++ b/Kconfig
@@ -198,6 +198,22 @@ config IMAGE_DELTA_SWUPDATE
endchoice
+choice
+ prompt "Read-only rootfs type"
+
+config IMAGE_RO_ROOTFS_SQUASHFS
+ bool "Squashfs"
+
+config IMAGE_RO_ROOTFS_EROFS
+ bool "EROFS"
+ depends on KERNEL_6_1
+
+endchoice
+
+config KAS_INCLUDE_EROFS
+ string
+ default "kas/opt/erofs.yml" if IMAGE_RO_ROOTFS_EROFS
+
config IMAGE_SECURE_BOOT
bool "Secure boot support"
depends on TARGET_QEMU_AMD64 || TARGET_QEMU_ARM64 || TARGET_QEMU_ARM || TARGET_X86_UEFI
diff --git a/kas/opt/erofs.yml b/kas/opt/erofs.yml
new file mode 100644
index 00000000..7c44f5b8
--- /dev/null
+++ b/kas/opt/erofs.yml
@@ -0,0 +1,16 @@
+#
+# CIP Core, generic profile
+#
+# Copyright (c) Siemens AG, 2024
+#
+# Authors:
+# Jan Kiszka <jan.kiszka@siemens.com>
+#
+# SPDX-License-Identifier: MIT
+
+header:
+ version: 14
+
+local_conf_header:
+ erofs: |
+ RO_ROOTFS_TYPE = "erofs"
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [isar-cip-core][PATCH 5/6] linux-cip: Update cip-kernel-config revision
2024-10-30 11:51 ` [isar-cip-core][PATCH 5/6] linux-cip: Update cip-kernel-config revision Jan Kiszka
@ 2024-10-30 13:56 ` Jan Kiszka
0 siblings, 0 replies; 8+ messages in thread
From: Jan Kiszka @ 2024-10-30 13:56 UTC (permalink / raw)
To: cip-dev
On 30.10.24 12:51, Jan Kiszka wrote:
> From: Jan Kiszka <jan.kiszka@siemens.com>
>
> This brings support for EROFS and PID namespaces for 6.1 and also fixes
> Ethernet configuration on BeagleBone Black.
>
> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
> ---
> recipes-kernel/linux/cip-kernel-config.inc | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/recipes-kernel/linux/cip-kernel-config.inc b/recipes-kernel/linux/cip-kernel-config.inc
> index 9c1ab946..4e1cacc2 100644
> --- a/recipes-kernel/linux/cip-kernel-config.inc
> +++ b/recipes-kernel/linux/cip-kernel-config.inc
> @@ -14,6 +14,6 @@ SRC_URI:append = " ${@ \
> if d.getVar('USE_CIP_KERNEL_CONFIG') == '1' else '' \
> }"
>
> -SRCREV_cip-kernel-config ?= "f6b7018cb6845f34f8a03c126bf4f823ce10d637"
> +SRCREV_cip-kernel-config ?= "c3c5f08d24dc05f7dd20d29d6337e00aad190093"
>
> do_fetch[vardeps] += "SRCREV_cip-kernel-config"
Ok, this will need a v2 once [1] is merged. Or [2] is resolved so that
it can be merged.
Jan
[1] https://gitlab.com/cip-project/cip-kernel/cip-kernel-config/-/merge_requests/106
[2] https://lore.kernel.org/cip-dev/cd17b322-28c8-46c7-9876-22cd3f32033d@siemens.com/
--
Siemens AG, Technology
Linux Expert Center
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-10-30 13:56 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-30 11:51 [isar-cip-core][PATCH 0/6] Add support for EROFS Jan Kiszka
2024-10-30 11:51 ` [isar-cip-core][PATCH 1/6] Make the read-only rootfs type configurable Jan Kiszka
2024-10-30 11:51 ` [isar-cip-core][PATCH 2/6] initramfs-crypt-hook: Prepare for EROFS as alternative Jan Kiszka
2024-10-30 11:51 ` [isar-cip-core][PATCH 3/6] Add initramfs-erofs-hook Jan Kiszka
2024-10-30 11:51 ` [isar-cip-core][PATCH 4/6] Introduce class for generating EROFS images Jan Kiszka
2024-10-30 11:51 ` [isar-cip-core][PATCH 5/6] linux-cip: Update cip-kernel-config revision Jan Kiszka
2024-10-30 13:56 ` Jan Kiszka
2024-10-30 11:51 ` [isar-cip-core][PATCH 6/6] kas: Add option for selecting read-only rootfs type Jan Kiszka
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.