Can't build a sysvinit-based image in openembedded

Hi folks,

I’m trying to build a sysvinit-based image with openembedded but I always get systemd.
I tried to build core-image-minimal:

SUMMARY = "A small image just capable of allowing a device to boot."

IMAGE_INSTALL = "packagegroup-core-boot ${CORE_IMAGE_EXTRA_INSTALL}"

IMAGE_LINGUAS = " "

LICENSE = "MIT"

inherit core-image

IMAGE_ROOTFS_SIZE ?= "8192"
IMAGE_ROOTFS_EXTRA_SPACE_append = "${@bb.utils.contains("DISTRO_FEATURES", "systemd", " + 4096", "" ,d)}"

this should install packagegroup-core-boot:

#
# Copyright (C) 2007 OpenedHand Ltd.
#

SUMMARY = "Minimal boot requirements"
DESCRIPTION = "The minimal set of packages required to boot the system"
PR = "r17"

PACKAGE_ARCH = "${MACHINE_ARCH}"

inherit packagegroup

#
# Set by the machine configuration with packages essential for device bootup
#
MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= ""
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= ""

# Distro can override the following VIRTUAL-RUNTIME providers:
VIRTUAL-RUNTIME_dev_manager ?= "udev"
VIRTUAL-RUNTIME_login_manager ?= "busybox"
VIRTUAL-RUNTIME_init_manager ?= "sysvinit"
VIRTUAL-RUNTIME_initscripts ?= "initscripts"
VIRTUAL-RUNTIME_keymaps ?= "keymaps"

SYSVINIT_SCRIPTS = "${@bb.utils.contains('MACHINE_FEATURES', 'rtc', '${VIRTUAL-RUNTIME_base-utils-hwclock}', '', d)} \
                    modutils-initscripts \
                    init-ifupdown \
                    ${VIRTUAL-RUNTIME_initscripts} \
                   "

RDEPENDS_${PN} = "\
    base-files \
    base-passwd \
    ${VIRTUAL-RUNTIME_base-utils} \
    ${@bb.utils.contains("DISTRO_FEATURES", "sysvinit", "${SYSVINIT_SCRIPTS}", "", d)} \
    ${@bb.utils.contains("MACHINE_FEATURES", "keyboard", "${VIRTUAL-RUNTIME_keymaps}", "", d)} \
    netbase \
    ${VIRTUAL-RUNTIME_login_manager} \
    ${VIRTUAL-RUNTIME_init_manager} \
    ${VIRTUAL-RUNTIME_dev_manager} \
    ${VIRTUAL-RUNTIME_update-alternatives} \
    ${MACHINE_ESSENTIAL_EXTRA_RDEPENDS}"

RRECOMMENDS_${PN} = "\
    ${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS}"

For my understanding this should install sysvinit but when I take a look into the generated image I always see systemd and not a trace of sysvinit.

What’s wrong?

Greetings,
Grimme

HI @Grimme

Why do you want to use SystemV instead of Systemd?

Further, Could you provide the git branch you are using to build the custom image?
Please share also the changes you have to done to any files (local.conf, bblayers, conf, …)?

Thanks and best regards, Jaski

Hi Jaski,

we need a lean-and-mean system without lots of daemons running. I would also be happy with a BSD-simpleinit (and I don’t like systemd).

I got the branch like described here, so it should be LinuxImageV2.8.

Meanwhile I figured out that layers/meta-angstrom/conf/distro/angstrom.conf overwrites my setting for VIRTUAL-RUNTIME_init_manager and DISTRO_FEATURES.

It may be helpfull to know the order the configuration files are processed.

Is there a way to overwrite the settings done in angstrom.conf or prevent it from being precessed?

Thanks,
Grimme

Why don’t you proceed as per the following?

Hi Marcel,

I’ve never seen this before, I will try so.

Thanks,
Grimme

You are very welcome.