if [ -r /etc/default/locale ] ; then
if grep -q "LANG=.*UTF" /etc/default/locale ; then
einfo "Setting up unicode environment."
- unicode_start 2>>$DEBUG ; eend $?
+ unicode_start >>$DEBUG 2>&1 ; eend $?
fi
fi
fi
# we have to set up all consoles, therefore loop it over all ttys:
- NUM_CONSOLES=$(fgconsole --next-available)
- [ -n "$NUM_CONSOLES" ] && NUM_CONSOLES=$(expr ${NUM_CONSOLES} - 1)
- [ ${NUM_CONSOLES} -eq 1 ] && NUM_CONSOLES=6
- CUR_CONSOLE=$(fgconsole)
-
+ NUM_CONSOLES=$(fgconsole --next-available 2>/dev/null)
+ if [ -n "$NUM_CONSOLES" ] ; then
+ NUM_CONSOLES=$(expr ${NUM_CONSOLES} - 1)
+ [ ${NUM_CONSOLES} -eq 1 ] && NUM_CONSOLES=6
+ fi
+ CUR_CONSOLE=$(fgconsole 2>/dev/null)
if [ -n "$CHARMAP" ] ; then
einfo "Running consolechars for ${CHARMAP}"
+ RC=0
for vc in $(seq 0 ${NUM_CONSOLES}) ; do
consolechars --tty=/dev/tty${vc} -m ${CHARMAP} ; RC=$?
done
else
if [ -n "$CONSOLEFONT" ] ; then
einfo "Running consolechars using ${CONSOLEFONT}"
+ RC=0
for vc in $(seq 0 ${NUM_CONSOLES}) ; do
consolechars --tty=/dev/tty${vc} -f $CONSOLEFONT ; RC=$?
done
einfo "Loading modules ${MODULE}"
modprobe "$MODULE" >>$DEBUG || modprobe "$MODULE_FALLBACK" >>$DEBUG
RC=$?
- if [[ $RC == 0 ]]; then
+ if [[ "$RC" == 0 ]]; then
eend 0
else
SKIP_CPU_GOVERNOR=1
if [ -z "$SKIP_CPU_GOVERNOR" ] ; then
einfo "Loading cpufreq_ondemand, setting ondemand governor"
+ RC=0
if modprobe cpufreq_ondemand ; RC=$? ; then
for file in $(find /sys/devices/system/cpu/ -name scaling_governor 2>/dev/null) ; do
echo ondemand > $file
}
# }}}
+# {{{ configure root password
+config_rootpw(){
+if checkbootparam 'rootpw' ; then
+ ROOT_PASSWD=''
+ ROOT_PASSWD="$(getbootparam 'rootpw' 2>>$DEBUG)"
+ einfo "Bootoption rootpw found, trying to set password for user root."
+
+ if [ -z "$ROOT_PASSWD" ] ; then
+ ewarn "No password given for user root. Please set one with rootpw=<pw>" ; eend 0
+ else
+ # chpasswd sucks, seriously.
+ if chpasswd --help 2>&1 | grep -q -- '-m,' ; then
+ echo "root:$ROOT_PASSWD" | chpasswd -m
+ else
+ echo "root:$ROOT_PASSWD" | chpasswd
+ fi
+ fi
+
+ eindent
+ ewarn 'Warning: please change the password for user root as soon as possible!'
+ eoutdent
+fi
+}
+# }}}
+
# {{{ autostart of x11vnc
config_vnc(){
else
einfo "Window manager ${WHITE}${WINDOWMANAGER}${NORMAL} found as bootoption." && eend 0
fi
- einfo "Changing to runlevel 5 for starting grml-x ${WINDOWMANAGER}. Just exit X windows system to get full featured consoles."
+ einfo "Setting up and invoking grml-x ${WINDOWMANAGER}. Just exit X windows system to get full featured consoles."
config_userfstab || fstabuser='grml'
cat>|/etc/init.d/xstartup<<EOF
#!/bin/sh
-# su - $fstabuser -c 'grml-x "$WINDOWMANAGER"'
-sudo -u $fstabuser -i /usr/bin/grml-x $WINDOWMANAGER >>$DEBUG
+su $fstabuser -c "/usr/bin/grml-x $WINDOWMANAGER"
EOF
chmod 755 /etc/init.d/xstartup
# adjust inittab for xstartup
if grep -q '^6:' /etc/inittab ; then
- sed -i 's|^6:.*|6:2345:respawn:/bin/zsh --login -c "/etc/init.d/xstartup ; /bin/zsh"|' /etc/inittab
+ sed -i 's|^6:.*|6:2345:respawn:/bin/zsh --login -c "/etc/init.d/xstartup ; /usr/bin/zsh-login" >/dev/tty6 2>\&1 </dev/tty6|' /etc/inittab
else # just append tty6 to inittab if no definition is present:
- echo '6:2345:respawn:/bin/zsh --login -c "/etc/init.d/xstartup ; /bin/zsh"' >> /etc/inittab
+ echo '6:2345:respawn:/bin/zsh --login -c "/etc/init.d/xstartup ; /usr/bin/zsh-login" >/dev/tty6 2>&1 < /dev/tty6' >> /etc/inittab
fi
/sbin/telinit q ; eend $?