fi
# }}}
-# {{{ debug
-config_debug(){
- checkbootparam 'debug' && BOOTDEBUG="yes"
- checkbootparam "BOOT_IMAGE=debug" && BOOTDEBUG="yes"
-
- rundebugshell(){
- if [ -n "$BOOTDEBUG" ]; then
- einfo "Starting intermediate shell stage $stage as requested by \"debug\" option."
- if [ grep -q "debug=noscreen" "$CMDLINE" ] ; then
- einfo "Notice that the shell does not provide job handling: ctrl-z, bg and fg won't work!"
- einfo "Just exit the shell to continue boot process..."
- /bin/zsh
- else
- eindent
- if [ -r /etc/grml/screenrc ] ; then
- einfo "Starting GNU screen to be able to use a full featured shell environment."
- einfo "Just exit the shells (and therefore screen) to continue boot process..."
- /bin/zsh -c "screen -c /etc/grml/screenrc"
- else
- einfo "Notice that the shell does not provide job handling: ctrl-z, bg and fg won't work!"
- einfo "Just exit the shell to continue boot process..."
- /bin/zsh
- fi
- eoutdent
- fi
- fi
- }
-}
-# }}}
-
# {{{ log
config_log(){
if checkbootparam 'log' || checkbootparam 'debug' ; then
eindent
SKIP_CPU_GOVERNOR=1
oldIFS="$IFS"
- IFS="
-"
+ IFS=$'\n'
for line in $(grep FATAL "$LOADCPUFREQ" | sed 's/.*FATAL: //; s/ (.*)//') ; do
eerror "$line" ; eend $RC
done
CONTROLS=$(amixer -c $card scontrols | awk -F"Simple mixer control " '{print $2}')
IFSOLD=${IFS:-}
- IFS='
- '
+ IFS=$'\n'
for CONTROL in ${=CONTROLS} ; do
# such devices can not be controlled with amixer ... unmute
[[ "$CONTROL" == *Console* ]] && continue
}
# }}}
-# {{{ stats
-config_stats() {
- if ! checkbootparam 'nostats' ; then
- BASE_URL="http://stats.grml.org/report/"
- ACTION_NAME=Boot
-
- HOST_ID=$(cat /proc/sys/kernel/random/boot_id)
-
- grep -q " lm " /proc/cpuinfo && HAS_64BIT="1" || HAS_64BIT="0"
- DATE_STRING=$(date +'h=%H&m=%M&s=%S')
- [ -e /etc/grml_version ] && VERSION=$(cat /etc/grml_version) || \
- VERSION=$(lsb_release -d | awk -F: '{gsub(/^[ \t]+/, "", $2); print $2}')
-
- PARAMS="$( echo "$CMDLINE" | sed -e 's/=[^ ]*/=x/g' | tr " " "\n"|sort|tr "\n" " " )"
-
- echo "$CMDLINE" | grep -q -e "fetch" -e "nfsroot" && BOOT="remote"
- [ -z "$BOOT" ] && BOOT="local"
-
- ADDITIONAL_PARAMS=""
- ( [ -n "$COLUMNS" ] && [ -n "$LINES" ] ) && \
- ADDITIONAL_PARAMS="$ADDITIONAL_PARAMS&res=$((COLUMNS * 8))x$((LINES * 16))"
-
- URI='$BASE_URL?action=${ACTION_NAME}\&$DATE_STRING\&unique_id=${HOST_ID}\&support_64bit=$HAS_64BIT\&version=$VERSION\&bootup=$BOOT\¶ms=$PARAMS$ADDITIONAL_PARAMS'
-
- get_remote_file "$URI" "/dev/null" >/dev/null 2>&1 &!
- fi
-}
-# }}}
-
# {{{ start X window system via grml-x
config_x_startup(){
einfo "Setting up and invoking grml-x ${WINDOWMANAGER}. Just exit X windows system to get full featured consoles."
config_userlocal
if $SYSTEMD ; then
- cat>|/etc/init.d/startx<<EOF
-#!/bin/sh
-chgrp tty \${TTY}
-chmod g=rw \${TTY}
-sudo -u "${localuser}" /usr/bin/grml-x ${WINDOWMANAGER}
-EOF
- chmod 755 /etc/init.d/startx
- chvt 6
+ chvt 7
return
fi
cat>|/etc/init.d/startx<<EOF
einfo "Bootoption swraid found. Searching for software RAID arrays:"
eindent
IFSOLD=${IFS:-}
- IFS='
-'
+ IFS=$'\n'
for line in $(mdadm --assemble --scan --auto=yes --symlink=no 2>&1) ; do
case $line in
*'No arrays found'*)
ewarn "No active arrays found" ; eend 0
else
IFSOLD=${IFS:-}
- IFS='
-'
+ IFS=$'\n'
for line in $(grep '^md[0-9]' /proc/mdstat) ; do
einfo "active arrays: $line" ; eend 0
done
[ -n "$1" ] || return 1
IFSOLD=${IFS:-}
- IFS='
-'
+ IFS=$'\n'
eindent
for line in $(dmraid $1 ; echo errcode:$?); do
if checkbootparam 'distri'; then
DISTRI="$(getbootparam 'distri' 2>>$DEBUG)"
if [ -r "${LIVECD_PATH}"/desktop/"$DISTRI".jpg ] ; then
- [ -n "$BOOTDEBUG" ] && einfo "Debug: bootoption distri found and file ${LIVECD_PATH}/desktop/${DISTRI} present" && eend 0
# make sure the desktop.jpg file is not a symlink, so copying does not file then
[ -L /usr/share/grml/desktop.jpg ] && rm /usr/share/grml/desktop.jpg
cp "${LIVECD_PATH}"/desktop/"$DISTRI".jpg /usr/share/grml/desktop.jpg