X-Git-Url: http://git.grml.org/?p=grml-autoconfig.git;a=blobdiff_plain;f=autoconfig.functions;h=58eed904fa148092740f6fb532bea702aa2731a1;hp=af4ce8aa8d2d15bdaaa0f0e67031a9f5f9158cdb;hb=8fea72f68e226f2ade00192c510c3d710b48510e;hpb=3eafea51053ec606924089a71d9975004a774528 diff --git a/autoconfig.functions b/autoconfig.functions index af4ce8a..58eed90 100755 --- a/autoconfig.functions +++ b/autoconfig.functions @@ -541,8 +541,8 @@ eoutdent # skip startup of w3m {{{ config_fast(){ -if checkbootparam "fast"; then - ewarn "Bootoption fast detected. Skipping startup of w3m." +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 /sbin/telinit q ; eend $? fi @@ -739,13 +739,14 @@ if checkbootparam "blacklist" ; then if [ -z "$INSTALLED" ]; then einfo "Bootoption blacklist found." BLACK="$(getbootparam 'blacklist' 2>>$DEBUG)" + BLACKLIST_FILE='/etc/modprobe.d/grml.conf' if [ -n "$BLACK" ] ; then for module in $(echo ${BLACK//,/ }) ; do - einfo "Blacklisting module ${module} via /etc/modprobe.d/grml." - echo "# begin entry generated by config_blacklist of grml-autoconfig" >> /etc/modprobe.d/grml - echo "blacklist $module" >> /etc/modprobe.d/grml - echo "alias $module off" >> /etc/modprobe.d/grml - echo "# end entry generated by config_blacklist of grml-autoconfig" >> /etc/modprobe.d/grml ; eend $? + einfo "Blacklisting module ${module} via ${BLACKLIST_FILE}." + echo "# begin entry generated by config_blacklist of grml-autoconfig" >> "$BLACKLIST_FILE" + echo "blacklist $module" >> "$BLACKLIST_FILE" + echo "alias $module off" >> "$BLACKLIST_FILE" + echo "# end entry generated by config_blacklist of grml-autoconfig" >> "$BLACKLIST_FILE" ; eend $? done else eerror "No given module for blacklist found. Blacklisting will not work therefore." @@ -1464,7 +1465,12 @@ if checkbootparam ssh ; then # finally check if we have a password we can use: if [ -n "$SSH_PASSWD" ] ; then - echo "grml:$SSH_PASSWD" | chpasswd -m + # chpasswd sucks, seriously. + if chpasswd --help 2>&1 | grep -q -- '-m,' ; then + echo "grml:$SSH_PASSWD" | chpasswd -m + else + echo "grml:$SSH_PASSWD" | chpasswd + fi fi einfo 'Starting secure shell server in background.' @@ -1924,17 +1930,20 @@ if [[ $RC == 0 ]]; then CONFIG="$(/bin/ls -1d /mnt/grml/[Cc][Oo][Nn][Ff][Ii][Gg].[Tt][Bb][Zz] 2>>$DEBUG)" if checkbootparam config ; then FILENAME="$(getbootparam 'config' 2>>$DEBUG)" - if [ -e /mnt/grml/${FILENAME} ] ; then + if [ -e /mnt/grml/"${FILENAME}" ] ; then einfo "Using /mnt/grml/$FILENAME instead of config.tbz" - CONFIG="/mnt/grml/$FILENAME" + CONFIG="/mnt/grml/${FILENAME}" fi + else + [ -n "$CONFIG" ] && FILENAME="$(basename $CONFIG)" || FILENAME="config.tbz" fi + if [ -n "$CONFIG" ]; then einfo "Found file ${WHITE}${CONFIG}${NORMAL} - trying to extract it." cd / unp $CONFIG $EXTRACTOPTIONS ; eend $? else - ewarn "Sorry, could not find file $FILENAME on device $MOUNTDEVICE $MESSAGE label GRMLCFG." ; eend 1 + ewarn "Sorry, could not find file ${FILENAME} on device ${MOUNTDEVICE} ${MESSAGE}." ; eend 1 fi SCRIPT='' @@ -1947,6 +1956,7 @@ if [[ $RC == 0 ]]; then else einfo "Could not mount $MOUNTDEVICE to /mnt/grml - sorry." ; eend 1 fi # mount $MOUNTDEVICE + grep -q '/mnt/grml' /proc/mounts && umount /mnt/grml } @@ -1961,7 +1971,6 @@ else # We do need the following fix so floppy disk is available to blkid in any case :-/ if [ -r /dev/fd0 ] ; then einfo "Floppy device detected. Trying to access floppy disk." - # dd if=/dev/fd0 of=/dev/null bs=512 count=1 1>>$DEBUG 2>&1 if timeout 4 dd if=/dev/fd0 of=/dev/null bs=512 count=1 1>>$DEBUG 2>&1 ; then blkid /dev/fd0 1>>$DEBUG 2>&1 fi