mbox series

[v4,0/2] Enable systemd units based on systemd presets

Message ID 20251030113332.1809425-1-alexander.heinisch@siemens.com
Headers show
Series Enable systemd units based on systemd presets | expand

Message

alexander.heinisch Oct. 30, 2025, 11:33 a.m. UTC
From: Alexander Heinisch <alexander.heinisch@siemens.com>

By default population of the presets is automatically done by systemd
on first-boot.

There were several issues with that:

1. The rootfs we get as a build artifact does not reflect the actual
system running in the field.

2. For setups without writeable /etc this fails. With that addition
it happens already at build time.

Note: Additional services are enabled only. Services already enabled
during the package installation won't be changed.

Opt-out: `ROOTFS_FEATURES:remove = "populate-systemd-preset"`

Changes since v1:
  - Documented changes in RECIPE-API-CHANGELOG.md

Changes since v2:
  - Enable postprocessing to populate systemd presets via ROOTFS_FEATURES

Changes since v3:
  - Check if systemctl is installed on the target rootfs before invoking it.

    => Tests fixed:
    ```
    $ avocado run citest.py:DevTest.test_dev --max-parallel-tasks=1
    JOB ID     : 131df887f543d582a4e23d18759ef4d908a13485
    JOB LOG    : /tmp/tmpaj335w6s/avocado/job-results/job-2025-10-30T10.32-131df88/job.log
     (1/6) citest.py:DevTest.test_dev: STARTED
     (1/6) citest.py:DevTest.test_dev: PASS (611.18 s)
     (2/6) citest.py:DevTest.test_dev_apps: STARTED
     (2/6) citest.py:DevTest.test_dev_apps: PASS (625.95 s)
     (3/6) citest.py:DevTest.test_dev_rebuild: STARTED
     (3/6) citest.py:DevTest.test_dev_rebuild: PASS (243.81 s)
     (4/6) citest.py:DevTest.test_dev_run_amd64_bookworm: STARTED
     (4/6) citest.py:DevTest.test_dev_run_amd64_bookworm: PASS (72.85 s)
     (5/6) citest.py:DevTest.test_dev_run_arm64_bookworm: STARTED
     (5/6) citest.py:DevTest.test_dev_run_arm64_bookworm: PASS (35.98 s)
     (6/6) citest.py:DevTest.test_dev_run_arm_bookworm: STARTED
     (6/6) citest.py:DevTest.test_dev_run_arm_bookworm: PASS (40.02 s)
    RESULTS    : PASS 6 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 | CANCEL 0
    JOB TIME   : 1634.63 s
    ```

Alexander Heinisch (2):
  Minor cleanup: Refactor ROOTFS_FEATURES assignment for image to make
    upcoming changes more easily trackable.
  classes/image-postproc: Enable systemd units based on systemd presets

 RECIPE-API-CHANGELOG.md     | 20 +++++++++++++++++++-
 meta/classes/image.bbclass  | 10 +++++++++-
 meta/classes/rootfs.bbclass | 12 ++++++++++++
 3 files changed, 40 insertions(+), 2 deletions(-)

--
2.39.5