Adding systemd to yocto


Edgar Mobile
 

Greetings,

I tried to add systemd to weston-image-core by adding the following lines in local.conf:

DISTRO_FEATURES:append = " systemd" VIRTUAL-RUNTIME_init_manager = "systemd" 

And indeed, bitbake seems to use them in somve way:

DISTRO_FEATURES="acl alsa argp bluetooth debuginfod ext2 ipv4 ipv6 largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11 vfat seccomp largefile opengl ptest multiarch wayland vulkan systemd\" VIRTUAL-RUNTIME_init_manager = \"systemd pulseaudio sysvinit gobject-introspection-data ldconfig"
POKY_DEFAULT_DISTRO_FEATURES="largefile opengl ptest multiarch wayland vulkan"

However, if I start the system in qemu none of  the expected systemd binaries like systemd, systemd-journal etc. is present. Did I miss something?

Regards


Joel Winarske
 

Line 30-36 include changes to convert a sysvinit image to systemd.


On Thu, Apr 28, 2022, 10:19 AM Edgar Mobile <heideggm@...> wrote:
Greetings,

I tried to add systemd to weston-image-core by adding the following lines in local.conf:

DISTRO_FEATURES:append = " systemd" VIRTUAL-RUNTIME_init_manager = "systemd" 

And indeed, bitbake seems to use them in somve way:

DISTRO_FEATURES="acl alsa argp bluetooth debuginfod ext2 ipv4 ipv6 largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g nfc x11 vfat seccomp largefile opengl ptest multiarch wayland vulkan systemd\" VIRTUAL-RUNTIME_init_manager = \"systemd pulseaudio sysvinit gobject-introspection-data ldconfig"
POKY_DEFAULT_DISTRO_FEATURES="largefile opengl ptest multiarch wayland vulkan"

However, if I start the system in qemu none of  the expected systemd binaries like systemd, systemd-journal etc. is present. Did I miss something?

Regards




Scott Murray
 

On Thu, 28 Apr 2022, Joel Winarske wrote:

Line 30-36 include changes to convert a sysvinit image to systemd.
https://github.com/jwinarske/manifests/blob/honister/conf/rpi64_config#L30
The INIT_MANAGER variable added in zeus removes the need to tinker with
DISTRO_FEATURES and VIRTUAL-RUNTIME* variables, all it takes to use
systemd is INIT_MANAGER = "systemd". See:

meta/conf/distro/include/init-manager-systemd.inc

for what it tweaks.

Scott


Edgar Mobile
 

I added

INIT_MANAGER="systemd"

To local.conf. Now it complains that weston-xwayland is missing which sounds weird for core-image-weston.
Am I missing something?

Regardss


From: Scott Murray <scott.murray@...>
Sent: Friday, April 29, 2022 3:07 PM
To: Joel Winarske <joel.winarske@...>; Edgar Mobile <heideggm@...>
Cc: Yocto-mailing-list <yocto@...>
Subject: Re: [yocto] Adding systemd to yocto
 
On Thu, 28 Apr 2022, Joel Winarske wrote:

> Line 30-36 include changes to convert a sysvinit image to systemd.
> https://github.com/jwinarske/manifests/blob/honister/conf/rpi64_config#L30

The INIT_MANAGER variable added in zeus removes the need to tinker with
DISTRO_FEATURES and VIRTUAL-RUNTIME* variables, all it takes to use
systemd is INIT_MANAGER = "systemd". See:

meta/conf/distro/include/init-manager-systemd.inc

for what it tweaks.

Scott


Edgar Mobile
 

Ok, correction: I complains about pam missing.


From: Edgar Mobile <heideggm@...>
Sent: Monday, May 2, 2022 7:47 AM
To: Scott Murray <scott.murray@...>; Joel Winarske <joel.winarske@...>
Cc: Yocto-mailing-list <yocto@...>
Subject: Re: [yocto] Adding systemd to yocto
 
I added

INIT_MANAGER="systemd"

To local.conf. Now it complains that weston-xwayland is missing which sounds weird for core-image-weston.
Am I missing something?

Regardss


From: Scott Murray <scott.murray@...>
Sent: Friday, April 29, 2022 3:07 PM
To: Joel Winarske <joel.winarske@...>; Edgar Mobile <heideggm@...>
Cc: Yocto-mailing-list <yocto@...>
Subject: Re: [yocto] Adding systemd to yocto
 
On Thu, 28 Apr 2022, Joel Winarske wrote:

