X-Git-Url: http://git.grml.org/?p=grml-autoconfig.git;a=blobdiff_plain;f=autoconfig.functions;h=07e09800936dc4d4c1c55a531d45f4cf65dc8b74;hp=b75f648b40327d03f2d829790b922df0cbcea1af;hb=863744b19ebd06192addb6287c47cec4f5f94b2d;hpb=f193f810048be63d821312157e5ede23910f30b4 diff --git a/autoconfig.functions b/autoconfig.functions index b75f648..07e0980 100755 --- a/autoconfig.functions +++ b/autoconfig.functions @@ -356,6 +356,11 @@ config_language(){ 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 @@ -574,11 +579,11 @@ fi # 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 " @@ -589,13 +594,9 @@ if checkbootparam 'console'; then 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"; @@ -610,20 +611,20 @@ if checkbootparam 'console'; then 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 @@ -1539,6 +1540,15 @@ if checkbootparam 'vnc' ; then /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 } # }}} @@ -1832,7 +1842,7 @@ config_netscript() { 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 @@ -2026,6 +2036,7 @@ 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/ @@ -2423,7 +2434,7 @@ config_lvm(){ # {{{ 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=""