#!/bin/bash build() { MODULE_FILE=$TMPDIR/autodetect_modules auto_modules | grep -xEv '(ata|ide)_generic' >"$MODULE_FILE" if [[ ! -d /sys/devices ]]; then error "/sys does not appear to be mounted. Unable to use autodetection" return 1 fi if ! findmnt -uno fstype "${BASEDIR:-/}" >>"$MODULE_FILE"; then error "failed to detect root filesystem" fs_autodetect_failed=1 fi if (( UID == 0 )) || in_array 'disk' $(groups); then if [[ -x /sbin/mdadm ]]; then /sbin/mdadm -Esv /dev/[hrsv]d* /dev/{ida,cciss,ataraid,mapper}/* | sed -n 's/.*level=\([^ ]\+\) .*/\1/p' | sed 's/\/raid456/g' | sort -u >>"$MODULE_FILE" fi else error "Insufficient permission to perform autodetection for mdadm devices" raid_autodetect_failed=1 fi } help() { cat <