Hi,
On Fri, 2025-06-13 at 13:23 -0400, 'Badrikesh Prusty' via isar-users
wrote:
> Fix image installation when isar-image-installer rootfs is booted as
> read-only
> by ensuring /tmp is mounted as tmpfs.
> This change utilizes systemd's tmp.mount to mount /tmp as tmpfs.
> Since systemd
> versions up to Debian Bookworm ship tmp.mount in /usr/share/systemd/,
> the file
> must be copied to a directory where systemctl can enable it.
> For systemd versions 256.x and newer, tmp.mount is shipped in the
> appropriate
> location: /usr/lib/systemd/system/tmp.mount
>
> Signed-off-by: Badrikesh Prusty <badrikes...@siemens.com>
> ---
> .../deploy-image/deploy-image_0.1.bb | 3 ++-
> .../systemd-tmpfs-tmp/files/postinst | 15
> +++++++++++++++
> .../systemd-tmpfs-tmp/systemd-tmpfs-tmp_0.1.bb | 10 ++++++++++
> 3 files changed, 27 insertions(+), 1 deletion(-)
> create mode 100644 meta-isar/recipes-installer/systemd-tmpfs-
> tmp/files/postinst
> create mode 100644 meta-isar/recipes-installer/systemd-tmpfs-
> tmp/systemd-tmpfs-tmp_0.1.bb
>
> diff --git a/meta-isar/recipes-installer/deploy-image/deploy-
> image_0.1.bb b/meta-isar/recipes-installer/deploy-image/deploy-
> image_0.1.bb
> index 54e521b5..e67feae5 100644
> --- a/meta-isar/recipes-installer/deploy-image/deploy-image_0.1.bb
> +++ b/meta-isar/recipes-installer/deploy-image/deploy-image_0.1.bb
> @@ -11,7 +11,8 @@ SRC_URI = "file://usr/bin/deploy-image-wic.sh \
> file://usr/lib/deploy-image-wic/handle-config.sh \
> "
> DEPENDS:bookworm += "bmap-tools"
> -DEBIAN_DEPENDS = "bmap-tools, pv, dialog, util-linux, parted, fdisk,
> gdisk, pigz, xz-utils, pbzip2, zstd"
> +DEPENDS:append = " systemd-tmpfs-tmp"
The combination of DEPENDS:bookworm += ... and DEPENDS:append is
dangerous. We better refactor this to DEPENDS:append:bookworm = " ...",
DEPENDS:append = " ...".
> +DEBIAN_DEPENDS = "bmap-tools, pv, dialog, util-linux, parted, fdisk,
> gdisk, pigz, systemd-tmpfs-tmp, xz-utils, pbzip2, zstd"
> do_install[cleandirs] = "${D}/usr/bin/ \
> ${D}/usr/lib/deploy-image-wic \
> "
> diff --git a/meta-isar/recipes-installer/systemd-tmpfs-
> tmp/files/postinst b/meta-isar/recipes-installer/systemd-tmpfs-
> tmp/files/postinst
> new file mode 100644
> index 00000000..be1594e6
> --- /dev/null
> +++ b/meta-isar/recipes-installer/systemd-tmpfs-tmp/files/postinst
> @@ -0,0 +1,15 @@
> +#!/bin/sh
> +
> +set -e
> +
> +# Enable tmp.mount if /tmp is NOT configured in /etc/fstab
> +if ! grep -q '/tmp' /etc/fstab; then
> + # Ensure tmp.mount exists in systemd path
> + if [ ! -e /usr/lib/systemd/system/tmp.mount ] && [ ! -e
> /etc/systemd/system/tmp.mount ]; then
> + cp /usr/share/systemd/tmp.mount
> /etc/systemd/system/tmp.mount
> + fi
> +
> + # Enable the mount unit using deb-systemd-helper
> + deb-systemd-helper enable tmp.mount || true
> +fi
> +
> diff --git a/meta-isar/recipes-installer/systemd-tmpfs-tmp/systemd-
> tmpfs-tmp_0.1.bb b/meta-isar/recipes-installer/systemd-tmpfs-
> tmp/systemd-tmpfs-tmp_0.1.bb
> new file mode 100644
> index 00000000..821cdd5f
> --- /dev/null
> +++ b/meta-isar/recipes-installer/systemd-tmpfs-tmp/systemd-tmpfs-
> tmp_0.1.bb
> @@ -0,0 +1,10 @@
> +# This software is a part of ISAR.
> +# Copyright (C) Siemens AG, 2024
> +#
> +# SPDX-License-Identifier: MIT
> +
> +inherit dpkg-raw
> +
> +SRC_URI = "file://postinst"
> +
> +DEBIAN_DEPENDS = "systemd"
Please also set the DESCRIPTION and MAINTAINER fields.
Felix
> --
> 2.39.5
--
Siemens AG
Linux Expert Center
Friedrich-Ludwig-Bauer-Str. 3
85748 Garching, Germany