Merge lp:~dannf/debian-cd/lp1692876 into lp:~ubuntu-cdimage/debian-cd/ubun3
- lp1692876
- Merge into ubun3
Status: | Merged |
---|---|
Merged at revision: | 1978 |
Proposed branch: | lp:~dannf/debian-cd/lp1692876 |
Merge into: | lp:~ubuntu-cdimage/debian-cd/ubun3 |
Diff against target: |
87 lines (+36/-8) 4 files modified
tools/boot/artful/boot-arm64 (+9/-2) tools/boot/xenial/boot-arm64 (+9/-2) tools/boot/yakkety/boot-arm64 (+9/-2) tools/boot/zesty/boot-arm64 (+9/-2) |
To merge this branch: | bzr merge lp:~dannf/debian-cd/lp1692876 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
dann frazier (community) | Needs Resubmitting | ||
Ubuntu CD Image Team | Pending | ||
Review via email: mp+331671@code.launchpad.net |
Commit message
Description of the change
Adam Conrad (adconrad) wrote : | # |
Adam Conrad (adconrad) wrote : | # |
Note that '-e' and '--efi-boot' are subtly different (and this revert flips back to the former), quoting the manpage:
For EFI bootable GRUB boot images use --efi-boot. It performs -boot_image
grub efi_path= surrounded by two -boot_image "any" "next". Alternative option -e
from Fedora genisoimage sets bin_path and platform_id for EFI, but performs no
"next".
I'm not sure which is more "correct" for arm64 here.
dann frazier (dannf) wrote : | # |
OK - I'll go ahead and merge as-is, and I'll add a card for cleaning up -no-emul-boot and investigating -e vs. --efi-boot on arm64.
dann frazier (dannf) wrote : | # |
oh, nm - I don't have access to this repo, so up to you to merge I guess :)
Thomas Schmitt (scdbackup) wrote : | # |
Hi,
i am the author of xorriso.
Looking at your patch and
http://
i must say that the options
no-emul-boot -boot-load-size 4 -boot-info-table
before -eltorito-alt-boot do not get into effect. They seem to be
remainings of a -b boot image for x86 BIOS.
xorrisofs option
--efi-boot ...path...
is equivalent to
-eltorito-
(The last -eltorito-alt-boot does not get into effect because no further
El Torito boot image defienition follows.)
But this is not the decisive trick to get the ISO bootable from USB stick.
You need to mark the El Torito EFI boot image as EFI system partition in
either a MBR partition table or in a GPT.
Debian is a bit wasteful by having two copies of the boot image.
Like:
-nopad \
-append_partition 2 0xef ...path.
-c /boot.catalog \
-e /boot/grub/efi.img \
-no-emul-boot
The disk file ...path.
as ./boot/
/sbin/fdisk -l then reports
Device Boot Start End Sectors Size Id Type
test.iso1 0 329287 329288 160.8M 83 Linux
test.iso2 329288 331335 2048 1M ef EFI (FAT-12/16/32)
With a sufficiently young xorriso (>= 1.4.4) one can avoid the waste by
pointing the El Torito boot catalog to the appended partition by a
somewhat cryptic string instead of the data file path in the ISO:
-nopad \
-append_partition 2 0xef ...path.
-c /boot.catalog \
-e --interval:
In this case, the file efi.img should not be in the directory trees which
provide the data files for the ISO. One would save a MB:
Device Boot Start End Sectors Size Id Type
test.iso1 0 329055 329056 160.7M 83 Linux
test.iso2 329056 331103 2048 1M ef EFI (FAT-12/16/32)
I would advise to invest the savings into additional xorriso option
-partition_offset 16 \
which not only will yield a more conventional start of partition 1
Device Boot Start End Sectors Size Id Type
test.iso1 64 332111 332648 162.4M cd unknown
test.iso2 332712 334759 2048 1M ef EFI (FAT-12/16/32)
but also will enable xorriso >= 1.4.8 to let the ISO superblock of
the device claim the range up to the end of partition 2.
So commands like "isosize" will be in sync with the image file size.
$ expr $(/sbin/isosize test.iso) / 512
334760
xorriso-1.4.8 will be in Debian "testing" next week. It is already
now available as GNU xorriso
http://
The option -partition_offset 16 causes two superblocks. One for the
overall device image (/dev/sdX or /dev/srN) and one for the first
partition (/dev/sdX1). The partition superblock leads to a second
directory tree. Both trees point to the same data file content blocks
by the same paths. So /dev/srN, /dev/sdX, and /dev/sdX1 are mountable.
Have a nice day :)
Thomas
Thomas Schmitt (scdbackup) wrote : | # |
Hi,
i made a significant typo:
It's
-no-pad \
not
-nopad \
Also i showed the wrong fdisk output for
-e --interval:
without -partition_offset 16. The first partition is actually smaller:
Device Boot Start End Sectors Size Id Type
test.iso1 0 328455 328456 160.4M 83 Linux
test.iso2 328456 330503 2048 1M ef EFI (FAT-12/16/32)
(Base in all tests was debian-
Have a nice day :)
Thomas
Thomas Schmitt (scdbackup) wrote : | # |
Hi,
i also forgot to write option
-no-emul-boot
after
-e --interval:
(The default for El Tortio images is floppy emulation. Not good for EFI.)
-------
Best is i show my tests as complete commands.
The superuser mounts the ISO as substitute for Debian's preparations:
mount -o loop debian-
The normal user fetches the EFI boot image file for use with the tests:
cp /mnt/iso/
Debian's way is:
xorriso -as mkisofs \
-no-pad -J -o test.iso \
-append_
-c /boot.catalog \
-e /boot/grub/efi.img \
/mnt/iso
Avoiding the duplicate EFI System Partition image:
xorriso -as mkisofs \
-no-pad -J -o test.iso \
-append_
-c /boot.catalog \
-e --interval:
/mnt/iso \
To demonstrate that now there is no need for having the image file as data
file in the ISO filesystem, i leave -as mkisofs emulation and perform a
xorriso command to remove efi.img from the ISO before it gets produced:
-- \
-rm /boot/grub/efi.img --
My personal favorite is:
xorriso -as mkisofs \
-no-pad -J -o test.iso \
-partition
-append_
-c /boot.catalog \
-e --interval:
/mnt/iso
I ran the last one also with
mount -o loop ubuntu-
Its result inspected with fdisk:
Device Boot Start End Sectors Size Id Type
test.iso1 64 1291551 1291488 630.6M cd unknown
test.iso2 1291552 1292447 896 448K ef EFI (FAT-12/16/32)
(It's useless to test with qemu+OVMF. OVMF boots via El Torito from hard disk
and via partition table from CD-ROM.)
Have a nice day :)
Thomas
dann frazier (dannf) wrote : | # |
@scdbackup: Thanks for the detailed explanation! I've pushed a new branch here which tries to evolve our code w/ your recommendations, and it seems to work for me:
https:/
(I'm not sure if there's a way to force push that over this branch so that the MP comments here remain associated)
It's a series of commits that tries to explain the rationale behind each change - would you mind taking a look to see that I've accurately understood?
Two things I did not (yet) include are the change from -efi-boot to -e and the addition of -no-pad. I'm not sure I understand the difference the former makes in our use case. The latter seems to be for images that are not intended to be burned, while this one certainly could be. Is there a reason that it is no longer relevant?
Thomas Schmitt (scdbackup) wrote : | # |
Hi,
> https:/
> would you mind taking a look to see that I've accurately understood?
1974: Ok.
It removes the BIOS options which would get wiped away by the
subsequent -eltorito-alt-boot (and then again by the built-in
-
1975: Ok.
The still surplus -eltorito-alt-boot is gone.
Here you created the capability to boot from USB stick.
The option -no-emul-boot is still (harmlessly) surplus, because
of the implicit -eltorito-alt-boot at the end of --efi-boot.
So -no-emul-boot, which would be necessary with -e, has no no
boot image to apply to.
1976: Ok.
1977: Ok.
(Now get xorriso-1.4.8 to get its beneficial ISO size claim which
protects the EFI partition from mishaps by established procedures
which rely on /sbin/isosize being equal to image file size.)
> Two things I did not (yet) include are the change from -efi-boot to -e
There is no hard need to do so. If you stay with --efi-boot, then you
should remove the -no-emul-boot option.
If you switch to -e, then the -no-emul-boot will be necessary.
> and the addition of -no-pad.
This will save 300 KiB of image size.
> I'm not sure I understand the difference the former makes in our use case.
Effectively there is no difference.
The surrounding implicit -eltorito-alt-boot options of --efi-boot are not
really needed here, because you only have one El Torito boot image.
The implicit -no-emul-boot of --efi-boot would have to be given explicitely
if you switch to -e.
-eltorito-alt-boot is just a spearator between the definitions of boot
images. It's harmless to pile this option up, unless it splits a boot
image from its options. I.e. this would be bad:
-e /boot/grub/efi.img -eltorito-alt-boot -no-emul-boot
because -e would have no -no-emul-boot. This would cause the catalog
entry of the boot image to bear the mark for floppy emulation.
UEFI specs demand that it must be marked for no emulation (although
the EFI partition image is not a plain binary but rather a FAT filesystem).
> The latter seems to be for images that are not intended to be burned,
> while this one certainly could be. Is there a reason
> that it is no longer relevant?
The traditional padding is a somewhat misguided preparation for burning
onto CD media with write type Track-At-Once (TAO). I tried to explain the
real problem to the Linux SCSI people in
https:/
Having surplus bytes at the end of the CD prevents Linux from incidentially
trying to read the two unreadable final "run-out" blocks which get added
by TAO.
For users it is only important to know that any image that is too big
for CD does not need this padding, because it cannot be burnt by CD TAO.
Additional precaution is that the burn programs for CD add an own padding
by default, just out of the same misguided idea of the problem.
(My programs do it too. Who am i to change such an old tradition ?)
But there were versions of blkid which run into the TAO problem regardless
of padding. This caused my post to linux-scsi above.
I assume that they are not around any...
Thomas Schmitt (scdbackup) wrote : | # |
Errata: Please read "spearator" as "separator".
dann frazier (dannf) wrote : | # |
@infinity: btw, what version of xorriso is used to build official images?
Steve Langasek (vorlon) wrote : | # |
On Thu, Oct 05, 2017 at 03:24:53PM -0000, dann frazier wrote:
> @infinity: btw, what version of xorriso is used to build official images?
1.4.2-4ubuntu1
Thomas Schmitt (scdbackup) wrote : | # |
Hi,
at least the server ISO is made by a much older xorriso.
xorriso -indev ubuntu-
says
...
Preparer Id : XORRISO-1.2.4 2012.07.20.130001, LIBISOBURN-1.2.4, LIBISOFS-1.2.4, LIBBURN-1.2.4
...
1.4.8 will still be 4 days in Debian "unstable" before it migrates to "testing".
But the binary from
http://
can be used from where it was built, without installation.
The file
http://
gives me the impression that one can use it by e.g.
export MKISOFS=
after having unpacked xorriso-
it in the emerged directory "$HOME"
Have a nice day :)
Thomas
Thomas Schmitt (scdbackup) wrote : | # |
Hi,
it comes to me that if you have to expect antique versions of xorriso,
then it is of interest when the newly used options became available:
-partition_offset since 0.6.2
-append_partition since 0.6.4
-e since 0.6.2
--efi-boot --interval:
-e --interval:
Current on Ubuntu and Debian 9 is 1.4.6.
Further i now suspect that one has to add arguments " -as mkisofs" to
the MKISOFS environment variable. One may also simply replace file
/usr/bin/xorriso by the newly built "$HOME"
The new one will be a big binary with no special runtime dependencies.
Have a nice day :)
Thomas
dann frazier (dannf) wrote : | # |
Thanks Thomas & Steve.
My takeaways are:
- I should drop the commit "Point to the el torito catalog to the appended partition" because the version of xorriso we use (be it 1.2.4 or 1.4.2) won't support it. I actually think I'll replace it with a comment reminding us to make this transition when our build system is upgraded.
- I should continue to omit -no-pad. While I think it is unlikely someone is going to burn and use an arm64 CD, it isn't impossible (artful server dailies are < 700MB at the moment). Certainly an argument can be made that we could explicitly drop CD (or just TAO) support, but I'll defer that to an architecture-
dann frazier (dannf) wrote : | # |
Please consider this resubmit. I've tested it on a Cavium ThunderX CRB as both a CD and USB disk.
Thomas Schmitt (scdbackup) wrote : | # |
Hi,
the commit text of 1976 is a bit misleading.
Rather than talking of "several implied options" it would be better to
explicitely mention the implied surrounding options -eltorito-alt-boot.
The comment in 1977 needs mending by prepending -e or -efi-boot
to "--interval:
like an option, "--interval:..." actually is a pseudo-path which is a
parameter to option -e or -efi-boot.
-------
As for -no-pad, it would with current xorriso versions not take away
any effective protection against the Linux TAO CD bug, if a partition
is appended.
Due to traditional constraints, the padding is part of the claimed ISO
filesystem size. So it gets placed after the filesystem end but before
the appended partition. This way the partition gets into the role of
the exposed potential bug victim.
Whether this is bad, depends on the system which shall read the CD.
One would have to examine whether EFI has the TAO CD read-ahead bug.
The new feature of -partition_offset 16 to enable full image file size
as fileystem size of the first ISO superblock now gives the opportunity
to put the padding after the end of the partition.
But this still has to be implemented in libisofs.
For now, if you do not want to add padding by other means, your users
have to rely on the default of CD burn programs to add 300 KB of padding.
cdrskin and xorrecord use write type Session-at-Once (SAO) by default,
if the size of the input stream is known. This is normally the case with
burning of image files.
cdrecord and wodim use TAO by default. With them the default padding will
save the day.
> Certainly an argument can be made that we could explicitly drop CD
> (or just TAO) support,
The decision of the CD write type is made by the user who burns the CD
or by the user's burn program.
One would have to test the programs mentioned at
https:/
whether they use padding or Session-at-Once by default.
The only workarounds which come to my mind for this dilemma are to append
a victim partition 3:
dd if=/dev/zero bs=300K count=1 of=./padding_
xorriso -as mkisofs \
/mnt/iso
or to append padding to the image file of partition 2:
dd if=/dev/zero bs=300K count=1 >>$CDDIR/
before running xorriso.
Have a nice day :)
Thomas
Thomas Schmitt (scdbackup) wrote : | # |
Hi,
pondering why Debian arm64 ISOs never caused a complaint about missing
padding at the image end, i find this explanation (except that arm64
might rarely be fed with CD media):
If presented on CD, DVD, or BD media, the EFI firmware will use the
System Partition image that is a data file inside the ISO.
This file is surely protected from the Linux bug by the appended partition,
which has no role when the ISO is on a CD.
So currently the new ISO layout for Ubuntu arm64 is safe.
It will become unsafe only by the future change to
-e --interval:
As a consequence this fact should be mentioned in the comment added
by commit 1977. Like
# Once we move to xorriso >= 1.4.4, we should consider changing from
# "-e boot/grub/efi.img"
# to
# "-e --interval:
# This will point the El Torito catalog to the appended partition instead
# of the in-ISO file, which will allow us to remove efi.img from the ISO
# filesystem and recover it's space.
#
# But as long as we have to expect CD burn runs with write type TAO
# it will be wise to add the traditional 300 KB of padding to the
# EFI System Partition image before appending it as partition 2
# and then using it as El Torito boot image by above future change.
# This padding will prevent the old Linux TAO CD read-ahead bug.
#
# That bug cannot happen with the current situation because the partition
# is not used as El Torito image and thus not read when booting from CD.
So currently you can safely add -no-pad and save 300 KB as compensation for
the waste of having two EFI System Partition images.
Have a nice day :)
Thomas
- 1974. By dann frazier
-
Drop xorriso parameters that have no effect
Passing "-boot-load-size 4" and "-boot-info-table" before "-eltorito-
alt-boot"
has no effect. It is likely cruft cargo-culted from x86, just drop it.Thanks to Thomas Schmitt.
- 1975. By dann frazier
-
Use '-e' instead of '--efi-boot' on the xorriso cmdline
This should have no functional change. --efi-boot includes several implied
options that we don't need with just the one el torito image. It also implies
-no-emul-boot, which we are already passing anyway (and need to keep with
the switch to -e). - 1976. By dann frazier
-
Use '-e' instead of '--efi-boot' on the xorriso cmdline
This should have no functional change. The surrounding implicit
-eltorito-alt-boot options of --efi-boot are not needed here because we only
have one El Torito image. --efi-boot also implies -no-emul-boot, which we
were passing redundantly. With -e, -no-emul-boot needs to be passed explicitly,
so it is retained in this commit.Thanks to Thomas Schmitt.
- 1977. By dann frazier
-
Leave a reminder to switch the el torito image to the appended partition
once we can safely assume a new enough xorriso version. - 1978. By dann frazier
-
Add '-partition_offset 16' to xorriso parameters
Suggested by Thomas Schmitt, who describes the following benefits:
[-partition_offset 16] will yield a more conventional start of partition 1
Device Boot Start End Sectors Size Id Type
test.iso1 64 332111 332648 162.4M cd unknown
test.iso2 332712 334759 2048 1M ef EFI (FAT-12/16/32)but also will enable xorriso >= 1.4.8 to let the ISO superblock of
the device claim the range up to the end of partition 2.
So commands like `isosize` will be in sync with the image file
dann frazier (dannf) wrote : | # |
Thanks Thomas. I've made the two corrections you noted. I've continued to omit any changes for padding because my immediate goal here is to get arm64 booting again, and padding is an optimization I think we can take up in a follow-on merge proposal (perhaps benefiting more architectures).
Thomas Schmitt (scdbackup) wrote : | # |
Hi,
yes, let's first collect some success. :))
About the need for padding (again):
It seems safe if the EFI partition / boot image is smaller than 32 MiB.
Up to that size, the El Torito catalog is able to record the exact size
of the boot image. In this case a firmware or operating system has very few
reason to read over this size.
But beginning with 32 MiB, the catalog's 16-bit block counter field can
only state 0 or 1, which means in UEFI: "Up to the end of the medium".
At this point, a wrong medium size information from the DVD drive could
cause problems.
I did not find a way yet, to subscribe to this thread.
If problems arise, please give me a note via <email address hidden> or in
private via <email address hidden>.
Have a nice day :)
Thomas
Preview Diff
1 | === modified file 'tools/boot/artful/boot-arm64' |
2 | --- tools/boot/artful/boot-arm64 2017-04-25 21:27:20 +0000 |
3 | +++ tools/boot/artful/boot-arm64 2017-10-11 17:56:45 +0000 |
4 | @@ -112,8 +112,15 @@ |
5 | CASPER_INITRD="/casper/initrd$(initrd_suffix "$CDDIR/casper/filesystem.initrd-$FLAVOUR")" |
6 | mv $CDDIR/casper/filesystem.initrd-$FLAVOUR "$CDDIR$CASPER_INITRD" |
7 | fi |
8 | - echo -n "-J -l -c boot/boot.cat -boot-load-size 4 -boot-info-table " >> $N.mkisofs_opts |
9 | - echo -n "-eltorito-alt-boot --efi-boot boot/grub/efi.img -no-emul-boot " >> $N.mkisofs_opts |
10 | + echo -n "-J -l -c boot/boot.cat -partition_offset 16 " >> $N.mkisofs_opts |
11 | + # Once we move to xorriso >= 1.4.4, we should consider changing from |
12 | + # "-e boot/grub/efi.img" |
13 | + # to |
14 | + # "-e --interval:appended_partition_2:all::" |
15 | + # This will point the el torito catalog to the appended partition instead |
16 | + # of the in-ISO file, which will allow us to remove efi.img from the ISO |
17 | + # filesystem and recover it's space. |
18 | + echo -n "-append_partition 2 0xef $CDDIR/boot/grub/efi.img -e boot/grub/efi.img -no-emul-boot " >> $N.mkisofs_opts |
19 | fi |
20 | |
21 | #install_languages $CDDIR |
22 | |
23 | === modified file 'tools/boot/xenial/boot-arm64' |
24 | --- tools/boot/xenial/boot-arm64 2017-02-21 04:29:37 +0000 |
25 | +++ tools/boot/xenial/boot-arm64 2017-10-11 17:56:45 +0000 |
26 | @@ -112,8 +112,15 @@ |
27 | CASPER_INITRD="/casper/initrd$(initrd_suffix "$CDDIR/casper/filesystem.initrd-$FLAVOUR")" |
28 | mv $CDDIR/casper/filesystem.initrd-$FLAVOUR "$CDDIR$CASPER_INITRD" |
29 | fi |
30 | - echo -n "-J -l -c boot/boot.cat -boot-load-size 4 -boot-info-table " >> $N.mkisofs_opts |
31 | - echo -n "-eltorito-alt-boot --efi-boot boot/grub/efi.img -no-emul-boot " >> $N.mkisofs_opts |
32 | + echo -n "-J -l -c boot/boot.cat -partition_offset 16 " >> $N.mkisofs_opts |
33 | + # Once we move to xorriso >= 1.4.4, we should consider changing from |
34 | + # "-e boot/grub/efi.img" |
35 | + # to |
36 | + # "-e --interval:appended_partition_2:all::" |
37 | + # This will point the el torito catalog to the appended partition instead |
38 | + # of the in-ISO file, which will allow us to remove efi.img from the ISO |
39 | + # filesystem and recover it's space. |
40 | + echo -n "-append_partition 2 0xef $CDDIR/boot/grub/efi.img -e boot/grub/efi.img -no-emul-boot " >> $N.mkisofs_opts |
41 | fi |
42 | |
43 | #install_languages $CDDIR |
44 | |
45 | === modified file 'tools/boot/yakkety/boot-arm64' |
46 | --- tools/boot/yakkety/boot-arm64 2017-02-21 04:29:37 +0000 |
47 | +++ tools/boot/yakkety/boot-arm64 2017-10-11 17:56:45 +0000 |
48 | @@ -112,8 +112,15 @@ |
49 | CASPER_INITRD="/casper/initrd$(initrd_suffix "$CDDIR/casper/filesystem.initrd-$FLAVOUR")" |
50 | mv $CDDIR/casper/filesystem.initrd-$FLAVOUR "$CDDIR$CASPER_INITRD" |
51 | fi |
52 | - echo -n "-J -l -c boot/boot.cat -boot-load-size 4 -boot-info-table " >> $N.mkisofs_opts |
53 | - echo -n "-eltorito-alt-boot --efi-boot boot/grub/efi.img -no-emul-boot " >> $N.mkisofs_opts |
54 | + echo -n "-J -l -c boot/boot.cat -partition_offset 16 " >> $N.mkisofs_opts |
55 | + # Once we move to xorriso >= 1.4.4, we should consider changing from |
56 | + # "-e boot/grub/efi.img" |
57 | + # to |
58 | + # "-e --interval:appended_partition_2:all::" |
59 | + # This will point the el torito catalog to the appended partition instead |
60 | + # of the in-ISO file, which will allow us to remove efi.img from the ISO |
61 | + # filesystem and recover it's space. |
62 | + echo -n "-append_partition 2 0xef $CDDIR/boot/grub/efi.img -e boot/grub/efi.img -no-emul-boot " >> $N.mkisofs_opts |
63 | fi |
64 | |
65 | #install_languages $CDDIR |
66 | |
67 | === modified file 'tools/boot/zesty/boot-arm64' |
68 | --- tools/boot/zesty/boot-arm64 2017-02-21 04:29:37 +0000 |
69 | +++ tools/boot/zesty/boot-arm64 2017-10-11 17:56:45 +0000 |
70 | @@ -112,8 +112,15 @@ |
71 | CASPER_INITRD="/casper/initrd$(initrd_suffix "$CDDIR/casper/filesystem.initrd-$FLAVOUR")" |
72 | mv $CDDIR/casper/filesystem.initrd-$FLAVOUR "$CDDIR$CASPER_INITRD" |
73 | fi |
74 | - echo -n "-J -l -c boot/boot.cat -boot-load-size 4 -boot-info-table " >> $N.mkisofs_opts |
75 | - echo -n "-eltorito-alt-boot --efi-boot boot/grub/efi.img -no-emul-boot " >> $N.mkisofs_opts |
76 | + echo -n "-J -l -c boot/boot.cat -partition_offset 16 " >> $N.mkisofs_opts |
77 | + # Once we move to xorriso >= 1.4.4, we should consider changing from |
78 | + # "-e boot/grub/efi.img" |
79 | + # to |
80 | + # "-e --interval:appended_partition_2:all::" |
81 | + # This will point the el torito catalog to the appended partition instead |
82 | + # of the in-ISO file, which will allow us to remove efi.img from the ISO |
83 | + # filesystem and recover it's space. |
84 | + echo -n "-append_partition 2 0xef $CDDIR/boot/grub/efi.img -e boot/grub/efi.img -no-emul-boot " >> $N.mkisofs_opts |
85 | fi |
86 | |
87 | #install_languages $CDDIR |
Seems reasonable. This ends up with -no-emul-boot on the commandline twice, which I assume is harmless, but probably makes sense to clean up in a subsequent commit (including on x86, where this was cargo-culted from).