diff options
Diffstat (limited to 'scripts/boot/read-only.sh')
| -rwxr-xr-x | scripts/boot/read-only.sh | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/scripts/boot/read-only.sh b/scripts/boot/read-only.sh index c8990df..48aa06c 100755 --- a/scripts/boot/read-only.sh +++ b/scripts/boot/read-only.sh @@ -4,14 +4,30 @@ Read_only () { - # Marking the usual block devices for harddisks read-only - for _DEVICE in /dev/sd* /dev/vd* + # Marking some block devices as read-only to ensure that nothing + # gets written as linux still writes to 'only' read-only mounted filesystems. + _DEVICES="/dev/sd* /dev/vd*" + + for _DEVICE in ${_DEVICES} do - if [ -b "${_DEVICE}" ] + if [ ! -b "${_DEVICE}" ] then - printf "Setting device %-9s to read-only mode:" ${_DEVICE} > /dev/console - - blockdev --setro ${_DEVICE} && printf " done [ execute \"blockdev --setrw %-9s\" to unlock]\n" ${_DEVICE} > /dev/console || printf "failed\n" > /dev/console + continue fi + + echo -n "Setting ${_DEVICE} read-only..." > /dev/console + + blockdev --setro ${_DEVICE} + _RETURN="${?}" + + case "${_RETURN}" in + 0) + echo " done, use 'blockdev --setrw ${_DEVICE}' to set read-write." > /dev/console + ;; + + *) + echo " failed." > /dev/console + ;; + esac done } |
