-#!/bin/sh
+#!/bin/bash
# Filename: grml-reboot
# Purpose: reboot grml system
# Authors: grml-team (grml.org)
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 </dev/console
+CONSOLE=/dev/console
+[ -c "$CONSOLE" ] && exec >"$CONSOLE" 2>&1 <"$CONSOLE"
# default variables
INSTALLED=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
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