[OE-core] [PATCH 1/1] systemd: add back alternatives for init utitilies

ChenQi Qi.Chen at windriver.com
Wed Oct 24 06:16:04 UTC 2018


On 10/24/2018 05:48 AM, Richard Purdie wrote:
> On Mon, 2018-10-22 at 15:03 +0800, Chen Qi wrote:
>> Add back alternatives for init utilities to avoid regression.
>>
>> These alternatives were removed when upgradeing systemd to 239.
>> They were removed out of the logic that init utitilies should be
>> bound to init manager. However, it turned out that two use cases
>> were not covered.
>>
>> 1) initramfs using commands like 'reboot' from busybox.
>> 2) Users use customized busybox defconfig which enables init
>> utilities.
>>
>> The first use case caused a regression bug in yocto.
>>    https://bugzilla.yoctoproject.org/show_bug.cgi?id=12914
>> Patches were sent to fix the reboot problem.
>>
>> But this is not enough. As we may have the second use case. In such
>> situation, users will find themselves having regression error when
>> using 'busybox + systemd' (and busybox is installed after systemd,
>> overriding the systemd symlinks).
>>
>> So in order to avoid regression, add back these alternatives.
>>
>> Signed-off-by: Chen Qi <Qi.Chen at windriver.com>
> Sorry but this is still failing:
>
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/35/builds/107/steps/7/logs/step7c
>
> Cheers,
>
> Richard
>
>
Hi Richard,

The failure is revealed by Kevin's patches regarding udev-extraconf. 
More particularly, it's the following patch that reveals the problem.
"udev-extraconf: Use the canonical file name of systemd"

I've sent out a patch to remove udev-extraconf from 
packagegroup-core-lsb/-x11-sato to fix this failure.
I tested 'testimage + core-image-sato/lsb' with the following 5 patches 
(3 from Kevin which are now on master-next, 2 from me) with master 
branch, and the tests passed.
  packagegroup-core-lsb/-x11-sato: no udev-extraconf in case of systemd
  systemd: add back alternatives for init utitilies
  udev-extraconf: Skip the entry in /etc/fstab when using the systemd-mount
  udev-extraconf: Fix the recursively dependency for the systemd-mount
  udev-extraconf: Use the canonical file name of systemd

P.S.
I chose to remove udev-extraconf from these two packagegroups because:
1) udev-extraconf is needed in live image, so the automount rule needs 
to be there in the final package, regardless of the init manager of the 
real rootfs.
2) It's not clear whether users need the automount feature in case of 
systemd. So I didn't choose to modify the mount.sh script to exit 
directly if init manager is systemd.
3) I think it's not easy to make mount.sh reliable in systemd. Kevin's 
patches are good and helpful, but still not solve all problems. e.g. The 
mount.sh still doesn't take into consideration of .mount and .automount 
units; and it does not consider this failure case, i.e. no medium found 
on /dev/hdc.

Best Regards,
Chen Qi

Best Regards,
Chen Qi



More information about the Openembedded-core mailing list