> Line 30-36 include changes to convert a sysvinit image to systemd.
> https://github.com/jwinarske/manifests/blob/honister/conf/rpi64_config#L30

The INIT_MANAGER variable added in zeus removes the need to tinker with
DISTRO_FEATURES and VIRTUAL-RUNTIME* variables, all it takes to use
systemd is INIT_MANAGER = "systemd". See:

meta/conf/distro/include/init-manager-systemd.inc

for what it tweaks.

Scott


Scott Murray
 

On Mon, 2 May 2022, Edgar Mobile wrote:

Ok, correction: I complains about pam missing.
My apologies, I'd forgotten that wrinkle as we'd been sidestepping it for
a while in AGL with some custom Weston startup. There are a few recipes
in the Weston stuff that explicitly mark pam as a required feature when
using systemd, so you'll also need to have:

DISTRO_FEATURES:append = " pam"

Scott


Edgar Mobile
 

Apparently, this is not enough:

bitbake core-image-weston
/usr/lib/python3.6/importlib/_bootstrap.py:219: ImportWarning: can't resolve package from __spec__ or __package__, falling back on __name__ and __path__
  return f(*args, **kwds)
Loading cache: 100% |############################################| Time: 0:00:00
Loaded 1472 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing RPROVIDES 'pam' (but /media/user/SSD1TB/yoctoqemu/poky/meta/recipes-graphics/images/core-image-weston.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'pam' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['pam']
ERROR: Required build target 'core-image-weston' has no buildable providers.
Missing or unbuildable dependency chain was: ['core-image-weston', 'pam']

These are my current additions to local.conf:

INIT_MANAGER="systemd"

CORE_IMAGE_EXTRA_INSTALL += " mesa-demos gdb"
IMAGE_INSTALL:append += " pam"
DISTRO_FEATURES:append = " systemd wayland pam x11" VIRTUAL-RUNTIME_init_manager = "systemd" 
DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"VIRTUAL-RUNTIME_initscripts = ""
IMAGE_ROOTFS_EXTRA_SPACE = "38048576"



From: Scott Murray <scott.murray@...>
Sent: Monday, May 2, 2022 2:32 PM
To: Edgar Mobile <heideggm@...>
Cc: Joel Winarske <joel.winarske@...>; Yocto-mailing-list <yocto@...>
Subject: Re: [yocto] Adding systemd to yocto
 
On Mon, 2 May 2022, Edgar Mobile wrote:

> Ok, correction: I complains about pam missing.

My apologies, I'd forgotten that wrinkle as we'd been sidestepping it for
a while in AGL with some custom Weston startup.  There are a few recipes
in the Weston stuff that explicitly mark pam as a required feature when
using systemd, so you'll also need to have:

DISTRO_FEATURES:append = " pam"

Scott


Jack Mitchell
 

On 03/05/2022 11:57, Edgar Mobile wrote:
Apparently, this is not enough:

bitbake core-image-weston
/usr/lib/python3.6/importlib/_bootstrap.py:219: ImportWarning: can't
resolve package from __spec__ or __package__, falling back on __name__
and __path__
  return f(*args, **kwds)
Loading cache: 100% |############################################| Time:
0:00:00
Loaded 1472 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing RPROVIDES 'pam' (but
/media/user/SSD1TB/yoctoqemu/poky/meta/recipes-graphics/images/core-image-weston.bb
RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'pam' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['pam']
ERROR: Required build target 'core-image-weston' has no buildable providers.
Missing or unbuildable dependency chain was: ['core-image-weston', 'pam']

These are my current additions to local.conf:

INIT_MANAGER="systemd"
CORE_IMAGE_EXTRA_INSTALL += " mesa-demos gdb"
IMAGE_INSTALL:append += " pam"
pam is a DISTRO_FEATURE as below, not a package as you've added above.

DISTRO_FEATURES:append = " systemd wayland pam x11"
VIRTUAL-RUNTIME_init_manager = "systemd" 
DISTRO_FEATURES_BACKFILL_CONSIDERED =
"sysvinit"VIRTUAL-RUNTIME_initscripts = ""
IMAGE_ROOTFS_EXTRA_SPACE = "38048576"


------------------------------------------------------------------------
*From:* Scott Murray <scott.murray@...>
*Sent:* Monday, May 2, 2022 2:32 PM
*To:* Edgar Mobile <heideggm@...>
*Cc:* Joel Winarske <joel.winarske@...>; Yocto-mailing-list
<yocto@...>
*Subject:* Re: [yocto] Adding systemd to yocto
 
On Mon, 2 May 2022, Edgar Mobile wrote:

Ok, correction: I complains about pam missing.
My apologies, I'd forgotten that wrinkle as we'd been sidestepping it for
a while in AGL with some custom Weston startup.  There are a few recipes
in the Weston stuff that explicitly mark pam as a required feature when
using systemd, so you'll also need to have:

DISTRO_FEATURES:append = " pam"

Scott



--
Jack Mitchell, Consultant
https://www.tuxable.co.uk


Scott Murray
 

On Tue, 3 May 2022, Edgar Mobile wrote:

Apparently, this is not enough:

bitbake core-image-weston
/usr/lib/python3.6/importlib/_bootstrap.py:219: ImportWarning: can't resolve package from __spec__ or __package__, falling back on __name__ and __path__
return f(*args, **kwds)
Loading cache: 100% |############################################| Time: 0:00:00
Loaded 1472 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing RPROVIDES 'pam' (but /media/user/SSD1TB/yoctoqemu/poky/meta/recipes-graphics/images/core-image-weston.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'pam' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['pam']
ERROR: Required build target 'core-image-weston' has no buildable providers.
Missing or unbuildable dependency chain was: ['core-image-weston', 'pam']

These are my current additions to local.conf:

INIT_MANAGER="systemd"
CORE_IMAGE_EXTRA_INSTALL += " mesa-demos gdb"
IMAGE_INSTALL:append += " pam"
^ This line what is causing your error, remove it. With pam in
DISTRO_FEATURES the required packages will get pulled in via dependencies.

DISTRO_FEATURES:append = " systemd wayland pam x11"
If you specify INIT_MANAGER = "systemd", then you do not need to add
systemd here.

VIRTUAL-RUNTIME_init_manager = "systemd"
DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"
VIRTUAL-RUNTIME_initscripts = ""
Similarly, with INIT_MANAGER = "systemd" these 3 lines are not required.
If you look at meta/conf/distro/include/init-manager-systemd.inc you can
see what INIT_MANAGER = "systemd" tweaks.

IMAGE_ROOTFS_EXTRA_SPACE = "38048576"
[snip]

Scott


Edgar Mobile
 

Ok, that worked thanks everyone!


From: Scott Murray <scott.murray@...>
Sent: Tuesday, May 3, 2022 12:53 PM
To: Edgar Mobile <heideggm@...>
Cc: Yocto-mailing-list <yocto@...>
Subject: Re: [yocto] Adding systemd to yocto
 
On Tue, 3 May 2022, Edgar Mobile wrote:

> Apparently, this is not enough:
>
> bitbake core-image-weston
> /usr/lib/python3.6/importlib/_bootstrap.py:219: ImportWarning: can't resolve package from __spec__ or __package__, falling back on __name__ and __path__
>   return f(*args, **kwds)
> Loading cache: 100% |############################################| Time: 0:00:00
> Loaded 1472 entries from dependency cache.
> NOTE: Resolving any missing task queue dependencies
> ERROR: Nothing RPROVIDES 'pam' (but /media/user/SSD1TB/yoctoqemu/poky/meta/recipes-graphics/images/core-image-weston.bb RDEPENDS on or otherwise requires it)
> NOTE: Runtime target 'pam' is unbuildable, removing...
> Missing or unbuildable dependency chain was: ['pam']
> ERROR: Required build target 'core-image-weston' has no buildable providers.
> Missing or unbuildable dependency chain was: ['core-image-weston', 'pam']
>
> These are my current additions to local.conf:
>
> INIT_MANAGER="systemd"
> CORE_IMAGE_EXTRA_INSTALL += " mesa-demos gdb"
> IMAGE_INSTALL:append += " pam"

^ This line what is causing your error, remove it.  With pam in
DISTRO_FEATURES the required packages will get pulled in via dependencies.

> DISTRO_FEATURES:append = " systemd wayland pam x11"

If you specify INIT_MANAGER = "systemd", then you do not need to add
systemd here.

> VIRTUAL-RUNTIME_init_manager = "systemd"
> DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"
> VIRTUAL-RUNTIME_initscripts = ""

Similarly, with INIT_MANAGER = "systemd" these 3 lines are not required.
If you look at meta/conf/distro/include/init-manager-systemd.inc you can
see what INIT_MANAGER = "systemd" tweaks.

> IMAGE_ROOTFS_EXTRA_SPACE = "38048576"
[snip]

Scott