################################################################################
# {{{ path, variables, signals, umask, zsh
-export PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin"
+export PATH="/bin:/sbin:/usr/bin:/usr/sbin"
DEBUG="/dev/null"
KERNEL="$(uname -r)"
ARCH="$(uname -m)"
config_fast(){
if checkbootparam 'fast'; then
ewarn "Bootoption fast detected. Skipping startup of grml-quickconfig."
- sed -i 's#^1:.*#1:12345:respawn:/usr/bin/openvt -f -c 1 -w -- /bin/zsh#' /etc/inittab
+ sed -i '/1:/s#/usr/share/grml-scripts/run-welcome#/bin/zsh#' /etc/inittab
/sbin/telinit q ; eend $?
fi
}
eindent
einfo "Activating console login on device ${device} with speed ${speed}."
local number="${device#ttyS}"
- sed -i "/^T$number:/d;/^#grmlserial#/iT$number:23:respawn:/bin/bash -c \"/sbin/getty -L $device -l /usr/bin/zsh-login $speed vt100 || sleep 30\"" /etc/inittab
+ sed -i "/^T$number:/d;/^#grmlserial#/iT$number:23:respawn:/bin/bash -c \"/sbin/getty -L $device -l /usr/share/grml-scripts/run-welcome $speed vt100 || sleep 30\"" /etc/inittab
eend $?
telinitq="1"
eoutdent
# }}}
# {{{ ACPI
-config_acpi_apm(){
-if [ -d /proc/acpi ]; then
- if checkbootparam 'noacpi'; then
- ewarn "Skipping ACPI Bios detection as requested via noacpi on boot commandline." ; eend 0
- elif checkbootparam 'nogrmlacpi' ; then
- ewarn "Skipping ACPI Bios detection as requested via nogrmlacpi on boot commandline." ; eend 0
+config_acpi(){
+if checkbootparam 'noacpi'; then
+ ewarn "ACPI: Not loading modules as requested by boot option \"noacpi\"." ; eend 0
+elif checkbootparam 'nogrmlacpi' ; then
+ ewarn "ACPI: Not loading modules as requested by boot option \"nogrmlacpi\"." ; eend 0
+elif [ ! -d /proc/acpi ] ; then
+ ewarn "ACPI: Kernel support not present." ; eend 0
+else
+ einfo "ACPI: Loading modules (disable with boot option noacpi / nogrmlacpi): "
+ eindent
+ found=""
+ for a in /lib/modules/$KERNEL/kernel/drivers/acpi/*; do
+ basename="${a##*/}"
+ basename="${basename%%.*}"
+ case "$basename" in *_acpi)
+ egrep -qi "${basename%%_acpi}" /proc/acpi/dsdt 2>>$DEBUG || continue ;;
+ esac
+ modprobe $basename >>$DEBUG 2>&1 && found="yes"
+ local BASE="$BASE $basename"
+ done
+ if [ -n "$found" ] ; then
+ einfo "$BASE" ; eend 0
else
- einfo "ACPI Bios found, activating modules (disable via bootoption noacpi / nogrmlacpi): "
- eindent
- found=""
- for a in /lib/modules/$KERNEL/kernel/drivers/acpi/*; do
- basename="${a##*/}"
- basename="${basename%%.*}"
- case "$basename" in *_acpi)
- egrep -qi "${basename%%_acpi}" /proc/acpi/dsdt 2>>$DEBUG || continue ;;
- esac
- modprobe $basename >>$DEBUG 2>&1 && found="yes"
- local BASE="$BASE $basename"
- done
- if [ -n "$found" ] ; then
- einfo "$BASE" ; eend 0
- else
- ewarn "(none)" ; eend 1
- fi
- if ! ps x 2>>$DEBUG | grep -q /usr/sbin/acpid ; then
- if ! [ -r /var/run/dbus/pid ] ; then
- einfo "Starting acpi daemon."
- /etc/init.d/acpid start >>$DEBUG 2>&1 ; eend $?
- else
- eerror "acpid error: it seems you are running d-bus/hal, but acpid needs to be started before d-bus."
- eerror "Solution: please activate acpid via /etc/runlevel.conf"
- eend 1
- fi
- else
- ewarn "acpi daemon already running."
- eend 0
- fi
- eoutdent
+ ewarn "(none)" ; eend 1
fi
-else
-# APM
- if checkbootparam 'noapm'; then
- ewarn "Skipping APM Bios detection as requested on boot commandline." ; eend 0
+ if ! pgrep acpid >/dev/null ; then
+ einfo "Starting acpi daemon."
+ /etc/init.d/acpid start >>$DEBUG 2>&1 ; eend $?
else
- modprobe apm power_off=1 >>$DEBUG 2>&1
- if [ "$?" = "0" ] ; then
- if [ -x /etc/init.d/apmd ] ;then
- einfo "APM Bios found, enabling power management functions."
- /etc/init.d/apmd start ; eend $?
- fi
- else
- eerror "Loading apm module failed." ; eend 1
- fi
+ ewarn "acpi daemon already running."
+ eend 0
fi
-fi
-}
-# }}}
-
-# {{{ AGP
-config_agp(){
-if checkbootparam 'forceagp' ; then
-# Probe for AGP. Hope this can fail safely
- grep -q "AGP" "/proc/pci" 2>>$DEBUG && { modprobe agpgart || modprobe agpgart agp_try_unsupported=1; } >>$DEBUG 2>&1 && einfo "AGP bridge detected." ; eend 0
+ eoutdent
fi
}
# }}}
einfo "Detecting CPU: `awk -F: '/^processor/{printf " Processor"$2" is"};/^model name/{printf $2};/^vendor_id/{printf vendor};/^cpu MHz/{printf " %dMHz",int($2)};/^cache size/{printf ","$2" Cache"};/^$/{print ""}' /proc/cpuinfo 2>>$DEBUG` " ; eend 0
fi
-# Virtual Box supports ACPI and laptop-detect would return with '0', so check for it:
+# no cpufreq setup inside VirtualBox
if [ -r /proc/acpi/battery/BAT0/info ] && grep -q 'OEM info:.*innotek' /proc/acpi/battery/BAT0/info ; then
einfo 'Virtual Box detected, skipping cpufreq setup.' ; eend 0
return 0
# adjust inittab for xstartup
if grep -q '^6:' /etc/inittab ; then
- sed -i 's|^6:.*|6:2345:respawn:/bin/zsh --login -c "/etc/init.d/xstartup ; /usr/bin/zsh-login" >/dev/tty6 2>\&1 </dev/tty6|' /etc/inittab
+ sed -i 's|^6:.*|6:2345:respawn:/bin/zsh --login -c "/etc/init.d/xstartup ; /usr/share/grml-scripts/run-welcome" >/dev/tty6 2>\&1 </dev/tty6|' /etc/inittab
else # just append tty6 to inittab if no definition is present:
- echo '6:2345:respawn:/bin/zsh --login -c "/etc/init.d/xstartup ; /usr/bin/zsh-login" >/dev/tty6 2>&1 < /dev/tty6' >> /etc/inittab
+ echo '6:2345:respawn:/bin/zsh --login -c "/etc/init.d/xstartup ; /usr/share/grml-scripts/run-welcome" >/dev/tty6 2>&1 < /dev/tty6' >> /etc/inittab
fi
/sbin/telinit q ; eend $?
eerror " -> Please use something like xdm, gdm or kdm for starting X on a harddisk system!" ; eend 1
fi
else
- eerror "/usr/X11R6/bin/X is not present on this grml flavour."
+ eerror "/usr/bin/X is not present on this grml flavour."
eerror " -> Boot parameter startx does not work therefore." ; eend 1
fi
fi
}
# }}}
-# {{{ 915resolution
-config_915resolution(){
-if checkbootparam '915resolution' ; then
- OPTIONS="$(getbootparam '915resolution' 2>>$DEBUG)"
- if [ -x /usr/sbin/915resolution ]; then
- CMD=915resolution
- MODE=""
- XRESO=""
- YRESO=""
- if [ -n "$OPTIONS" ]; then
- # Extra options
- MODE="${OPTIONS%%,*}"
- R="${OPTIONS#*,}"
- if [ -n "$R" -a "$R" != "$OPTIONS" ]; then
- OPTIONS="$R"
- XRESO="${OPTIONS%%,*}"
- R="${OPTIONS#*,}"
- if [ -n "$R" -a "$R" != "$OPTIONS" ]; then
- OPTIONS="$R"
- YRESO="${OPTIONS%%,*}"
- R="${OPTIONS#*,}"
- fi
- fi
- fi
- einfo "Running 915resolution with options ${MODE} ${XRESO} ${YRESO}."
- [ -n "$MODE" ] && [ -n "$XRESO" ] && [ -n "$YRESO" ] && ( sh -c "$CMD $MODE $XRESO $YRESO" & )
- eend 0
- fi
-fi
-}
-# }}}
-
# {{{ SW-RAID
config_swraid(){
[ -n "$INSTALLED" ] && return 0
checkbootparam 'forensic' || checkbootparam 'raid=noautodetect' ; then
ewarn "Skipping SW-RAID code as requested on boot commandline." ; eend 0
else
+ [ -e /proc/mdstat ] || modprobe md_mod
if ! [ -x /sbin/mdadm ] ; then
eerror "mdadm not available, can not execute it." ; eend 1
else
}
# }}}
-# {{{ grml2hd: automatic installation
-config_grml2hd(){
-
-if checkbootparam "grml2hd" || checkbootparam "BOOT_IMAGE=grml2hd" ; then
-
-if checkbootparam 'user' ; then
- NEWUSER=''
- NEWUSER="$(getbootparam 'user' 2>>$DEBUG)"
- sed -i "s/^NEWUSER=.*/NEWUSER=$NEWUSER/" /etc/grml2hd/config || export GRML2HD_FAIL=1
-fi
-
-if checkbootparam 'filesystem' ; then
- FILESYSTEM=''
- FILESYSTEM="$(getbootparam 'filesystem' 2>>$DEBUG)"
- sed -i "s/^FILESYSTEM=.*/FILESYSTEM=$FILESYSTEM/" /etc/grml2hd/config || export GRML2HD_FAIL=1
-fi
-
-if checkbootparam 'partition' ; then
- PARTITION=''
- PARTITION="$(getbootparam 'partition' 2>>$DEBUG)"
- # notice: the following checks whether the given partition is available, if not the skip
- # execution of grml2hd as it might result in data loss...
- if [ -r $PARTITION ] ; then
- sed -i "s#^PARTITION=.*#PARTITION=$PARTITION#" /etc/grml2hd/config || export GRML2HD_FAIL=1
- else
- ewarn "Partition $PARTITION does not exist. Skipping execution of grml2hd therefore." ; eend 1
- fi
-fi
-
-if checkbootparam 'mbr' ; then
- BOOT_PARTITION=''
- BOOT_PARTITION="$(getbootparam 'mbr' 2>>$DEBUG)"
- sed -i "s#^BOOT_PARTITION=.*#BOOT_PARTITION=$BOOT_PARTITION#" /etc/grml2hd/config || export GRML2HD_FAIL=1
-fi
-
-cat>|/usr/bin/grml2hd_noninteractive<<EOF
-#!/bin/sh
-GRML2HD_NONINTERACTIVE='yes' grml2hd
-EOF
-
-chmod 755 /usr/bin/grml2hd_noninteractive
-einfo "Bootoption grml2hd found. Running automatic installation via grml2hd using /etc/grml2hd/config." && eend 0
-if [ -z "$GRML2HD_FAIL" ] ; then
- screen /usr/bin/grml2hd_noninteractive ; einfo "Invoking a shell, just exit to continue booting..." ; /bin/zsh
-else
- ewarn "There was an error adjusting /etc/grml2hd/config. Skipping execution of grml2hd for security reasons." ; eend 1
-fi
-
-fi # if checkbootparam "BOOT_IMAGE=grml2hd ...
-}
-# }}}
-
# {{{ debootstrap: automatic installation
config_debootstrap(){