# 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
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."
# {{{ support hardware synthesizer via speakup
config_hwspeak(){
- if checkbootparam hwspeak ; then
+ if checkbootparam speakup.synth ; then
+ einfo "Bootoption speakup.synth found."
+ eindent
+
+ module="$(getbootparam speakup.synth 2>>$DEBUG)"
+ if [ -z "$module" ] ; then
+ eerror "Sorry, no speakup module specified for bootoption speakup.synth."
+ flitewrapper "Sorry, no speakup module specified for bootoption speakup.synth."
+ else
+ einfo "Trying to load $module"
+ modprobe "speakup_${module}"
+ eend $?
+ fi
+
+ if [ -d /proc/speakup/ ] || grep -q speakup /proc/modules ; then
+ einfo "Kernel should support speakup now." ; eend 0
+ flitewrapper "Kernel should support speakup now."
+ else
+ eerror "Kernel or hardware do not seem to support speakup. Skipping hwspeak." ; eend 1
+ flitewrapper "Kernel or hardware do not seem to support speakup. Sorry."
+ fi
+
+ eoutdent
+
+ # hwspeak:
+ elif checkbootparam hwspeak ; then
einfo "Bootoption hwspeak found."
if [ ! -d /proc/speakup/ ] && ! grep -q speakup /proc/modules ; then
- ewarn" Kernel does not support hardware speakup - trying to load kernel modules:" ; eend 0
+ ewarn "Kernel does not support hardware speakup - trying to load kernel modules:" ; eend 0
eindent
- for module in $(find "/lib/modules/${KERNEL}/extra/speakup/" -name \*.ko | \
- sed 's#.*speakup/##g ; s#.ko$##g' | \
- grep -ve speakup_soft -ve speakup_dummy | sort -u) ; do
- einfo "Trying to load $module"
- modprobe $module
- eend $?
- done
+ if ! [ -d "/lib/modules/${KERNEL}/extra/speakup/" ] ; then
+ eerror "Kernel does not provide speakup modules, sorry." ; eend 1
+ else
+ for module in $(find "/lib/modules/${KERNEL}/extra/speakup/" -name \*.ko | \
+ sed 's#.*speakup/##g ; s#.ko$##g' | \
+ grep -ve speakup_soft -ve speakup_dummy | sort -u) ; do
+ einfo "Trying to load $module"
+ modprobe $module
+ eend $?
+ done
+ fi
eoutdent
fi
# 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.'
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=''
else
einfo "Could not mount $MOUNTDEVICE to /mnt/grml - sorry." ; eend 1
fi # mount $MOUNTDEVICE
+
grep -q '/mnt/grml' /proc/mounts && umount /mnt/grml
}
# 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