new file mode 100644
@@ -0,0 +1,7 @@
+# Example conf-hook.
+#
+# See "CONFIGURATION HOOK SCRIPTS" in initramfs-tools(7) for details.
+
+# Example: Use busybox instead of klibc-utils. The package must also add
+# `busybox` as a dependency when this is set.
+BUSYBOX=y
new file mode 100644
@@ -0,0 +1,19 @@
+#!/bin/sh
+# Example hook script.
+#
+# See "HOOK SCRIPTS" in initramfs-tools(7) for details.
+
+PREREQ=""
+prereqs()
+{
+ echo "$PREREQ"
+}
+case $1 in
+prereqs)
+ prereqs
+ exit 0
+ ;;
+esac
+
+. /usr/share/initramfs-tools/hook-functions
+# Begin real processing below this line
new file mode 100644
@@ -0,0 +1,21 @@
+#!/bin/sh
+# Example boot script.
+#
+# See "BOOT SCRIPTS" in initramfs-tools(7) for details.
+
+PREREQ=""
+prereqs()
+{
+ echo "$PREREQ"
+}
+case $1 in
+prereqs)
+ prereqs
+ exit 0
+ ;;
+esac
+
+. /scripts/functions
+# Begin real processing below this line
+
+log_success_msg "Hello from ISAR!"
new file mode 100644
@@ -0,0 +1,40 @@
+# Example of a recipe containing an initramfs module. Packages like this can be
+# used with initramfs.bbclass or installed directly into a rootfs, depending on
+# the usecase.
+#
+# This software is a part of ISAR.
+
+DESCRIPTION = "Sample initramfs module for ISAR"
+MAINTAINER = "Your name here <you@domain.com>"
+DEBIAN_DEPENDS = "initramfs-tools"
+
+# If the conf-hook enables BUSYBOX=y, busybox is needed:
+DEBIAN_DEPENDS .= ", busybox"
+
+SRC_URI = " \
+ file://example.conf-hook \
+ file://example.hook \
+ file://example.script \
+ "
+
+inherit dpkg-raw
+
+do_install[cleandirs] += " \
+ ${D}/usr/share/initramfs-tools/conf-hooks.d \
+ ${D}/usr/share/initramfs-tools/hooks \
+ ${D}/usr/share/initramfs-tools/scripts/local-top \
+ "
+do_install() {
+ # See "CONFIGURATION HOOK SCRIPTS" in initramfs-tools(7) for details.
+ install "${WORKDIR}/example.conf-hook" \
+ "${D}/usr/share/initramfs-tools/conf-hooks.d/isar-example"
+
+ # See "HOOK SCRIPTS" in initramfs-tools(7) for details.
+ install "${WORKDIR}/example.hook" \
+ "${D}/usr/share/initramfs-tools/hooks/isar-example"
+
+ # Note that there are other places where a boot script might be deployed to,
+ # apart from local-top. See "BOOT SCRIPTS" in initramfs-tools(7) for details.
+ install "${WORKDIR}/example.script" \
+ "${D}/usr/share/initramfs-tools/scripts/local-top/example.script"
+}
Add the initramfs-example recipe/package which demonstrates how to write initramfs modules. It demonstrates how to add hook scripts, boot scripts, and conf-hooks. Signed-off-by: Harald Seiler <hws@denx.de> --- Notes: Changes in v3: - None Changes in v4: - None .../initramfs-example/files/example.conf-hook | 7 ++++ .../initramfs-example/files/example.hook | 19 +++++++++ .../initramfs-example/files/example.script | 21 ++++++++++ .../initramfs-example/initramfs-example.bb | 40 +++++++++++++++++++ 4 files changed, 87 insertions(+) create mode 100644 meta-isar/recipes-initramfs/initramfs-example/files/example.conf-hook create mode 100644 meta-isar/recipes-initramfs/initramfs-example/files/example.hook create mode 100644 meta-isar/recipes-initramfs/initramfs-example/files/example.script create mode 100644 meta-isar/recipes-initramfs/initramfs-example/initramfs-example.bb