Измените изображение Yocto, чтобы использовать Systemd вместо SysVInit - PullRequest
0 голосов
/ 25 сентября 2019

Я создаю образ Yocto для платы BeagleBone.Я хотел бы изменить изображение, чтобы использовать Systemd в качестве диспетчера инициализации.

Ниже приведен мой conf / local.conf

# Local configuration for meta-bbb images
# Yocto Project 2.7 Poky distribution [warrior] branch
# This is a sysvinit system

BBMASK = "meta-networking/recipes-kernel/wireguard"

LICENSE_FLAGS_WHITELIST = "commercial"

DISTRO_FEATURES = "ext2 usbhost ${DISTRO_FEATURES_LIBC}"

# remove pulseaudio since it brings in x11
DISTRO_FEATURES_BACKFILL_CONSIDERED += "pulseaudio opengl"

PREFERRED_PROVIDER_jpeg = "libjpeg-turbo"

PREFERRED_PROVIDER_udev = "eudev"
VIRTUAL-RUNTIME_init_manager = "sysvinit"

# Default is 5.0, but you can change versions here 
# PREFERRED_VERSION_linux-stable = "4.19.%"

MACHINE = "beaglebone"

#DL_DIR = "${HOME}/oe-sources"
#SSTATE_DIR = "/oe7/bbb/sstate-cache"
#TMPDIR = "/oe7/bbb/tmp-warrior"

DISTRO = "poky"

PACKAGE_CLASSES = "package_ipk"

# i686 or x86_64
SDKMACHINE = "x86_64"

# for no root password
#EXTRA_IMAGE_FEATURES = "debug-tweaks"

# to enable a root password of jumpnowtek
INHERIT += "extrausers"
EXTRA_USERS_PARAMS = "usermod -P jumpnowtek root; "

# to force a password change on first login
INHERIT += "chageusers"
CHAGE_USERS_PARAMS = "chage -d0 root; "

USER_CLASSES = "image-mklibs image-prelink"

PATCHRESOLVE = "noop"
RM_OLD_IMAGE = "1"
INHERIT += "rm_work"
CONF_VERSION = "1"

В соответствии с инструкциями для некоторых других потоков, я добавил следующие строкив мой файл local.conf:

DISTRO_FEATURES_append = " systemd"
DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit"
VIRTUAL-RUNTIME_init_manager = "systemd"
VIRTUAL-RUNTIME_initscripts = "systemd-compat-units"

Это, однако, вызывает следующую ошибку при загрузке системы, в которой я не понимаю, как именно решить:

[    2.918099] systemd[1]: System time before build time, advancing clock.
[    3.085907] NET: Registered protocol family 10
[    3.097296] Segment Routing with IPv6
[    3.121085] systemd[1]: Failed to mount tmpfs at /sys/fs/cgroup: No such file                                                                     
or directory
[    3.135322] systemd[1]: Failed to mount cgroup at /sys/fs/cgroup/systemd: No                                                                     
such file or directory
[!!!!!!] Failed to mount API filesystems.
[    3.181729] systemd[1]: Freezing execution.

Обновление: если посмотреть на конфигурацию ядра, кажется, что cgroups может не поддерживаться?Нет возможности изменить это.

enter image description here

...