summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2011-04-13 08:37:02 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2011-04-13 08:37:02 +0000
commita68ed6aa3117a8f130215e3a7bfb3312da66267f (patch)
tree659c157719a400bc1ee63f29a1a283aab6a38eda
parentd50371d52ddad76f6393ceadd74ed5f4433b9666 (diff)
downloadmkinitfs-a68ed6aa3117a8f130215e3a7bfb3312da66267f.tar.bz2
mkinitfs-a68ed6aa3117a8f130215e3a7bfb3312da66267f.tar.xz
init: unmount the media where apkovl was found if needed
This prevents double mount of /media/usb and /media/usbdisk
-rwxr-xr-xinitramfs-init.in7
1 files changed, 5 insertions, 2 deletions
diff --git a/initramfs-init.in b/initramfs-init.in
index abc888f..7b09722 100755
--- a/initramfs-init.in
+++ b/initramfs-init.in
@@ -140,7 +140,10 @@ find_ovl_dev() {
for i in usb floppy cdrom; do
mount -o ro /media/$i 2>/dev/null || continue
ovl=$(find_ovl /media/$i)
- [ -f "$ovl" ] && return
+ if [ -f "$ovl" ]; then
+ ovl_unmount="$ovl_unmount /media/$i"
+ return
+ fi
umount /media/$i 2>/dev/null
done
sleep 1
@@ -388,7 +391,7 @@ if [ -f "$ovl" ]; then
eend $? $errstr || ovlfiles=
# hack, incase /root/.ssh was included in apkovl
[ -d "$sysroot/root" ] && chmod 700 "$sysroot/root"
- umount /media/$i 2>/dev/null &
+ umount $ovl_unmount 2>/dev/null &
pkgs="$pkgs $(sed 's/\#.*//' $sysroot/etc/lbu/packages.list 2>/dev/null)"
rm -f "$sysroot"/etc/lbu/packages.list
pkgs="$pkgs $(cat $sysroot/var/lib/apk/world $sysroot/etc/apk/world 2>/dev/null)"