#!/bin/sh
exec 2>&1
ebegin() { [ "${VERBOSE:-}" = no ] || echo "$@"; }
eend() { r=${1:-0}; shift || true; [ "$r" -eq 0 ] || [ "${VERBOSE:-}" = no ] || echo "$*" >&2; return "$r"; }
ewarn() { echo "$@" >&2; }
. /lib/init/vars.sh
persist_rc_log() {
	local runlog="${RC_SVCDIR:-/run/openrc}/rc.log"
	[ -f "$runlog" ] || runlog=/run/openrc/rc.log
	if [ -f "$runlog" ] && [ -d /var/log ]; then
		cat "$runlog" >> /var/log/rc.log 2>/dev/null || true
	fi
}
remount_ro() {
	local label="$1" mp="$2"
	local MOUNT_FORCE_OPT=
	[ "$(uname -s)" = "GNU/kFreeBSD" ] && MOUNT_FORCE_OPT=-f
	[ "$VERBOSE" != no ] && ebegin "Mounting $label filesystem read-only"
	mount $MOUNT_FORCE_OPT -n -o remount,ro -t dummytype dummydev "$mp" 2>/dev/null \
	|| mount $MOUNT_FORCE_OPT -n -o remount,ro dummydev "$mp" 2>/dev/null \
	|| mount $MOUNT_FORCE_OPT -n -o remount,ro "$mp" 2>/dev/null || true
	[ "$VERBOSE" != no ] && eend 0
	return 0
}
sync
persist_rc_log
sync
remount_ro root /
if mountpoint -q /usr; then remount_ro /usr /usr; fi
exit 0
