summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimo Leone <simo@archlinux.org>2007-10-23 23:22:17 -0500
committerSimo Leone <simo@archlinux.org>2007-10-24 02:05:32 -0500
commit34e1d6b5dc00f174b8e4ef41c46960ccdf2a8a0c (patch)
tree6da8f2897cdf3531aef4d64e10539d8faa95d8cd
parent0dfc0a36ca5f90bd824ad2abbff5b987d8bed563 (diff)
downloadarchiso32-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/archiso4
-rwxr-xr-xmkarchiso17
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
diff --git a/mkarchiso b/mkarchiso
index c54a912..7f2e375 100755
--- a/mkarchiso
+++ b/mkarchiso
@@ -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