This layer adds support for OpenRC to OpenEmbedded similarly to how rc.d scripts and systemd are supported. OpenRC can be selected by adding this layer and adding openrc to DISTRO_FEATURES.
Both the standard rc.d scripts and those from OpenRC expect to live in
/etc/init.d
. When openrc is added to DISTRO_FEATURES, the former will be
removed from that directory entirely and only OpenRC capable scripts will be
installed [1]. If openrc is not added to DISTRO_FEATURES this layer will
not have any effect aside from providing the openrc recipe.
- This assumes that this layer has an append for the recipe in question.
The meta-openrc layer depends on:
URI: https://git.openembedded.org/openembedded-core
layers: meta
branch: kirkstone
Feel free to to use the github pull request UI or to directly send emails to the maintainer(s) using something like:
git send-email -M -1 --to=jsbronder@cold-front.org --subject-prefix=meta-openrc][branch][PATCH
-
Add the layer to your build:
bitbake-layers add-layer /path/to/meta-openrc
-
Set INIT_MANAGER to openrc in your distro or local config:
INIT_MANAGER = "openrc"
-
Update your image to
inherit openrc-image
and set the following as necessary (see openrc-image.bb for an example):-
OPENRC_SERVICES: Define additional services to add to the paired runlevel using a whitespace delimited list of [runlevel]:[service-name].
-
OPENRC_STACKED_RUNLEVELS: define runlevels to be stacked on top of other runlevels using a whitespace delimited list of [base runlevel]:[stacked runlevel]
-
Prior to mickledore, this layer did not have the INIT_MANAGER configuration hook. Instead it was necessary to add openrc to DISTRO_FEATURES. See #24.
Prior to kirkstone, this layer used the quick-and-easy approach of relocating
openrc scripts to /etc/openrc.d
and supplying a single omnibus recipe for
additional initd scripts. Images were expected to define their own
ROOTFS_POSTPROCESS_COMMAND within which they'd update inittab and add
services to runlevels as necessary. With kirkstone, that approach was replaced
with a more conventional one following the pattern set by the update-rc.d and
systemd bbclasses in openembedded-core.
Maintainer: Justin Bronder jsbronder@cold-front.org