summaryrefslogtreecommitdiffstats
path: root/files/90mgalive/mgalive-root.sh
diff options
context:
space:
mode:
Diffstat (limited to 'files/90mgalive/mgalive-root.sh')
-rwxr-xr-xfiles/90mgalive/mgalive-root.sh13
1 files changed, 10 insertions, 3 deletions
diff --git a/files/90mgalive/mgalive-root.sh b/files/90mgalive/mgalive-root.sh
index c03935e..2837cd0 100755
--- a/files/90mgalive/mgalive-root.sh
+++ b/files/90mgalive/mgalive-root.sh
@@ -14,20 +14,27 @@ mkdir -m 0755 -p /live/media
mkdir -m 0755 -p /live/distrib
mkdir -m 0755 -p /live/memory
mkdir -m 0755 -p /live/union
+mkdir -m 0755 -p /run/mgalive/sqfs
# fix udev isohybrid LABEL issues (mga #3334)
# by reading the device we get, stripping away partition number,
# and mount the resulting device
realdev=$(echo $livedev |sed 's,\(/dev/sd[a-z]\)1,\1,g')
-# mount the livecd
-mount -n -t iso9660 -o ro $realdev /live/media
+# mount the live media
+getargbool 0 UEFI && liveuefi="yes"
+if [ -n "$liveuefi" ]; then
+ mount -n -t vfat -o ro $livedev /live/media
+else
+ mount -n -t iso9660 -o ro $realdev /live/media
+fi
LOOPDEV=$( losetup -f )
losetup -r $LOOPDEV /live/media/loopbacks/distrib-lzma.sqfs
mount -n -t squashfs -o ro $LOOPDEV /live/distrib
+mount -n -t squashfs -o ro $LOOPDEV /run/mgalive/sqfs
mount -n -t tmpfs -o mode=755 /live/memory /live/memory
-mount -n -t unionfs -o dirs=/live/memory=rw:/live/distrib=ro unionfs /live/union
+mount -n -t overlayfs -o lowerdir=/live/distrib,upperdir=/live/memory overlayfs /live/union
ln -s /live/union /dev/root