Skip to contentSkip to conversation

RFC: systemd integration

DISCUSSION Radu Moisan 7 participants 19 messages Dec 19, 2012 – Dec 26, 2012

lore
Share & tools
lore
#0 lore raw

Hi guys,
I have prepared a branch on poky-contrib (rmoisan/systemd) where I
pulled systemd from meta-openembedded. The goal is to merge this into oe-core, so please take a look and give me your feedback on stuff that needs work or things that I might have done wrong, so that I can prepare it for merge.
At this point core-image-minimal and core-image-sato both boot fine
with systemd. There still are a few warnings but not critical(at runtime), at least in my opinion, you may want to take a look at those too.
You can activate systemd by *DISTRO_FEATURES_INITMAN = "systemd"*

Radu

#1 lore raw
Quoted 10 lines · Radu Moisan

Hi guys,
I have prepared a branch on poky-contrib (rmoisan/systemd) where I
pulled systemd from meta-openembedded. The goal is to merge this into oe-core, so please take a look and give me your feedback on stuff that needs work or things that I might have done wrong, so that I can prepare it for merge.
At this point core-image-minimal and core-image-sato both boot fine with
systemd. There still are a few warnings but not critical(at runtime), at least in my opinion, you may want to take a look at those too.
You can activate systemd by DISTRO_FEATURES_INITMAN = "systemd"

In this case, systemd is made *available* or used? Is it possible to have sysvinit image and another systemd?

--
Otavio Salvador O.S. Systems
E-mail: [email protected] http://www.ossystems.com.br
Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br

#2 lore raw
Quoted 12 lines · Otavio Salvador
Quoted 10 lines · Radu Moisan

Hi guys,
I have prepared a branch on poky-contrib (rmoisan/systemd) where I
pulled systemd from meta-openembedded. The goal is to merge this into oe-core, so please take a look and give me your feedback on stuff that needs work or things that I might have done wrong, so that I can prepare it for merge.
At this point core-image-minimal and core-image-sato both boot fine with
systemd. There still are a few warnings but not critical(at runtime), at least in my opinion, you may want to take a look at those too.
You can activate systemd by DISTRO_FEATURES_INITMAN = "systemd"

Quoted 3 lines

In this case, systemd is made *available* or used? Is it possible to have sysvinit image and another systemd?

there is a DISTRO_FEATURE in this patch which seems to give this choice :
http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=rmoisan/systemd&id=1dd15bf46003d0563e7f3441a6c73cbc1e90a79b
DISTRO_FEATURES_INITMAN ?= "sysvinit"

Eric

#3 lore raw
In reply to Otavio Salvador
Quoted 11 lines · Otavio Salvador
Quoted 10 lines · Radu Moisan

Hi guys,
I have prepared a branch on poky-contrib (rmoisan/systemd) where I
pulled systemd from meta-openembedded. The goal is to merge this into oe-core, so please take a look and give me your feedback on stuff that needs work or things that I might have done wrong, so that I can prepare it for merge.
At this point core-image-minimal and core-image-sato both boot fine with
systemd. There still are a few warnings but not critical(at runtime), at least in my opinion, you may want to take a look at those too.
You can activate systemd by DISTRO_FEATURES_INITMAN = "systemd"

Quoted 2 lines

In this case, systemd is made *available* or used? Is it possible to have sysvinit image and another systemd?

it is used.

Radu

#4 lore raw
In reply to Radu Moisan

Hi,

Quoted 5 lines · Radu Moisan

I have prepared a branch on poky-contrib (rmoisan/systemd) where I
pulled systemd from meta-openembedded. The goal is to merge this into oe-core, so please take a look and give me your feedback on stuff that needs work or things that I might have done wrong, so that I can prepare it for merge.

a nitpick :
http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=rmoisan/systemd&id=02f4027f7ccddaff3b0316962e7a86a04d31abbc
here you add that to lighttpd recipe :
+ file://lighttpd_fix_for_automake-1.12.patch \
+ file://lighttpd.service
but you don't add the patch

then here (several patches later)
http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=rmoisan/systemd&id=0b6a5d3f998d2f1bb346c403d512c33ee93052fb
you fix that :
- file://lighttpd_fix_for_automake-1.12.patch \

Quoted 5 lines

At this point core-image-minimal and core-image-sato both boot fine
with systemd. There still are a few warnings but not critical(at runtime), at least in my opinion, you may want to take a look at those too.
You can activate systemd by *DISTRO_FEATURES_INITMAN = "systemd"*

thanks, will try this.

Eric

#5 lore raw
Quoted 16 lines · Eric Bénard

