config_hostname(){
if checkbootparam 'hostname' ; then
HOSTNAME="$(getbootparam 'hostname' 2>>$DEBUG)"
+ if [ -z "$HOSTNAME" ] && [ -x /usr/bin/random-hostname ] ; then
+ einfo "Generating random hostname as no hostname was specified."
+ HOSTNAME="$(/usr/bin/random-hostname)"
+ eend $?
+ fi
einfo "Setting hostname to $HOSTNAME as requested."
grml-hostname $HOSTNAME >>$DEBUG ; RC=$?
[ "$RC" = "0" ] && hostname $HOSTNAME
# activate serial console {{{
config_console(){
-local line
-local ws
-ws=' '
-
if checkbootparam 'console'; then
+ local line
+ local ws
+ ws=' '
+
einfo "Bootoption for serial console detected:"
line="$CMDLINE x "
case "$this" in
console=*)
local serial="$this"
- local device="${this%%,*}"
- local device="${device##*=}"
- if ! echo $serial | grep -q ttyS ; then
- ewarn "Warning: console=ttyS... not specified as last console= option. Falling back to defaults."
- eend 0
- local speed="9600"
- else
+ local device="${this%%,*}"
+ local device="${device##*=}"
+ if echo $serial | grep -q ttyS ; then
local option="${serial##*,}"
# default (works for kvm & CO):
local speed="115200,57600,38400,19200,9600,4800,2400,1200";
2400*) speed=2400 ;;
1200*) speed=1200 ;;
esac
+ 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
+ eend $?
+ telinitq="1"
+ eoutdent
fi
- eindent
- einfo "Activting console login on device ${device} with speed ${speed}."
- local number="${device#ttyS}"
- local inittab=../inittab
- sed -i "/#grmlserial#/iT$number:23:respawn:/bin/bash -c \"/sbin/getty -L $device -l /usr/bin/zsh-login $speed vt100 || sleep 30\"" $inittab ; eend $?
- telinitq="1"
- eoutdent
;;
esac
this="${line%%[$ws]*}"
line="${line#*[$ws]}"
- done
-
+ done
+
if [ -n "$telinitq" ]; then
/sbin/telinit q
fi
/bin/chown -R "$USER": "$VNCDIR"
fi
fi
+ if checkbootparam 'vnc_connect' ; then
+ VNC_CONNECT=''
+ VNC_CONNECT="$(getbootparam 'vnc_connect' 2>>$DEBUG)"
+ einfo "Bootoption vnc_connect found, will start vnc with connect to $VNC_CONNECT."
+ #store the options in a file
+ VNCDIR="/home/${USER}/.vnc"
+ [ -d "$VNCDIR" ] || mkdir "$VNCDIR"
+ echo " --connect $VNC_CONNECT " >> $VNCDIR/options
+ fi
fi
}
# }}}
if get_remote_file ${CONFIG} ${SCRIPTFILE} ; then
chmod +x ${SCRIPTFILE}
- einfo "Running ${WHITE}${SCRIPTFILE}${NORMAL}:" && ${SCRIPTFILE} ; eend $?
+ einfo "Running ${WHITE}${SCRIPTFILE}${NORMAL}:" && NETSCRIPT=${CONFIG} ${SCRIPTFILE} ; eend $?
fi
fi
# {{{ /cdrom/.*-options
config_debs(){
if checkbootparam 'debs' ; then
+ iszsh && setopt localoptions shwordsplit
DEBS="$(getbootparam 'debs' 2>>$DEBUG)"
if ! echo $DEBS | grep -q '/'; then
# backwards compatibility: if no path is given get debs from debs/
# {{{ debnet: setup network based on an existing one found on a partition
config_debnet(){
if checkbootparam 'debnet' ; then
- iszsh && setopt shwordsplit
+ iszsh && setopt localoptions shwordsplit
DEVICES="$(< /proc/partitions tail -n +3 | awk '{print "/dev/"$4}' | tr "\n" " ")"
DEVICES="$DEVICES $(ls /dev/mapper/*)"
FOUND_DEBNET=""