# vim: set ft=sh: install () { MODULE_FILE="$(mktemp /tmp/initcpio_modules.XXXXXX)" #blegh, we'll let /tmp clean itself up AUTODETECT="$(auto_modules -e '/scsi/' -e '/block' -e '/fusion/' \ -e '/usb/' -e '/ide/' -e '/ieee1394/' -e '/cdrom' \ -e '/net/' -e '/pcmcia')" #Filesystem detection, use sysfs instead of /proc for blk in $(ls /sys/block/*/*/dev | cut -d/ -f5); do eval $(/usr/lib/klibc/bin/fstype < /dev/${blk}) for mod in $(find "${MODULEDIR}" -type f -name "${FSTYPE}.ko"); do if [ "x${mod}" != "x" ]; then AUTODETECT="${AUTODETECT} ${mod}" fi done done if [ -e /sbin/mdadm ]; then if [ $UID -eq 0 -o "$(groups | grep disk)" != "" ]; then AUTODETECT="$AUTODETECT $(mdadm -E -s /dev/hd* /dev/sd* /dev/rd/* /dev/ida/* /dev/cciss/* /dev/ataraid/* \ | awk -Flevel= '{print $2}' | awk '{print $1}')" else err "User does not have proper permissions to read superblocks, raid modules are not detected" fi fi for m in $AUTODETECT; do modname="$(basename ${m%%\.ko})" grep "${modname}" "${MODULE_FILE}" >/dev/null 2>&1 && continue case "${m}" in #*/ieee1394/*) echo -e "sbp2\nsd_mod\nsr_mod" >> "${MODULE_FILE}";; *ext3*) echo "jbd" >> "${MODULE_FILE}" ;; *afs*)echo "rxrpc" >> "${MODULE_FILE}" ;; *cramfs*) echo "zlib_inflate" >> "${MODULE_FILE}" ;; *isofs*) echo "zlib_inflate" >> "${MODULE_FILE}" ;; *msdos*) echo "fat" >> "${MODULE_FILE}" ;; *vfat*)echo -e "fat\nnls_cp437" >> "${MODULE_FILE}" ;; *ocfs2*) echo -e "ocfs2_dlm\njbd\nocfs2_nodemanager\nconfigfs" >> "${MODULE_FILE}" ;; esac echo "${modname}" >> "${MODULE_FILE}" done BINARIES="" FILES="" SCRIPT="" } help () { cat <