85 lines
2.5 KiB
Bash
85 lines
2.5 KiB
Bash
#!/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
|