Hi,

Quoted 5 lines · Radu Moisan

I have prepared a branch on poky-contrib (rmoisan/systemd) where I
pulled systemd from meta-openembedded. The goal is to merge this into oe-core, so please take a look and give me your feedback on stuff that needs work or things that I might have done wrong, so that I can prepare it for merge.

a nitpick :
http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=rmoisan/systemd&id=02f4027f7ccddaff3b0316962e7a86a04d31abbc
here you add that to lighttpd recipe :
+ file://lighttpd_fix_for_automake-1.12.patch \
+ file://lighttpd.service
but you don't add the patch

Quoted 4 lines

then here (several patches later)
http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=rmoisan/systemd&id=0b6a5d3f998d2f1bb346c403d512c33ee93052fb
you fix that :
- file://lighttpd_fix_for_automake-1.12.patch \

that was a regression I introduced when I rebased on master a while back. I'll squash it with the initial commit.

Radu

#6 lore raw
Quoted 20 lines · Radu Moisan
Quoted 18 lines · Eric Bénard

Hi,

Quoted 6 lines · Radu Moisan

I have prepared a branch on poky-contrib (rmoisan/systemd)
where I
pulled systemd from meta-openembedded. The goal is to merge this into oe-core, so please take a look and give me your feedback on stuff that needs work or things that I might have done wrong, so that I can prepare it for merge.

a nitpick :
http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=rmoisan/systemd&id=02f4027f7ccddaff3b0316962e7a86a04d31abbc

here you add that to lighttpd recipe :
+ file://lighttpd_fix_for_automake-1.12.patch \
+ file://lighttpd.service
but you don't add the patch

Quoted 6 lines
Quoted 5 lines

then here (several patches later)
http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/?h=rmoisan/systemd&id=0b6a5d3f998d2f1bb346c403d512c33ee93052fb

you fix that :
- file://lighttpd_fix_for_automake-1.12.patch \

that was a regression I introduced when I rebased on master a while back. I'll squash it with the initial commit.

It just got clearer what happened here. So, there was a regression,
systemd related changes were missing after rebase. However with automake patch something alse happened. Since my initial commit, lighttpd was updated to 1.4.32 and it didn't need that patch anymore, so it got removed. When I rebased, the patch was removed but the inclusion in .bb file didn't so I got an error, which I had to fix.
For consistency, I'll squash systemd related changes back into the
first commit, but the removal of automake patch will stay in this last patch.

Quoted 6 lines

Radu

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

#7 lore raw
In reply to Radu Moisan

GREAT!!!

I have asked systemd status in yocto, maybe I can use your branch instead!

THANKS!

On Wednesday, December 19, 2012 07:20:45 PM Radu Moisan wrote:

Hi guys,
I have prepared a branch on poky-contrib (rmoisan/systemd) where I pulled
systemd from meta-openembedded. The goal is to merge this into oe-core, so please take a look and give me your feedback on stuff that needs work or things that I might have done wrong, so that I can prepare it for merge.
At this point core-image-minimal and core-image-sato both boot fine with
systemd. There still are a few warnings but not critical(at runtime), at least in my opinion, you may want to take a look at those too.
You can activate systemd by DISTRO_FEATURES_INITMAN = "systemd"

Radu

#8 lore raw
In reply to Radu Moisan
Quoted 10 lines · Radu Moisan

Hi guys,
I have prepared a branch on poky-contrib (rmoisan/systemd) where I
pulled systemd from meta-openembedded. The goal is to merge this into oe-core, so please take a look and give me your feedback on stuff that needs work or things that I might have done wrong, so that I can prepare it for merge.
At this point core-image-minimal and core-image-sato both boot fine
with systemd. There still are a few warnings but not critical(at runtime), at least in my opinion, you may want to take a look at those too.
You can activate systemd by *DISTRO_FEATURES_INITMAN = "systemd"*

What about upgrade path from meta-systemd?

I've noticed that
http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/meta/recipes-connectivity/wpa-supplicant?h=rmoisan/systemd&id=02f4027f7ccddaff3b0316962e7a86a04d31abbc
does not increment PR at all while
http://git.openembedded.org/meta-openembedded/tree/meta-systemd/oe-core/recipes-connectivity/wpa-supplicant/wpa-supplicant_1.0.bbappend
PRINC := "${@int(PRINC) + 2}"

Also I like this commit very much
http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/meta/recipes-connectivity/wpa-supplicant?h=rmoisan/systemd&id=216049b154799fc7984c54858a386d7318f99ce0
but current styleguide thinks something else about consistent whitespace usage. So I think this wont be accepted as my change to styleguide wasn't.

