X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=etc%2Finit.d%2Fgrml-reboot;h=157d04f8ee821809292e84cc69c84c3085724942;hb=49b93c6e0e6288dc3e94e000619045d741f330f1;hp=c5e737cb7836a458f0b66a9fdbe5b18801bafa33;hpb=f93db4cce61e7dbdd78e7cbccffb5c4511c72f8d;p=grml-etc.git diff --git a/etc/init.d/grml-reboot b/etc/init.d/grml-reboot index c5e737c..157d04f 100755 --- a/etc/init.d/grml-reboot +++ b/etc/init.d/grml-reboot @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # Filename: grml-reboot # Purpose: reboot grml system # Authors: grml-team (grml.org) @@ -8,13 +8,15 @@ export PATH=/sbin:/bin:/usr/bin:/usr/sbin +. /usr/lib/grml/core.sh . /etc/grml_colors . /etc/grml/lsb-functions cd / # Clean input/output -exec >/dev/console 2>&1 "$CONSOLE" 2>&1 <"$CONSOLE" # default variables INSTALLED=false @@ -22,16 +24,15 @@ REMOVABLE=false USB_DEVICE=false NOPROMPT=${NOPROMPT:-false} NOEJECT=${NOEJECT:-false} -CMDLINE="$(cat /proc/cmdline 2>/dev/null)" # Check if we are running from a GRML-CD or HD [ -e /etc/grml_cd ] || INSTALLED=true # Assume that we don't want the eject+prompt stuff when running in one # of the special modes: -grep -qe 'toram' -qe '2ram' -qe 'usb' -qe 'serial' \ - -qe 'fromhd' -qe 'isofrom' -qe 'fromiso' -qe 'findiso' \ - /proc/cmdline && INSTALLED=true +checkbootparam 'toram' || checkbootparam '2ram' || checkbootparam 'usb' \ +checkbootparam 'serial' || checkbootparam 'fromhd' || checkbootparam 'isofrom' \ +checkbootparam 'fromiso' || checkbootparam 'findiso' && INSTALLED=true # detect cdrom device if ! $INSTALLED ; then @@ -48,14 +49,14 @@ if ! $INSTALLED ; then DEVICE="" if [ -n "$CDROM" ] ; then DEVICE="${CDROM##/dev/}" - DEVICE="${DEVICE%%[0-9]*}" + [ -d /sys/block/${DEVICE} ] || DEVICE="${DEVICE%%[0-9]*}" if [ -n "$DEVICE" ] ; then # is it a removable device? [ "$(cat /sys/block/${DEVICE}/removable 2>/dev/null)" = "1" ] && REMOVABLE=true # is it a usb device? readlink /sys/block/${DEVICE} 2>/dev/null | grep -q '/usb' && USB_DEVICE=true - $USB_DEVICE && USB_INFO="$(cat /sys/block/${DEVICE}/device/model 2>/dev/null)" + $USB_DEVICE && USB_INFO=" ($(cat /sys/block/${DEVICE}/device/model 2>/dev/null))" fi fi fi