void-packages/templates/initramfs-tools/files/docs/example_hook_cpiogz

85 lines
2.5 KiB
Plaintext
Raw Normal View History

#!/bin/sh
#
# The environment contains at least:
#
# CONFDIR -- usually /etc/mkinitramfs, can be set on mkinitramfs
# command line.
#
# DESTDIR -- The staging directory where we are building the image.
#
# TODO: Decide what environment variables are meaningful and defined
# in this context, then document them as part of the interface.
#
# TODO: Write a common header for these examples or move this
# documentation to a man page and reference it here. :-)
#
#
# 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
#
# Source the 'hook-functions' scriptlet (for 'catenate_cpiogz'):
#
. /usr/share/initramfs-tools/hook-functions
#
# Lets pretend it has a conffile (think debconf), and we source it
# here. Don't make debconf lookup calls here. The postinst for the
# package owning this hook script should have done that and configured
# the "/etc/default/conffile" already.
#
# TODO: How does the package ensure that it's installed BEFORE the
# corresponding 'linux-image' package? Can it declare that, in
# the case where it's an add-on that the 'linux-image' is not
# aware of? This might be an apt and dpkg issue.
#
# * Eg. an optional usplash or suspend2ui_fbsplash package.
#
. /etc/default/mypackage-initramfs
#
# Also pretend that we only include our initramfs overlay if an opion
# is not "no", and the 'linux-image' package we are generating this
# initramfs for matches the version this script's package is designed
# for. Just for example; pretend this example mkinitramfs hook script
# is part of a 'linux-image' or 'xxx-modules' package.
#
if [ "$MYOPTION" != "no" -a "$version" = "2.6.12+ss2.1.9.1" ]; then
catenate_cpiogz /usr/lib/mypackage/initramfs.cpio.gz
fi
#
# In this case, there does not have to be an (eg.):
#
# "/etc/mkinitramfs/init-top/mypackage"
#
# ... since that script is probably inside of the initramfs overlay
# already. If it's a conffile though, it does not belong in there,
# and should be placed in the appropriate location inside of
# "/etc/mkinitramfs". Remember that if it needs access to the
# settings in our "/etc/default/mypackage-initramfs", then that file
# must also get copied into a location inside of ${DESTDIR} by this
# hook script in order to make it available inside of the initramfs
# environment.
#
exit 0