#!/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