aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCedric Schieli <cschieli@gmail.com>2010-03-26 21:24:05 +0000
committerCedric Schieli <cschieli@gmail.com>2010-03-26 21:24:05 +0000
commita1eb1a0f5d81de7d033449b9a6e7cc4262c86665 (patch)
treecbb2efca46ec9d586c9b095a5e4ecd364ce4e346
parentd70953969a28fa07eb094fc72cb7a132e60e776c (diff)
downloadmkinitfs-2.0_rc7_git1.tar.bz2
mkinitfs-2.0_rc7_git1.tar.xz
init: choose overlay device with ovl_dev=DEV:FSv2.0_rc7_git1
-rwxr-xr-xinitramfs-init.in20
1 files changed, 19 insertions, 1 deletions
diff --git a/initramfs-init.in b/initramfs-init.in
index 8f642f7..ae4eae4 100755
--- a/initramfs-init.in
+++ b/initramfs-init.in
@@ -212,6 +212,13 @@ ALPINE_DEV_FS=${KOPT_alpine_dev##*:}
if [ "$ALPINE_DEV_FS" = "$ALPINE_DEV" ]; then
unset ALPINE_DEV_FS
fi
+if [ -n "$KOPT_ovl_dev" ] ; then
+ OVL_DEV=${KOPT_ovl_dev%%:*}
+ OVL_DEV_FS=${KOPT_ovl_dev##*:}
+ if [ "$OVL_DEV_FS" = "$OVL_DEV" ]; then
+ unset OVL_DEV_FS
+ fi
+fi
# look for standard mountpoint locations
ALPINE_MNT=$(find_mnt /dev/$ALPINE_DEV /etc/fstab)
@@ -305,7 +312,18 @@ if [ -n "$KOPT_root_size" ]; then
fi
mount -t tmpfs $root_opts tmpfs $sysroot
-find_ovl_dev
+if [ -n "$OVL_DEV" ]; then
+ mkdir -p /media/$OVL_DEV
+ unset mount_opts
+ if [ -n "$OVL_DEV_FS" ]; then
+ mount_opts="-t $OVL_DEV_FS"
+ fi
+
+ retry_mount $mount_opts /dev/$OVL_DEV /media/$OVL_DEV >/dev/null 2>&1
+ ovl=$(find_ovl /media/$OVL_DEV)
+else
+ find_ovl_dev
+fi
if ! [ -f "$ovl" ]; then
ovl=$(find_ovl $ALPINE_MNT)
fi