Hi,
attached is an updated patch to summarize my
current proposal for grub-mkrescue.
My reply to mails of Vladimir and Seth seems
still stuck in eggs.gnu.org. (At least that
was the culprit last time.)
The current proposal follows Vladimir's idea:
> I'm thinking to allow passing arbitrary options to xorriso by just
> putting it on command line.
It would give the user control over option
-no-pad (saves 300 kB) and allow to switch from
mkisofs emulation to the native xorriso command
set.
-----------------------------------------------
New ponderings:
-----------------------------------------------
The following statement in the proposed help text
is due to the way how extra arguments are handled
via variable $source:
"Be aware that source paths must be single words.
Quotation marks will not work."
If grub-mkrescue options would be prescribed to
precede any source paths or xorriso options, then
we could use a while loop, shift and "$@",
rather than a for loop and ${source}.
while test -n "$1"; do
case "$1" in
...
--modules=*)
modules=`echo "$1" | sed 's/--modules=//'`
shift
;;
...
*)
break ;;
esac
done
...
${xorriso} ... "$@"
This would be safe for nearly all filenames.
(Newlines are still not allowed then.)
Question is whether support for apple-ish file
names is worth a change in the rules for
grub-mkrescue.
Have a nice day :)
Thomas
--
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
--- grub-mkrescue.in 2010-05-18 10:02:06.000000000 +0200
+++ grub-mkrescue.in.ts2 2010-05-20 09:34:56.000000000 +0200
@@ -38,6 +38,8 @@ efi32_dir=${libdir}/$(echo ${PACKAGE_TAR
efi64_dir=${libdir}/$(echo ${PACKAGE_TARNAME} | sed ${transform})/x86_64-efi
rom_directory=
+xorriso=xorriso
+
# Usage: usage
# Print the usage.
usage () {
@@ -50,10 +52,15 @@ Make GRUB rescue image.
--output=FILE save output in FILE [required]
--modules=MODULES pre-load specified modules MODULES
--rom-directory=DIR save rom images in DIR [optional]
+ --xorriso=PROGFILE use PROGFILE as xorriso program [optional]
-$0 generates a bootable rescue image with specified source files or directories.
+$0 generates a bootable rescue image with specified source files, source
+directories, or mkisofs options listed by: xorriso -as mkisofs -help
+Option -- switches to native xorriso command mode.
+Be aware that source paths must be single words. Quotation marks will not work.
Report bugs to <[email protected]>.
+Mail xorriso support requests to <[email protected]>.
EOF
}
@@ -78,11 +85,8 @@ for option in "$@"; do
PATH=${override_dir}:$PATH
export PATH
;;
- -*)
- echo "Unrecognized option \`$option'" 1>&2
- usage
- exit 1
- ;;
+ --xorriso=*)
+ xorriso=`echo "${option}/" | sed 's/--xorriso=//'` ;;
*)
source="${source} ${option}" ;;
esac
@@ -254,7 +258,12 @@ if [ -e "${iso9660_dir}/boot/coreboot.el
fi
# build iso image
-xorriso -pathspecs on -as mkisofs ${grub_mkisofs_arguments} --protective-msdos-label -o ${output_image} -r ${iso9660_dir} ${source}
+"${xorriso}" -report_about HINT -as mkisofs -graft-points \
+ ${grub_mkisofs_arguments} --protective-msdos-label -r \
+ --sort-weight 0 / --sort-weight 1 /boot \
+ -o "${output_image}" \
+ ${iso9660_dir} ${source}
+
rm -rf ${iso9660_dir}
rm -f ${embed_img}
_______________________________________________
Grub-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/grub-devel