diff options
author | Simo Leone <simo@archlinux.org> | 2007-10-23 23:22:17 -0500 |
---|---|---|
committer | Simo Leone <simo@archlinux.org> | 2007-10-24 02:05:32 -0500 |
commit | 34e1d6b5dc00f174b8e4ef41c46960ccdf2a8a0c (patch) | |
tree | 6da8f2897cdf3531aef4d64e10539d8faa95d8cd | |
parent | 0dfc0a36ca5f90bd824ad2abbff5b987d8bed563 (diff) | |
download | archiso32-34e1d6b5dc00f174b8e4ef41c46960ccdf2a8a0c.tar.xz |
Make default-config an overlay
This allows the root image to remain a [mostly] pristine
image, and turns default liveCD configurations into an
overlay, rather than copying them into the root image.
Signed-off-by: Simo Leone <simo@archlinux.org>
-rw-r--r-- | hooks/archiso | 4 | ||||
-rwxr-xr-x | mkarchiso | 17 |
2 files changed, 18 insertions, 3 deletions
diff --git a/hooks/archiso b/hooks/archiso index fc19d89..86c5885 100644 --- a/hooks/archiso +++ b/hooks/archiso @@ -58,6 +58,10 @@ run_hook () export LOOP_NUM="1" addon_dir="${BOOT_MOUNT}/addons" + + # always layer default configuration + _mnt_squashfs "default-config.sqfs" + if [ -e "${addon_dir}/config" ]; then msg ":: Mounting addons" while read img mountpoint type; do @@ -167,15 +167,26 @@ if [ "${command_name}" = "install" -o "${command_name}" = "all" ]; then [ "$(basename ${d})" != "local" ] && rm -rf "${d}" done - if [ -e "${instroot}/boot" ]; then + # copy over kernel and grub configs for boot + if [ -e "${instroot}/boot" -a -e "${DEF_CONFIG_DIR}/boot" ]; then rm -rf "${isoroot}/boot" - mv "${instroot}/boot" "${isoroot}" + cp -r "${instroot}/boot" "${isoroot}" + cp -rf "${DEF_CONFIG_DIR}/boot" "${isoroot}" fi # TODO: this might belong somewhere else + mkdir -p "${isoroot}/addons" if [ -d "${ADDON_DIR}" ]; then echo "Copying addons from ${ADDON_DIR}..." - cp -r ${ADDON_DIR} ${isoroot}/addons + cp -r ${ADDON_DIR}/* "${isoroot}/addons" + fi + + # always make an addon out of DEF_CONFIG_DIR + echo "Creating default-config addon..." + if [ "${QUIET}" = "y" ]; then + mksquashfs "${DEF_CONFIG_DIR}" "${isoroot}/addons/default-config.sqfs" >/dev/null + else + mksquashfs "${DEF_CONFIG_DIR}" "${isoroot}/addons/default-config.sqfs" fi fi |