[Buildroot] [PATCH 2/3] package/dracut: new host package
From: Thierry Bultel <hidden>
Date: 2021-12-15 18:00:45
Subsystem:
the rest · Maintainer:
Linus Torvalds
dracut is the tool used by desktop distributions to build initrds. In the embedded world, it can be very usefull, too, for instance when wanting to create an initramfs for a system recovery mode. Whereas it is definitively possible to achieve this with buildroot, the process is to have a dedicated buildroot configuration for that, and perform a full build. Instead of doing that, the idea is to use dracut to pick the needed binaries/shared libraries, configuration files, or kernel modules from the 'target' directory. The advantage is to save build time, and also to have a consistency between the packages versions taken for the recovery and the production filesystem. Signed-off-by: Thierry Bultel <redacted> --- package/Config.in.host | 1 + package/dracut/Config.in.host | 8 ++++++++ package/dracut/dracut.mk | 22 ++++++++++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 package/dracut/Config.in.host create mode 100644 package/dracut/dracut.mk
diff --git a/package/Config.in.host b/package/Config.in.host
index 0e8b071a2b..42f671a78f 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host@@ -15,6 +15,7 @@ menu "Host utilities" source "package/cross-ldd/Config.in.host" source "package/cryptsetup/Config.in.host" source "package/dbus-python/Config.in.host" + source "package/dracut/Config.in.host" source "package/dfu-util/Config.in.host" source "package/dos2unix/Config.in.host" source "package/dosfstools/Config.in.host"
diff --git a/package/dracut/Config.in.host b/package/dracut/Config.in.host
new file mode 100644
index 0000000000..8ed41d3719
--- /dev/null
+++ b/package/dracut/Config.in.host@@ -0,0 +1,8 @@ +config BR2_PACKAGE_HOST_DRACUT + bool "host dracut" + select BR2_PACKAGE_HOST_KMOD + select BR2_PACKAGE_HOST_CROSS_LDD + help + dracut is used to create an initramfs image by copying tools and files from an installed system and combining it with the dracut framework. + + https://dracut.wiki.kernel.org
diff --git a/package/dracut/dracut.mk b/package/dracut/dracut.mk
new file mode 100644
index 0000000000..8de89603a5
--- /dev/null
+++ b/package/dracut/dracut.mk@@ -0,0 +1,22 @@ +################################################################################ +# +# dracut +# +################################################################################ + +DRACUT_VERSION = 055 +DRACUT_SOURCE = dracut-$(DRACUT_VERSION).tar.xz +DRACUT_SITE = https://mirrors.edge.kernel.org/pub/linux/utils/boot/dracut +DRACUT_LICENSE = GPL-2.0 +DRACUT_LICENSE_FILES = COPYING + +HOST_DRACUT_DEPENDENCIES += host-pkgconf host-kmod host-cross-ldd + +define HOST_DRACUT_POST_INSTALL_ENABLE_FAKEROOT + $(SED) '/unset LD_LIBRARY_PATH/d' $(HOST_DIR)/bin/dracut + $(SED) '/unset LD_PRELOAD/d' $(HOST_DIR)/bin/dracut +endef + +HOST_DRACUT_POST_INSTALL_HOOKS+=HOST_DRACUT_POST_INSTALL_ENABLE_FAKEROOT + +$(eval $(host-autotools-package))
--
2.25.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot