From: Christian Franke <Christian.Franke@t-online.de>
To: The development of GRUB 2 <grub-devel@gnu.org>
Subject: Re: [PATCH] Create floppy emulation boot CD with grub-mkimage
Date: Fri, 07 Mar 2008 22:20:25 +0100 [thread overview]
Message-ID: <47D1B199.5000703@t-online.de> (raw)
In-Reply-To: <20080303222414.GF22431@thorin>
[-- Attachment #1: Type: text/plain, Size: 1059 bytes --]
Robert Millan wrote:
> ...
>>> Uhm maybe it'd be better to mention what the emulation is for. As it is,
>>> user
>>> might wonder what is the appropiate --emulation value for
>>> --image-type=floppy,
>>> or even why --emulation=floppy doesn't produce floppy images.
>>>
>>> What do you think?
>>>
>>>
>>>
>> OK, e.g.
>>
>> . --emulation=TYPE select El Torito boot emulation type floppy
>> . or none (default) (cdrom only)
>>
>>
>> Or with the help syntax used by the grub binaries:
>>
>> . --emulation=(floppy|none) select El Torito boot emulation type (cdrom
>> only)
>> . [default=none]
>>
>
> I don't mind either way. Anyone else does?
>
>
A new version of the patch is attached.
One might decide to unify bin<>sh help syntax later.
Christian
2008-03-07 Christian Franke <franke@computer.org>
* util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
to create a floppy emulation boot CD when non emulation mode
does not work.
Enable Joliet CD filesystem extension.
[-- Attachment #2: grub2-mkrescue-emulation-3.patch --]
[-- Type: text/x-patch, Size: 2473 bytes --]
--- grub2.orig/util/i386/pc/grub-mkrescue.in 2008-02-09 14:02:56.057039500 +0100
+++ grub2/util/i386/pc/grub-mkrescue.in 2008-03-07 21:20:43.046875000 +0100
@@ -46,6 +46,8 @@ Make GRUB rescue image.
--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)
+ --emulation=TYPE select El Torito boot emulation type floppy
+ or none (default) (cdrom only)
grub-mkimage generates a bootable rescue image of the specified type.
@@ -56,6 +58,7 @@ EOF
image_type=cdrom
input_dir=${pkglibdir}
grub_mkimage=grub-mkimage
+emulation=none
# Check the arguments.
for option in "$@"; do
@@ -82,6 +85,14 @@ for option in "$@"; do
echo "Unknown image type \`$image_type'" 1>&2
exit 1 ;;
esac ;;
+ --emulation=*)
+ emulation=`echo "$option" | sed 's/--emulation=//'`
+ case "$emulation" in
+ floppy|none) ;;
+ *)
+ echo "Unknown emulation type \`$emulation'" 1>&2
+ exit 1 ;;
+ esac ;;
-*)
echo "Unrecognized option \`$option'" 1>&2
usage
@@ -113,7 +124,7 @@ if test "x$overlay" = x ; then : ; else
cp -dpR ${overlay}/* ${aux_dir}/
fi
-if [ "x${image_type}" = "xfloppy" ] ; then
+if [ "x${image_type}" = xfloppy -o "x${emulation}" = xfloppy ] ; then
# build memdisk
memdisk_img=`mktemp`
tar -C ${aux_dir} -cf ${memdisk_img} boot
@@ -125,8 +136,21 @@ if [ "x${image_type}" = "xfloppy" ] ; th
rm -f ${memdisk_img}
# build floppy image
- cat ${input_dir}/boot.img ${core_img} /dev/zero | dd bs=1024 count=1440 > $output_image
+ if [ "x${image_type}" = xcdrom ] ; then
+ floppy_dir=`mktemp -d`
+ floppy_img=${floppy_dir}/grub_floppy.img
+ else
+ floppy_img=${output_image}
+ fi
+ cat ${input_dir}/boot.img ${core_img} /dev/zero | dd bs=1024 count=1440 > ${floppy_img}
rm -f ${core_img}
+
+ if [ "x${image_type}" = xcdrom ] ; then
+ # build iso image
+ genisoimage -b grub_floppy.img \
+ -o ${output_image} -r -J ${floppy_dir}
+ rm -rf ${floppy_dir}
+ fi
else
# build core.img
core_img=`mktemp`
@@ -139,7 +163,7 @@ else
# build iso image
genisoimage -b boot/grub/grub_eltorito \
-no-emul-boot -boot-load-size 4 -boot-info-table \
- -o ${output_image} -r ${aux_dir}
+ -o ${output_image} -r -J ${aux_dir}
rm -rf ${aux_dir}
fi
next prev parent reply other threads:[~2008-03-07 21:20 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-08 18:45 [PATCH] Create floppy emulation boot CD with grub-mkimage Christian Franke
2008-02-08 19:17 ` Robert Millan
2008-02-08 22:03 ` Christian Franke
2008-02-08 22:45 ` Robert Millan
2008-02-08 23:07 ` Pavel Roskin
2008-02-08 23:10 ` Robert Millan
2008-02-08 23:17 ` Christian Franke
2008-02-08 23:35 ` Robert Millan
2008-02-09 11:56 ` Bean
2008-02-09 12:32 ` Robert Millan
2008-02-09 12:38 ` Bean
2008-02-09 16:53 ` Christian Franke
2008-02-09 17:15 ` Bean
2008-02-10 12:17 ` Christian Franke
2008-02-08 23:14 ` Robert Millan
2008-02-08 23:32 ` Christian Franke
2008-02-09 17:04 ` Christian Franke
2008-02-09 21:59 ` Robert Millan
2008-02-09 23:04 ` Pavel Roskin
2008-02-10 13:43 ` Christian Franke
2008-02-10 15:14 ` Robert Millan
2008-02-15 22:32 ` Christian Franke
2008-02-17 13:31 ` Robert Millan
2008-02-17 15:29 ` Christian Franke
2008-02-18 9:04 ` tsah marco
2008-03-01 21:05 ` Christian Franke
2008-03-03 20:46 ` Robert Millan
2008-03-03 22:10 ` Christian Franke
2008-03-03 22:24 ` Robert Millan
2008-03-07 21:20 ` Christian Franke [this message]
2008-04-13 15:13 ` Robert Millan
-- strict thread matches above, loose matches on Subject: below --
2008-03-04 2:11 Kalamatee
2008-03-04 2:12 ` Kalamatee
2008-03-04 9:22 Christian Franke
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=47D1B199.5000703@t-online.de \
--to=christian.franke@t-online.de \
--cc=grub-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.