And last thing:
there is few pending patches for meta-systemd:
http://patchwork.openembedded.org/project/oe/list/?q=systemd
Can you check them and merge them if needed? Or will you update your systemd* copies if we merge them in meta-oe?

Cheers,

Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
#9 lore raw
Quoted 11 lines · Martin Jansa
Quoted 10 lines · Radu Moisan

Hi guys,
I have prepared a branch on poky-contrib (rmoisan/systemd) where I
pulled systemd from meta-openembedded. The goal is to merge this into oe-core, so please take a look and give me your feedback on stuff that needs work or things that I might have done wrong, so that I can prepare it for merge.
At this point core-image-minimal and core-image-sato both boot fine
with systemd. There still are a few warnings but not critical(at runtime), at least in my opinion, you may want to take a look at those too.
You can activate systemd by *DISTRO_FEATURES_INITMAN = "systemd"*

Quoted 7 lines

What about upgrade path from meta-systemd?

I've noticed that
http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/meta/recipes-connectivity/wpa-supplicant?h=rmoisan/systemd&id=02f4027f7ccddaff3b0316962e7a86a04d31abbc
does not increment PR at all while
http://git.openembedded.org/meta-openembedded/tree/meta-systemd/oe-core/recipes-connectivity/wpa-supplicant/wpa-supplicant_1.0.bbappend
PRINC := "${@int(PRINC) + 2}"

I'll take care of this one.

Quoted 6 lines

Also I like this commit very much
http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/meta/recipes-connectivity/wpa-supplicant?h=rmoisan/systemd&id=216049b154799fc7984c54858a386d7318f99ce0
but current styleguide thinks something else about consistent whitespace usage. So I think this wont be accepted as my change to styleguide wasn't.

I think Richard suggested it, but anyway wasn't the recomandation to use spaces instead of tabs (I use 4 spaces)? I can revert or change it when time comes. Feedback on this will be well appreciated.

Quoted 5 lines

And last thing:
there is few pending patches for meta-systemd:
http://patchwork.openembedded.org/project/oe/list/?q=systemd
Can you check them and merge them if needed? Or will you update your systemd* copies if we merge them in meta-oe?

These look very interesting. I'll take a closer look and pull them in as appropriate.

Radu

#10 lore raw
In reply to Radu Moisan

Op 19 dec. 2012, om 18:20 heeft Radu Moisan <[email protected]> het volgende geschreven:

Quoted 4 lines

Hi guys,
I have prepared a branch on poky-contrib (rmoisan/systemd) where I pulled systemd from meta-openembedded. The goal is to merge this into oe-core, so please take a look and give me your feedback on stuff that needs work or things that I might have done wrong, so that I can prepare it for merge. At this point core-image-minimal and core-image-sato both boot fine with systemd. There still are a few warnings but not critical(at runtime), at least in my opinion, you may want to take a look at those too.
You can activate systemd by DISTRO_FEATURES_INITMAN = "systemd"

What happens when I do DISTRO_FEATURES_INITMAN = "sysvinit systemd"?

#11 lore raw
Quoted 7 lines · Koen Kooi

Op 19 dec. 2012, om 18:20 heeft Radu Moisan <[email protected]> het volgende geschreven:

Quoted 4 lines

Hi guys,
I have prepared a branch on poky-contrib (rmoisan/systemd) where I pulled systemd from meta-openembedded. The goal is to merge this into oe-core, so please take a look and give me your feedback on stuff that needs work or things that I might have done wrong, so that I can prepare it for merge. At this point core-image-minimal and core-image-sato both boot fine with systemd. There still are a few warnings but not critical(at runtime), at least in my opinion, you may want to take a look at those too.
You can activate systemd by DISTRO_FEATURES_INITMAN = "systemd"

What happens when I do DISTRO_FEATURES_INITMAN = "sysvinit systemd"?

I think it would break your build. But what would be the point of doing that?

Radu

#12 lore raw
In reply to Koen Kooi
Quoted 3 lines · Koen Kooi
Quoted 1 line

You can activate systemd by DISTRO_FEATURES_INITMAN = "systemd"

What happens when I do DISTRO_FEATURES_INITMAN = "sysvinit systemd"?

As systemd is showing, the choice of init manager isn't just something you can do at image generation time, but impacts the build. Services may opt to use systemd-native interfaces if systemd is available, or streamline their daemonisation based on the support that systemd has.

This is why this series makes the choice of init a distribution choice, and doesn't allow multiple choices.

