Skip to contentSkip to conversation

Add grub-mkrescue --exclude option

PATCH In review Christian Franke 2 participants 3 messages Nov 20, 2007 – Dec 6, 2007

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Add grub-mkrescue --exclude option

This adds an option to exclude specific modules from the rescue image.

Christian

2007-11-20 Christian Franke <[email protected]>

* util/i386/pc/grub-mkrescue.in: Add option --exclude.

util/i386/pc/grub-mkrescue.in +15 -0
@@ -42,6 +42,7 @@
   -h, --help              print this message and exit
   -v, --version           print the version information and exit
   --modules=MODULES       pre-load specified modules MODULES
+  --exclude=MODULES       don't pre-load specified modules MODULES
   --pkglibdir=DIR         use images from directory DIR instead of ${pkglibdir}
   --grub-mkimage=FILE     use FILE as grub-mkimage
   --image-type=TYPE       select floppy or cdrom (default)
@@ -67,6 +68,8 @@
 	exit 0 ;;
     --modules=*)
 	modules=`echo "$option" | sed 's/--modules=//'` ;;
+    --exclude=*)
+	exclude=`echo "$option" | sed 's/--exclude=//'` ;;
     --pkglibdir=*)
 	input_dir=`echo "$option" | sed 's/--pkglibdir=//'` ;;
     --grub-mkimage=*)
@@ -103,6 +106,18 @@
   modules=`cd ${input_dir}/ && ls *.mod`
 fi
 
+if [ "x${exclude}" != "x" ] ; then
+  all_modules="${modules}"
+  modules=
+  for m in ${all_modules} ; do
+    inc=t
+    for e in ${exclude} ; do
+      [ "$e" == "$m" ] && { inc=f; break; }
+    done
+    [ $inc == t ] && modules="$modules $m"
+  done
+fi
+
 if [ "x${image_type}" = "xfloppy" ] ; then
   floppy_image=${output_image}
 else
#1 lore raw
Quoted 1 line · Christian Franke

This adds an option to exclude specific modules from the rescue image.

Do you want this because of the ata module ? Inclussion of ata.mod at this point is IMO a bug. If that's your only reason for wanting this feature, I'd rather exclude ata.mod instead (but in that case, we'd have to figure out how to allow user to include it in case she _wants_ to).

Signature · 5 lines
Robert Millan

<GPLv2> I know my rights; I want my phone call!
<DRM> What use is a phone call, if you are unable to speak?
(as seen on /.)
#2 lore raw
Quoted 10 lines · Robert Millan
Quoted 3 lines · Christian Franke

This adds an option to exclude specific modules from the rescue image.

Do you want this because of the ata module ? Inclussion of ata.mod at this point is IMO a bug. If that's your only reason for wanting this feature, I'd rather exclude ata.mod instead (but in that case, we'd have to figure out how to allow user to include it in case she _wants_ to).

The necessary exclusion of the ata.mod was actually the reason to provide this patch. But it also may be useful to track down module related problems in the future. It is more convenient to use if you want to exclude a few modules for some reason.

Christian