summaryrefslogtreecommitdiffstats
path: root/docs/example_hook
diff options
context:
space:
mode:
Diffstat (limited to 'docs/example_hook')
-rw-r--r--docs/example_hook68
1 files changed, 68 insertions, 0 deletions
diff --git a/docs/example_hook b/docs/example_hook
new file mode 100644
index 0000000..85ff6c6
--- /dev/null
+++ b/docs/example_hook
@@ -0,0 +1,68 @@
+#!/bin/sh
+#
+#
+# This is an example hook script. It will be run by 'mkinitramfs'
+# when it creates the image. It's job is to decide which files to
+# install, then install them into the staging area, where the
+# initramfs is being created. This happens when a new 'linux-image'
+# package is installed, or when the administrator runs 'mkinitramfs'
+# by hand to update an initramfs image.
+#
+# CONFDIR -- usually /etc/initramfs-tools, can be set on mkinitramfs
+# command line.
+#
+# DESTDIR -- The staging directory where we are building the image.
+#
+# see initramfs-tools(7)
+
+#
+# List the soft prerequisites here. This is a space separated list of
+# names, of scripts that are in the same directory as this one, that
+# must be run before this one can be.
+#
+PREREQ=""
+
+prereqs()
+{
+ echo "$PREREQ"
+}
+
+case $1 in
+# get pre-requisites
+prereqs)
+ prereqs
+ exit 0
+ ;;
+esac
+
+
+# You can do anything you need to from here on.
+#
+
+# Source the optional 'hook-functions' scriptlet, if you need the
+# functions defined within it. Read it to see what is available to
+# you. It contains functions for copying dynamically linked program
+# binaries, and kernel modules into the DESTDIR.
+#
+. /usr/share/initramfs-tools/hook-functions
+
+
+# If this hook script is a conffile (and thus stored in
+# /etc/mkinitramfs/hooks), it must take care to do the right thing
+# when the package containing it is removed but not purged. There of
+# course may be other reasons to have custom logic deciding what to
+# install. The version variable may be useful for this.
+#
+if command -v myprog >/dev/null 2>&1; then
+ copy_exec /usr/bin/myprog usr/bin
+fi
+
+# To accompany this, there should usually be a script for inside the
+# initramfs named something like:
+#
+# "/etc/mkinitramfs/local-premount/myprog"
+#
+# ... and it should do what is necessary to have 'myprog' get run
+# inside the early runtime environment.
+
+exit 0