Ross

#13 lore raw
Quoted 5 lines · Ross
Quoted 3 lines · Koen Kooi
Quoted 1 line

You can activate systemd by DISTRO_FEATURES_INITMAN = "systemd"

What happens when I do DISTRO_FEATURES_INITMAN = "sysvinit systemd"?

Quoted 7 lines

As systemd is showing, the choice of init manager isn't just something you can do at image generation time, but impacts the build. Services may opt to use systemd-native interfaces if systemd is available, or streamline their daemonisation based on the support that systemd has.

This is why this series makes the choice of init a distribution choice, and doesn't allow multiple choices.

Not really, I've been using sysvinit images and systemd images in OE with meta-oe and it works fine.

There're some changes need, indeed, but it is possible to make it work. The biggest change I had to do is to get systemd-udevd using init scripts.

--
Otavio Salvador O.S. Systems
E-mail: [email protected] http://www.ossystems.com.br
Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br

#14 lore raw
Quoted 6 lines · Otavio Salvador

Not really, I've been using sysvinit images and systemd images in OE with meta-oe and it works fine.

There're some changes need, indeed, but it is possible to make it work. The biggest change I had to do is to get systemd-udevd using init scripts.

Sure it works, I never said it didn't work. It's just not optimal - dbus isn't using the superior console ownership information available to it through systemd for example, because that means linking to libsystemd-login. By making systemd an image-time choice we can't ever have any code that requires systemd in the build.

Ross

#15 lore raw
Quoted 8 lines · Ross
Quoted 6 lines · Otavio Salvador

Not really, I've been using sysvinit images and systemd images in OE with meta-oe and it works fine.

There're some changes need, indeed, but it is possible to make it work. The biggest change I had to do is to get systemd-udevd using init scripts.

Quoted 5 lines

Sure it works, I never said it didn't work. It's just not optimal - dbus isn't using the superior console ownership information available to it through systemd for example, because that means linking to libsystemd-login. By making systemd an image-time choice we can't ever have any code that requires systemd in the build.

I think if I enable systemd feature I do expect to have some systemd libraries in rootfs however I may opt to use it or not. If I do want to have *no* systemd libraries, than I should not have systemd feature enabled.

--
Otavio Salvador O.S. Systems
E-mail: [email protected] http://www.ossystems.com.br
Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br

#16 lore raw
Quoted 4 lines · Otavio Salvador

I think if I enable systemd feature I do expect to have some systemd libraries in rootfs however I may opt to use it or not. If I do want to have *no* systemd libraries, than I should not have systemd feature enabled.

What's the point of enabling systemd, having the libraries installed, and then not using it?

I don't see what the appeal of supporting multiple init systems a single distribution, with the downsides of doubling the test space and wasting space in situations where you ship all the systemd libraries but don't actually boot with systemd.

Ross

#17 lore raw
Quoted 6 lines · Ross
Quoted 4 lines · Otavio Salvador

I think if I enable systemd feature I do expect to have some systemd libraries in rootfs however I may opt to use it or not. If I do want to have *no* systemd libraries, than I should not have systemd feature enabled.

Quoted 7 lines

What's the point of enabling systemd, having the libraries installed, and then not using it?

I don't see what the appeal of supporting multiple init systems a single distribution, with the downsides of doubling the test space and wasting space in situations where you ship all the systemd libraries but don't actually boot with systemd.

Here at O.S. Systems we share same distro and packages among different products and some use sysvinit and other systemd. I think it is a valid use case.

--
Otavio Salvador O.S. Systems
E-mail: [email protected] http://www.ossystems.com.br
Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br

#18 lore raw
In reply to Radu Moisan
Quoted 10 lines · Radu Moisan

Hi guys,
I have prepared a branch on poky-contrib (rmoisan/systemd) where I
pulled systemd from meta-openembedded. The goal is to merge this into oe-core, so please take a look and give me your feedback on stuff that needs work or things that I might have done wrong, so that I can prepare it for merge.
At this point core-image-minimal and core-image-sato both boot fine
with systemd. There still are a few warnings but not critical(at runtime), at least in my opinion, you may want to take a look at those too.
You can activate systemd by *DISTRO_FEATURES_INITMAN = "systemd"*

Is this correct?

http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/commit/meta/recipes-extended/pam/libpam_1.1.6.bb?h=rmoisan/systemd&id=d31d804ad76829de039f3b41d7b45ffcc25e69b5

Shouldn't it be added to common-session only when systemd is enabled?

Is '|-' some special syntax for palm config?

"session required|-pam_systemd.so"

Cheers,

Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]