Home | History | Annotate | Download | only in cd9660
History log of /src/usr.sbin/makefs/cd9660/cd9660_eltorito.c
RevisionDateAuthorComments
 1.27  28-Dec-2023  tsutsui Use EXIT_SUCCESS and EXIT_FAILURE where appropriate per style guide.
 1.26  18-Apr-2023  christos The boot catalog pointer is a DWord, but we previously populated it via
cd9660_bothendian_dword which overwrote four unused bytes following it.
See El Torito 1.0 (1995) Figure 7 for details.

Found by Coverity on FreeBSD
 1.25  09-Apr-2022  riastradh makefs(8): Nix trailing whitespace.

Computed by machine, eyeballed by hand, so to speak.
 1.24  15-Nov-2020  jmcneill Add "efi" as a supported boot image type and derive the platform ID for
the validation entry from the default boot image instead of hard-coding
X86.
 1.23  28-Mar-2018  nonaka Correctly mark the last El Torito section header.

Pointed out by Benno Rice via DM.
 1.22  09-Nov-2017  nonaka branches: 1.22.2;
Initialize boot_catalog_entry's entry_type properly.

This had been missing but the type was used in cd9660_setup_boot().

From OpenBSD usr.sbin/makefs/cd9660/cd9660_eltorito.c r1.10.
 1.21  24-Jan-2017  nonaka branches: 1.21.4;
makefs(8): add cd9660 eltorito-alt-boot option for EFI boot.
 1.20  28-Jan-2013  christos branches: 1.20.12; 1.20.16;
- use emalloc and friends
- kill a bunch of global variables, more work to be done here
- homogenize option parsing. more work for cd9660
- use the new options parsing code to print an fs-specific usage
 1.19  19-Apr-2012  christos branches: 1.19.2;
WARNS=5
 1.18  02-Apr-2012  christos Pull FreeBSD fix from Andreas Tobbler:

- Write the ISO9660 descriptor after the apm partition entries.
- Fill the needed pmPartStatus flags. At least the OpenBIOS
implementation relies on these flags.

This commit fixes the panic seen on OS-X when inserting a FreeBSD/ppc disc.
Additionally OpenBIOS recognizes the partition where the boot code is located.
This lets us load a FreeBSD/ppc PowerMac kernel inside qemu.
 1.17  23-Jun-2011  enami branches: 1.17.2;
Move inclusion of sys/endian.h from cd9660_eltorito.c to cd9660.h
since actual user is not cd9660_eltorito.c but iso.h and
cd9660_eltorito.h.

Actually, include order/place of sys/endian.h doesn't matter on
netbsd since it is always included by sys/types.h but it's not
true on other system. This should fix cross build breakage on
freebsd introduced by rev. 1.16 of cd9660_eltorito.c.
Problem reported and fix suggested on twitter.
 1.16  23-May-2011  christos include system headers after config.h
 1.15  22-May-2011  christos From Nathan Whitehorn (nwhitehorn at freebsd dot org):
Add code to generate bootable ISOs on Powermac and CHRP systems.
Synthesize some partition maps (APM and MBR, respectively) pointing
to (a) the whole disk, and (b) relevant El Torito boot images that
have been added by other code. These partition maps are a little
bit funny looking, but they seem to work. FreeBSD has been using
this successfully in their release generation on powerpc, as well
as generating all non-SPARC install media. SPARC support could
probably be added as an extension of this patch.
 1.14  27-Oct-2010  christos Handle > 2GB images. Thanks to Greg Troxel for testing!
 1.13  22-Oct-2010  christos - simple fseek->fseeko conversion. probably needs more work.
- use a constant instead of sprinkling 2048 everywhere.
 1.12  27-Jul-2008  reinoud Fix typo in cd9660 functionname cd9660_setup_boot_volume_descritpor ->
cd9660_setup_boot_volume_descriptor.

Interestingly the same typo was used in 3 files!
 1.11  22-Apr-2006  christos branches: 1.11.20;
Coverity CID 548: Fix resource leak.
 1.10  31-Oct-2005  dyoung Oops, condition another printf on verbose_level > 0.
 1.9  31-Oct-2005  dyoung Condition several cd9660 printfs on verbose_level > 0. Silences
makefs -t cd9660.
 1.8  30-Oct-2005  dyoung Now that I understand what order boot-images and boot-entries are
intended to be kept on the boot-images and -entries lists, keep
them in that order: images grouped and entries grouped by system,
with later images nearer the front of the list.

*Really* apply boot options to the last boot-image specified.
 1.7  30-Oct-2005  dyoung Bug fix: record the actual number number of 512-byte "virtual"
sectors in the Sector Count field of the Initial/Default Entry in
the "El Torito" Boot Catalog, instead of blithely writing 1 (!!)
into the Sector Count field. Ditto the Section Entries.

Remove last remnants of cd9660's unsupported boot-load-size option.

Really use cd9660's boot-load-segment argument.

Change the boot images list from a LIST to a TAILQ.

Re-implement CD9660_BLOCKS() with howmany().

Introduce ELTORITO_DPRINTF and some debug messages.

Zero memory malloc'd in the El Torito code.

Revise some debugging outputs.

Insert a new boot-image on the boot-images list after the last
boot-image for the same architecture. It makes a (trivial) functional
difference.

Miscellaneous cosmetic changes. Remove useless variable-assignment.
 1.6  30-Oct-2005  dyoung Cosmetic: add temporary variables for lengthy, repeated clauses
like 'default_entry->entry_data.IE'. KNF.
 1.5  30-Oct-2005  dyoung Remove invisible whitespace at ends of lines that disrupted my
speedy cursor-movement habits in vi.
 1.4  28-Oct-2005  dyoung Correct strcmp(3) usage (expect equal -> 0).
 1.3  28-Oct-2005  dyoung Use LIST_ macros instead of accessing list structure members lh_first
and le_next directly.
 1.2  19-Aug-2005  dyoung Change from malloc/strcpy idiom to strdup.

Revamp err, errx, warn, warnx usage.

Misc. cosmetic tweaks.

Make -o bootimage=sysname;filename expect NetBSD architecture names
(x86 -> i386; mac -> {macppc, mac68k}; ppc -> powerpc) for sysname.
 1.1  13-Aug-2005  fvdl cd9660 support. Written by Daniel Watt, Walter Deignan, Ryan Gabrys,
Alan Perez-Rathke and Ram Vedam.

Prototyping, KNF, WARNS=3 by me.

Note that this is marked experimental for now. It works well enough to
make NetBSD/i386 bootable images, but does need more work.
 1.11.20.1  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.17.2.3  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.17.2.2  23-May-2012  yamt sync with head.
 1.17.2.1  17-Apr-2012  yamt sync with head
 1.19.2.1  25-Feb-2013  tls resync with head
 1.20.16.1  21-Apr-2017  bouyer Sync with HEAD
 1.20.12.1  20-Mar-2017  pgoyette Sync with HEAD
 1.21.4.1  30-Mar-2018  martin Pull up following revision(s) (requested by nonaka in ticket #660):
usr.sbin/makefs/cd9660/cd9660_eltorito.c: revision 1.22
usr.sbin/makefs/cd9660/cd9660_eltorito.c: revision 1.23

Initialize boot_catalog_entry's entry_type properly.

This had been missing but the type was used in cd9660_setup_boot().
From OpenBSD usr.sbin/makefs/cd9660/cd9660_eltorito.c r1.10.

Correctly mark the last El Torito section header.
Pointed out by Benno Rice via DM.
 1.22.2.1  30-Mar-2018  pgoyette Resolve conflicts between branch and HEAD

RSS XML Feed