diff options
Diffstat (limited to 'packages/openslug-init/openslug-init-0.10/initscripts')
-rw-r--r-- | packages/openslug-init/openslug-init-0.10/initscripts/umountinitrd.sh | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/packages/openslug-init/openslug-init-0.10/initscripts/umountinitrd.sh b/packages/openslug-init/openslug-init-0.10/initscripts/umountinitrd.sh index b7ae8b76e5..da39b425f8 100644 --- a/packages/openslug-init/openslug-init-0.10/initscripts/umountinitrd.sh +++ b/packages/openslug-init/openslug-init-0.10/initscripts/umountinitrd.sh @@ -1,5 +1,18 @@ #!/bin/sh # # umount /mnt, which is where the initrd ends up mounted -# if the directory /initrd is not present -exec umount /mnt 2>/dev/null +# if the directory /initrd is not present, if this fails +# then the /initrd is mounted and we want to remount that +# ro - this works round the shutdown -r hang problem +umount /mnt 2>/dev/null || { + # need the device for a remount + . /etc/default/functions + ffspart=Flashdisk + ffsdev="$(mtblockdev $ffspart)" + if test -n "$ffsdev" -a -b "$ffsdev" + then + mount -o remount,ro "$ffsdev" /initrd + else + echo "Flashdisk: $ffsdev: flash device not found" >&2 + fi +} |