My /mnt/sid/etc/init.d/umountroot has these lines:
do_stop () {
[ "$VERBOSE" = no ] || log_action_begin_msg "Mounting root filesystem read-only"
MOUNT_FORCE_OPT=
[ "$(uname -s)" = "GNU/kFreeBSD" ] && MOUNT_FORCE_OPT=-f
# This:
# mount -n -o remount,ro /
# will act on a bind mount of / if there is one.
# See #339023 and the comment in checkroot.sh
mount $MOUNT_FORCE_OPT -n -o remount,ro -t dummytype dummydev / 2>/dev/null \
|| mount $MOUNT_FORCE_OPT -n -o remount,ro dummydev / 2>/dev/null \
|| mount $MOUNT_FORCE_OPT -n -o remount,ro /
ES=$?
[ "$VERBOSE" = no ] || log_action_end_msg $ES
}
Specifying a device, even if it's "dummydev" seems to do the trick.
Maybe we could use the same fix that debian did?
My /mnt/sid/ etc/init. d/umountroot has these lines:
do_stop () { begin_msg "Mounting root filesystem read-only"
[ "$VERBOSE" = no ] || log_action_
MOUNT_FORCE_OPT=
[ "$(uname -s)" = "GNU/kFreeBSD" ] && MOUNT_FORCE_OPT=-f
# This:
# mount -n -o remount,ro /
# will act on a bind mount of / if there is one.
# See #339023 and the comment in checkroot.sh
mount $MOUNT_FORCE_OPT -n -o remount,ro -t dummytype dummydev / 2>/dev/null \
|| mount $MOUNT_FORCE_OPT -n -o remount,ro dummydev / 2>/dev/null \
|| mount $MOUNT_FORCE_OPT -n -o remount,ro /
ES=$?
[ "$VERBOSE" = no ] || log_action_end_msg $ES
}
Specifying a device, even if it's "dummydev" seems to do the trick.