summaryrefslogtreecommitdiff
path: root/addon_config
diff options
context:
space:
mode:
authorSimo Leone <simo@archlinux.org>2007-10-12 02:48:16 -0500
committerSimo Leone <simo@archlinux.org>2007-10-16 23:38:05 -0500
commit413b2fd55202f3fa5880d5a42994220c74e84e60 (patch)
treecf9a75bc85e374d98015cb55ba2219d173edd879 /addon_config
parent47d1d2b0f74ac35f1af64c28fa80416eb65981e6 (diff)
downloadarchiso32-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 'addon_config')
-rw-r--r--addon_config17
1 files changed, 17 insertions, 0 deletions
diff --git a/addon_config b/addon_config
new file mode 100644
index 0000000..e8bbdea
--- /dev/null
+++ b/addon_config
@@ -0,0 +1,17 @@
+# This script gets run around the end of the archiso hook
+# These are some typical examples of what addons may need
+
+# installer package payload in a plain directory
+mkdir -p /real_root/packages
+mount -o bind $BOOT_MOUNT/addons/core /real_root/packages
+
+# a squashed livecd-specific overlay for a pristine system
+#TODO: we should keep track of used loop devices in case of multiple images
+mkdir -p /tmpfs/mnt/live_overlay
+if ! /bin/losetup /dev/loop1 "${BOOT_MOUNT}/addons/live_overlay.sqfs" >/dev/null 2>&1; then
+ echo "ERROR: Cannot mount loop device /dev/loop1...aborting"
+fi
+/bin/mount -r -t squashfs /dev/loop1 /tmpfs/mnt/live_overlay
+mount -t unionfs -o remount,add=/tmpfs/squashfs_root:/tmpfs/mnt/live_overlay=ro none /real_root
+
+# vim:ft=sh:ts=4:sw=4:et: