diff -urN mkinitrd-3.0.3.orig/mkinitrd mkinitrd-3.0.3/mkinitrd --- mkinitrd-3.0.3.orig/mkinitrd 2007-03-29 19:51:08 +0300 +++ mkinitrd-3.0.3/mkinitrd 2007-04-02 21:59:27 +0300 @@ -1464,7 +1464,7 @@ --type TYPE select image type (initramfs, romfs, ext2). --fstab FILENAME use FILENAME instead of /etc/fstab. --preload MODULENAME load MODULENAME before all found automatically. ---with MODULENAME load MODULENAME after all found automatically. +--with MODULENAME|@listfile load MODULENAME after all found automatically. --with-raid enable software RAID (md) support. --omit-scsi-modules do not load any SCSI modules. --omit-ide-modules do not load any IDE modules. @@ -1518,7 +1518,18 @@ ;; --after|--with) shift - POSTLOAD_MODNAMES="$POSTLOAD_MODNAMES $1" + if [ "${1:0:1}" = "@" ]; then + LISTFILE="${1:1}" + if [ -d "/lib/modules/$KERNEL/$LISTFILE" ]; then + for m in `ls "/lib/modules/$KERNEL/$LISTFILE"/*.ko` ; do + POSTLOAD_MODNAMES="$POSTLOAD_MODNAMES "`basename "$m" .ko` + done + else + echo "warning: file $LISTFILE not exist!" >&2 + fi + else + POSTLOAD_MODNAMES="$POSTLOAD_MODNAMES $1" + fi shift ;; --strict) diff -urN mkinitrd-3.0.3.orig/mkinitrd.8 mkinitrd-3.0.3/mkinitrd.8 --- mkinitrd-3.0.3.orig/mkinitrd.8 2007-03-29 19:51:08 +0300 +++ mkinitrd-3.0.3/mkinitrd.8 2007-04-02 21:59:59 +0300 @@ -18,7 +18,7 @@ .RB [ \-\-preload .IR modulename ] .RB [ \-\-with -.IR modulename ] +.IR modulename|@listfile ] .RB [ \-\-add .IR initramfs_filename = filename ] .RB [ \-\-omit\-scsi\-modules ]