diff -urN mkinitrd-3.0.4.orig/mkinitrd mkinitrd-3.0.4/mkinitrd --- mkinitrd-3.0.4.orig/mkinitrd 2007-06-01 15:39:38 +0300 +++ mkinitrd-3.0.4/mkinitrd 2007-08-02 18:10:12 +0300 @@ -1261,7 +1261,7 @@ fi local m - for m in $MODULES; do + for m in $MODULES $NOLOAD_MODULES; do Install "$m" "$MNTDIR/$m" || Fatal "Failed to install $m module." m="$MNTDIR/$m" @@ -1465,7 +1465,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 add MODULENAME into initrd image. --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. @@ -1519,9 +1519,20 @@ ;; --after|--with) shift - POSTLOAD_MODNAMES="$POSTLOAD_MODNAMES $1" - shift - ;; + LISTFILE=`echo "$1" | sed 's/^@//'` + if [ "$1" != "$LISTFILE" ]; then + if [ -f "$LISTFILE" ]; then + for m in `grep -v '^[[:blank:]]*#' "$LISTFILE"` ; do + POSTLOAD_MODNAMES="$NOLOAD_MODNAMES $m" + done + else + echo "warning: file $LISTFILE not exist!" >&2 + fi + else + POSTLOAD_MODNAMES="$NOLOAD_MODNAMES $1" + fi + shift + ;; --strict) strict=1 shift @@ -1674,16 +1685,19 @@ FindLoopModules +SAVE_MODULES=$MODULES FindModules $POSTLOAD_MODNAMES +NOLOAD_MODULES=$MODULES +MODULES=$SAVE_MODULES ### End module lookup. -if [ -n "$ifneeded" -a -z "$MODULES" ]; then +if [ -n "$ifneeded" -a -z "$MODULES" -a -z "$NOLOAD_MODULES" ]; then Verbose "No modules are needed - not building initrd image." exit 0 fi -Verbose "Using modules: $MODULES" +Verbose "Using modules: $MODULES $NOLOAD_MODULES" PrepareBootSplashData diff -urN mkinitrd-3.0.4.orig/mkinitrd.8 mkinitrd-3.0.4/mkinitrd.8 --- mkinitrd-3.0.4.orig/mkinitrd.8 2007-06-01 15:39:38 +0300 +++ mkinitrd-3.0.4/mkinitrd.8 2007-08-02 18:09:14 +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 ] @@ -101,12 +101,13 @@ . .TP .BI \-\-with= module -Load the modules +Add the modules .I module -in the initial ramdisk image. -The module gets loaded after any SCSI modules which are +into the initial ramdisk image. +The module may gets loaded after any SCSI modules which are specified in -.IR /etc/modules.conf . +.IR /etc/modules.conf with +.IR udevd . This option may be used as many times as necessary. . .TP