[arch-projects] [mkinitcpio][PATCH v2] kernel-install: add hook

Tom Gundersen teg at jklm.no
Thu Sep 26 09:15:20 EDT 2013


This will allow systemd's kernel-install script to generate and install
an initrd as per the freedesktop boot loader specs.

See kernel-install(8) for details.

Notice that 'profiles' are not used.

This will eventually be hooked up so that calling "make install" from
a kernel build will do the right thing.

Signed-off-by: Tom Gundersen <teg at jklm.no>
---
 50-mkinitcpio.install | 12 ++++++++++++
 Makefile              |  3 +++
 2 files changed, 15 insertions(+)
 create mode 100644 50-mkinitcpio.install

diff --git a/50-mkinitcpio.install b/50-mkinitcpio.install
new file mode 100644
index 0000000..40f589a
--- /dev/null
+++ b/50-mkinitcpio.install
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+case "$1" in
+    add)
+        mkinitcpio -k "$2" -g "$3"/initrd
+    ;;
+    remove)
+        rm -f -- "$3"/initrd
+    ;;
+esac
+
+# vim: set ft=sh ts=4 sw=4 et:
diff --git a/Makefile b/Makefile
index 633dd63..1b933c9 100644
--- a/Makefile
+++ b/Makefile
@@ -10,6 +10,7 @@ DIRS = \
 	/usr/lib/initcpio/hooks \
 	/usr/lib/initcpio/install \
 	/usr/lib/initcpio/udev \
+	/usr/lib/kernel/install.d \
 	/usr/share/man/man8 \
 	/usr/share/man/man5 \
 	/usr/share/man/man1 \
@@ -48,6 +49,8 @@ install: all
 	cp -at $(DESTDIR)/usr/lib/initcpio hooks install
 	install -m644 -t $(DESTDIR)/usr/share/mkinitcpio mkinitcpio.d/*
 
+	install -m755 50-mkinitcpio.install $(DESTDIR)/usr/lib/kernel/install.d/50-mkinitcpio.install
+
 	install -m644 man/mkinitcpio.8 $(DESTDIR)/usr/share/man/man8/mkinitcpio.8
 	install -m644 man/mkinitcpio.conf.5 $(DESTDIR)/usr/share/man/man5/mkinitcpio.conf.5
 	install -m644 man/lsinitcpio.1 $(DESTDIR)/usr/share/man/man1/lsinitcpio.1
-- 
1.8.4



More information about the arch-projects mailing list