autoconfig.functions: make sure we can access /proc/cmdline
[grml-autoconfig.git] / autoconfig.functions
index e69b041..03e4aac 100755 (executable)
@@ -89,6 +89,7 @@ mount_sys(){
 # }}}
 
 # {{{ Read in boot parameters
+[ -f /proc/version ] || mount_proc # make sure we can access /proc/cmdline when sourcing this file too
 CMDLINE="$(cat /proc/cmdline)"
 [ -d /cdrom/bootparams/ ] && CMDLINE="$CMDLINE $(cat /cdrom/bootparams/* | tr '\n' ' ')"
 # }}}
@@ -897,7 +898,7 @@ check_partitions 1>/dev/null 2>&1 # avoid output "check_partitions:3: read-only
 # }}}
 
 # {{{ Enable DMA for all IDE drives now if not disabled
-# Notice: Already done by linuxrc, maybe not on hd-installations
+# Notice: Already done by linuxrc, but make sure it's done also on harddisk-installed systems
 config_dma(){
 if checkbootparam "nodma"; then
   ewarn "Skipping DMA accelleration as requested on boot commandline." ; eend 0
@@ -920,9 +921,9 @@ fi
 # {{{ Start creating /etc/fstab with HD partitions and USB SCSI devices now
 config_fstab(){
 
-NOSWAP=""
-if checkbootparam "noswap" -o checkbootparam "forensic" ; then
-   NOSWAP="yes"
+NOSWAP="yes" # we do not use swap by default!
+if checkbootparam "swap" -o checkbootparam "anyswap" ; then
+   NOSWAP=''
 fi
 
 if checkbootparam "nofstab" -o checkbootparam "forensic" ; then
@@ -943,8 +944,8 @@ else
   fi
 fi
 # Scan for swap, config, homedir
-if [ -z "$NOSWAP" -o -z "$INSTALLED" ]; then
-  einfo "Checking for swap partition(s)."
+if [ -z "$NOSWAP" ]; then
+   einfo "Searching for swap partition(s) as requested."
 fi
 GRML_IMG=""
 GRML_SWP=""
@@ -1897,10 +1898,12 @@ config_swraid(){
        eerror "mdadm not available, can not execute it." ; eend 1
     else
 
+       # if ! egrep -qv '^(MAILADDR.*|#.*|)$' /etc/mdadm/mdadm.conf 2>>$DEBUG ; then
+       # find out whether we have a valid configuration file already
        if ! grep -q ARRAY /etc/mdadm/mdadm.conf 2>>$DEBUG ; then
          einfo "Creating /etc/mdadm/mdadm.conf"
          [ -r /etc/mdadm/mdadm.conf ] && mv /etc/mdadm/mdadm.conf /etc/mdadm/mdadm.conf.old
-         /usr/share/mdadm/mkconf > /etc/mdadm/mdadm.conf ; eend $?
+         MDADM_MAILADDR='root' /usr/share/mdadm/mkconf > /etc/mdadm/mdadm.conf ; eend $?
        else
          ewarn "/etc/mdadm/mdadm.conf looks like a configured mdadm setup, will not touch it." ; eend 0
        fi