diff options
author | Simo Leone <simo@archlinux.org> | 2007-10-12 02:48:16 -0500 |
---|---|---|
committer | Simo Leone <simo@archlinux.org> | 2007-10-16 23:38:05 -0500 |
commit | 413b2fd55202f3fa5880d5a42994220c74e84e60 (patch) | |
tree | cf9a75bc85e374d98015cb55ba2219d173edd879 /mkarchiso | |
parent | 47d1d2b0f74ac35f1af64c28fa80416eb65981e6 (diff) | |
download | archiso32-413b2fd55202f3fa5880d5a42994220c74e84e60.tar.xz |
Implemented a simple addon mechanism
If asked to do so, mkarchiso simply copies a
directory full of addons to the iso root.
On boot, after union-mounting /real_root, the
archiso hook will look for and source an addon
config file. This file is a plain old bash
script, which makes it quite flexible. The addon
config should be written to take care of any
mounting that needs to be done, an example of
typical tasks is also included.
Signed-off-by: Simo Leone <simo@archlinux.org>
Diffstat (limited to 'mkarchiso')
-rwxr-xr-x | mkarchiso | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -6,6 +6,7 @@ PKGFILE="$(pwd)/packages.list" PKGLIST="" QUIET="y" FORCE="n" +ADDON_DIR="" command_name="" work_dir="" @@ -22,6 +23,7 @@ usage () echo " -i CPIO_CONFIG Use CONFIG file for mkinitcpio. default: ${CPIOCONFIG}" echo " -P PKGFILE File with list of packages to install. default: ${PKGFILE}" echo " -p PACKAGE Additional package to install, can be used multiple times" + echo " -a ADDON_DIR Use addons from DIR. default: none" echo " -v Enable verbose output." echo " -h This message." echo " commands:" @@ -32,11 +34,12 @@ usage () exit $1 } -while getopts 'i:P:p:fvh' arg; do +while getopts 'i:P:p:a:fvh' arg; do case "${arg}" in i) CPIOCONFIG="${OPTARG}" ;; P) PKGFILE="${OPTARG}" ;; p) PKGLIST="${PKGLIST} ${OPTARG}" ;; + a) ADDON_DIR="${OPTARG}" ;; f) FORCE="y" ;; v) QUIET="n" ;; h|?) usage 0 ;; @@ -172,6 +175,12 @@ if [ "${command_name}" = "install" -o "${command_name}" = "all" ]; then rm -rf "${isoroot}/boot" mv "${instroot}/boot" "${isoroot}" fi + + # TODO: this might belong somewhere else + if [ -d "${ADDON_DIR}" ]; then + echo "Copying addons from ${ADDON_DIR}..." + cp -r ${ADDON_DIR} ${isoroot}/addons + fi fi # Squash is the next step. |