X-Git-Url: https://git.grml.org/?a=blobdiff_plain;ds=sidebyside;f=autoconfig.functions;h=d9c04c8c3859ed6282a237072ab544d05a2975bf;hb=4ba78b2760bc211bf6d935b76a2acef70ba7e78a;hp=6e0a6b8a0e0ae82f6b30ef32c30503bd91eb1765;hpb=9adf1670d57462101cc1eeca041f1fc497688aa1;p=grml-autoconfig.git diff --git a/autoconfig.functions b/autoconfig.functions index 6e0a6b8..d9c04c8 100755 --- a/autoconfig.functions +++ b/autoconfig.functions @@ -40,6 +40,17 @@ if [ -z "$CMDLINE" ]; then CMDLINE="$(cat /proc/cmdline)" [ -d /cdrom/bootparams/ ] && CMDLINE="$CMDLINE $(cat /cdrom/bootparams/* | tr '\n' ' ')" [ -d /live/image/bootparams/ ] && CMDLINE="$CMDLINE $(cat /live/image/bootparams/* | tr '\n' ' ')" + modprobe 9p 2>/dev/null || true + if grep -q 9p /proc/filesystems ; then + local TAG="grml-parameters" + if grep -q "$TAG" /sys/bus/virtio/devices/*/mount_tag 2>/dev/null ; then + local MOUNTDIR="$(mktemp -d)" + mount -t 9p -o trans=virtio,ro "$TAG" "$MOUNTDIR" + CMDLINE="$CMDLINE $(cat "$MOUNTDIR"/* 2>/dev/null | tr '\n' ' ')" + umount "$MOUNTDIR" + rmdir "$MOUNTDIR" + fi + fi fi # }}} @@ -215,10 +226,10 @@ config_language(){ if [ -x /usr/sbin/grml-setlang ] ; then # if bootoption lang is used update /etc/default/locale accordingly if [ -n "$BOOT_LANGUAGE" ] ; then - checkgrmlsmall && /usr/sbin/grml-setlang "POSIX" || /usr/sbin/grml-setlang "$LANGUAGE" + /usr/sbin/grml-setlang "$LANGUAGE" # otherwise default to lang=en else - checkgrmlsmall && /usr/sbin/grml-setlang "POSIX" || /usr/sbin/grml-setlang "en" + /usr/sbin/grml-setlang "en" fi fi @@ -237,12 +248,8 @@ config_language(){ fi # export it now, so error messages get translated, too - if checkgrmlsmall ; then - export LANG='C' # grml-small does not provide any further locales - else - [ -r /etc/default/locale ] && . /etc/default/locale - export LANG LANGUAGE - fi + [ -r /etc/default/locale ] && . /etc/default/locale + export LANG LANGUAGE # configure keyboard layout, read in already set values first: [ -r /etc/sysconfig/keyboard ] && . /etc/sysconfig/keyboard @@ -1042,7 +1049,7 @@ if checkbootparam 'ssh' ; then SSH_PASSWD='' SSH_PASSWD="$(getbootparam 'ssh' 2>>$DEBUG)" config_userlocal - einfo "Bootoption ssh found, trying to set password for user $localuser" + einfo "Bootoption ssh found, trying to set password for root and user $localuser" [ -z "$localuser" ] && eend 1 eindent if [ -z "$SSH_PASSWD" ] ; then @@ -1071,20 +1078,21 @@ if checkbootparam 'ssh' ; then # finally check if we have a password we can use: if [ -n "$SSH_PASSWD" ] ; then # chpasswd sucks, seriously. + chpass_options="" if chpasswd --help 2>&1 | grep -q -- '-m,' ; then - echo "$localuser:$SSH_PASSWD" | chpasswd -m - else - echo "$localuser:$SSH_PASSWD" | chpasswd + chpass_options="-m" fi + echo "$localuser:$SSH_PASSWD" | chpasswd $chpass_options + echo "root:$SSH_PASSWD" | chpasswd $chpass_options fi - einfo "Starting secure shell server in background for user $localuser" + einfo "Starting secure shell server in background for root and user $localuser" /etc/init.d/rmnologin start >>$DEBUG 2>>$DEBUG /etc/init.d/ssh start >>$DEBUG 2>>$DEBUG & eend $? eindent - ewarn "Warning: please change the password for user $localuser as soon as possible!" + ewarn "Warning: please change the password for root and user $localuser as soon as possible!" eoutdent fi } @@ -1464,7 +1472,7 @@ if checkbootparam 'startx' && ! echo "$CMDLINE" | grep -q 'startx.*nostartx' ; t config_userlocal cat>|/etc/init.d/xstartup<