Adding upstream version 3.0~a30.
[live-boot-grml.git] / scripts / boot / read-only.sh
index c8990df..48aa06c 100755 (executable)
@@ -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
 }