All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] systemd based initrd and modular kernel support
@ 2025-03-14 11:19 Mikko Rapeli
  2025-03-14 11:19 ` [PATCH 2/6] systemd: enable efi support if in MACHINE_FEATURES too Mikko Rapeli
                   ` (7 more replies)
  0 siblings, 8 replies; 13+ messages in thread
From: Mikko Rapeli @ 2025-03-14 11:19 UTC (permalink / raw)
  To: openembedded-core; +Cc: Mikko Rapeli

systemd based initrd supports more security, encryption etc features
than custom shell script ones but oe-core lacks support for it.
Convert core-image-initramfs-boot to create systemd based initrd
if "systemd-initramfs" is set in DISTRO_FEATURES. Includes a test
for this initrd to mount rootfs via Unified Kernel Image uki.py.

Sadly the boot time is really slow, e.g. over 30 seconds with
systemd based initrd. One of the major reasons is the large
amount of kernel modules built into the linux-yocto kernel and
processing of their udev events in userspace. Thus add
kernel-initrd-modules meta package to easily install
subset of all kernel modules to initrd. The subset
supports "mount rootfs from any block device" but
doesn't include graphics, UBS etc support. Without this
generated meta package, initrd recipe needs to manually define
which exact kernel modules to include which breaks if
those modules are built into the kernel. Thus the initrd
becomes machine and kernel config specific and hard to maintain.
With this meta package a generic initrd can be created.

Separate changes to linux-yocto compile a lot more drivers
as modules but they depend on these initrd changes.

Mikko Rapeli (6):
  systemd: use serial-getty-generator on genericarm64
  systemd: enable efi support if in MACHINE_FEATURES too
  uki.bbclass: drop serial console from kernel command line
  kernel.bbclass: add kernel-initrd-modules meta package
  core-image-initramfs-boot: add option to build systemd based initrd
  oeqa selftest uki.py: add aarch64/arm test with systemd based initrd

 .../recipes-core/systemd/systemd_%.bbappend   |  3 +
 .../kernel-module-split.bbclass               | 46 +++++++++++
 meta/classes-recipe/kernel.bbclass            |  5 +-
 meta/classes-recipe/module.bbclass            | 37 +++++++++
 meta/classes-recipe/uki.bbclass               |  2 +-
 meta/lib/oeqa/selftest/cases/uki.py           | 76 +++++++++++++++++++
 .../images/core-image-initramfs-boot.bb       | 28 ++++++-
 meta/recipes-core/systemd/systemd_257.3.bb    |  1 +
 8 files changed, 193 insertions(+), 5 deletions(-)
 create mode 100644 meta-yocto-bsp/recipes-core/systemd/systemd_%.bbappend

-- 
2.43.0



^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2025-03-17 12:25 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-14 11:19 [PATCH 0/6] systemd based initrd and modular kernel support Mikko Rapeli
2025-03-14 11:19 ` [PATCH 2/6] systemd: enable efi support if in MACHINE_FEATURES too Mikko Rapeli
2025-03-14 11:19 ` [PATCH 3/6] uki.bbclass: drop serial console from kernel command line Mikko Rapeli
2025-03-14 11:19 ` [PATCH 4/6] kernel.bbclass: add kernel-initrd-modules meta package Mikko Rapeli
2025-03-14 11:19 ` [PATCH 5/6] core-image-initramfs-boot: add option to build systemd based initrd Mikko Rapeli
2025-03-14 11:19 ` [PATCH 6/6] oeqa selftest uki.py: add aarch64/arm test with " Mikko Rapeli
2025-03-14 11:21 ` [PATCH v2 1/6] systemd: use serial-getty-generator on genericarm64 Mikko Rapeli
2025-03-14 11:33   ` Patchtest results for " patchtest
2025-03-17 10:37 ` [OE-core] [PATCH 0/6] systemd based initrd and modular kernel support Alexander Kanavin
2025-03-17 10:42   ` Mikko Rapeli
2025-03-17 11:50 ` Richard Purdie
2025-03-17 12:20   ` Mikko Rapeli
2025-03-17 12:25     ` Richard Purdie

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.