[oe] [meta-oe][meta-initramfs][PATCH] mkinitcpio: add new recipe

Ioan-Adrian Ratiu adrian.ratiu at ni.com
Wed Sep 27 08:15:22 UTC 2017


This recipe provides a very flexible and useful tool for building
initfamfs'es from custom directories, having the ability to
auto-detect kernel module dependencies (for kernels built outside OE),
add custom build/runtime hooks, etc.

It can also be used on deployed systems (installed images on targets)
to re-generate the initramfs when a new kernel is installed from a
package feed.

Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu at ni.com>
---
 ...0001-Makefile-don-t-check-asciidoc-output.patch | 35 ++++++++++++++++++++++
 ...efile-don-t-preserve-ownership-on-install.patch | 28 +++++++++++++++++
 .../recipes-devtools/mkinitcpio/mkinitcpio_git.bb  | 30 +++++++++++++++++++
 3 files changed, 93 insertions(+)
 create mode 100644 meta-initramfs/recipes-devtools/mkinitcpio/files/0001-Makefile-don-t-check-asciidoc-output.patch
 create mode 100644 meta-initramfs/recipes-devtools/mkinitcpio/files/0002-Makefile-don-t-preserve-ownership-on-install.patch
 create mode 100644 meta-initramfs/recipes-devtools/mkinitcpio/mkinitcpio_git.bb

diff --git a/meta-initramfs/recipes-devtools/mkinitcpio/files/0001-Makefile-don-t-check-asciidoc-output.patch b/meta-initramfs/recipes-devtools/mkinitcpio/files/0001-Makefile-don-t-check-asciidoc-output.patch
new file mode 100644
index 000000000..30ce60b6f
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/mkinitcpio/files/0001-Makefile-don-t-check-asciidoc-output.patch
@@ -0,0 +1,35 @@
+From 6388c79f5d9458c58451c231eb6163184d6801bc Mon Sep 17 00:00:00 2001
+From: Ioan-Adrian Ratiu <adrian.ratiu at ni.com>
+Date: Tue, 26 Sep 2017 15:28:19 +0300
+Subject: [PATCH 1/2] Makefile: don't check asciidoc output
+
+Don't use xmllint to validate the doc xsl schema because mkinitcpio's
+use of docbook is broken in a cross-compile environment (docbookx.dtd
+can't be found even though it's present in the recipe's sysroot).
+
+Investigating this is time consuming and this check is 99.9% benign
+anyway so it's safe to disable it.
+
+Upstream-Status: Inappropriate [embedded-specific]
+
+Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu at ni.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 264f077..dbbf0a8 100644
+--- a/Makefile
++++ b/Makefile
+@@ -72,7 +72,7 @@ install: all
+ 
+ doc: $(MANPAGES)
+ man/%: man/%.txt Makefile
+-	a2x -d manpage \
++	a2x -L -d manpage \
+ 		-f manpage \
+ 		-a manversion=$(VERSION) \
+ 		-a manmanual="mkinitcpio manual" $<
+-- 
+2.14.1
+
diff --git a/meta-initramfs/recipes-devtools/mkinitcpio/files/0002-Makefile-don-t-preserve-ownership-on-install.patch b/meta-initramfs/recipes-devtools/mkinitcpio/files/0002-Makefile-don-t-preserve-ownership-on-install.patch
new file mode 100644
index 000000000..a22b0631c
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/mkinitcpio/files/0002-Makefile-don-t-preserve-ownership-on-install.patch
@@ -0,0 +1,28 @@
+From ed9ce55000e26801b69a38be7c53c8c529313492 Mon Sep 17 00:00:00 2001
+From: Ioan-Adrian Ratiu <adrian.ratiu at ni.com>
+Date: Tue, 26 Sep 2017 18:03:05 +0300
+Subject: [PATCH 2/2] Makefile: don't preserve ownership on install
+
+Upstream-Status: Inappropriate [embedded-specific]
+
+Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu at ni.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index dbbf0a8..db31313 100644
+--- a/Makefile
++++ b/Makefile
+@@ -53,7 +53,7 @@ install: all
+ 	install -m644 -t $(DESTDIR)/usr/lib/initcpio init_functions functions
+ 	install -m644 udev/01-memdisk.rules $(DESTDIR)/usr/lib/initcpio/udev/01-memdisk.rules
+ 
+-	cp -at $(DESTDIR)/usr/lib/initcpio hooks install
++	cp -rt $(DESTDIR)/usr/lib/initcpio hooks install
+ 	install -m644 -t $(DESTDIR)/usr/share/mkinitcpio mkinitcpio.d/*
+ 	install -m644 systemd/mkinitcpio-generate-shutdown-ramfs.service \
+ 			$(DESTDIR)/usr/lib/systemd/system/mkinitcpio-generate-shutdown-ramfs.service
+-- 
+2.14.1
+
diff --git a/meta-initramfs/recipes-devtools/mkinitcpio/mkinitcpio_git.bb b/meta-initramfs/recipes-devtools/mkinitcpio/mkinitcpio_git.bb
new file mode 100644
index 000000000..2ecbf0bf4
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/mkinitcpio/mkinitcpio_git.bb
@@ -0,0 +1,30 @@
+SUMMARY = "mkinitcpio is the next generation of initramfs creation."
+DESCRIPTION = "mkinitcpio is a modular tool for building an initramfs CPIO image, offering many advantages over alternative methods."
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a"
+
+PV = "v23+git${SRCPV}"
+
+# v23 tag
+SRCREV = "12e44319725517b869796bd71dbfd8db6521343a"
+
+SRC_URI = "\
+	git://git.archlinux.org/mkinitcpio.git \
+	file://0001-Makefile-don-t-check-asciidoc-output.patch \
+	file://0002-Makefile-don-t-preserve-ownership-on-install.patch \
+"
+
+S = "${WORKDIR}/git"
+
+RDEPENDS_${PN} += "bash"
+
+DEPENDS += "asciidoc-native libxml2-native xmlto-native"
+
+inherit autotools-brokensep systemd
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE_${PN} = "mkinitcpio-generate-shutdown-ramfs.service"
+SYSTEMD_AUTO_ENABLE = "enable"
+
+FILES_${PN} = "${bindir} ${sysconfdir} ${libdir} /usr/share"
-- 
2.14.1




More information about the Openembedded-devel mailing list