Commit Graph

20 Commits

Author SHA1 Message Date
christos
50d02345aa make everything use the generic options parser. 2013-01-29 15:52:25 +00:00
christos
e4989541fe - 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
2013-01-28 21:03:26 +00:00
christos
f1cc09510d Patch from Jung-uk Kim (jkim at FreeBSD dot org) to allow contents of multiple
directories to be merged to the current image.
2012-01-28 02:35:46 +00:00
enami
0b23c5aa3d 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.
2011-06-23 02:35:56 +00:00
christos
0477909eb4 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.
2011-05-22 21:51:39 +00:00
christos
2ec6e0f18a Handle > 2GB images. Thanks to Greg Troxel for testing! 2010-10-27 18:51:34 +00:00
christos
203850f0b2 - simple fseek->fseeko conversion. probably needs more work.
- use a constant instead of sprinkling 2048 everywhere.
2010-10-22 00:49:15 +00:00
bjh21
f8474b32a7 Add support for encoding RISC OS metadata into ISO 9660 filesystems.
This is done by adding the general ability to stuff non-SUSP data into
the end of the System Use field of a Directory Record, which required
some amount of rewriting of the SUSP support.  I think the result is
at least as good as what came before, and I've fixed at least one bug
along the way.  Tested against RISC OS 3.70 on my Risc PC.

Oh, why do we want it?  It should allow us to make acorn{26,32} CDs that
can be booted directly from RISC OS without mucking around copying the
bootloader to a native filing system.
2009-01-10 22:06:29 +00:00
reinoud
01c0b5bf89 Fix typo in cd9660 functionname cd9660_setup_boot_volume_descritpor ->
cd9660_setup_boot_volume_descriptor.

Interestingly the same typo was used in 3 files!
2008-07-27 10:29:32 +00:00
skrll
989d6357d3 Add an option to load a generic boot image into the first 32K of the
cd9660 image.
2008-05-10 19:00:07 +00:00
dyoung
9d2dd62a57 Stop duplicating the ISO9660 sources in sys/fs/cd9660/ for makefs(8). 2006-02-01 22:19:34 +00:00
dyoung
2fa0e02b0b Remove the cd9660_inode hashtable for hard-links support, and re-use
the fsinode for the same purpose, per Luke Mewburn's suggestion on
source-changes@.
2005-10-31 08:29:19 +00:00
dyoung
1da546647c Add hard-link support: keep a hashtable that maps inodes for
regular files on the source filesystem to the offset of the first
data block on the target filesystem.  Don't allocate blocks for a
file a second time (i.e., if it is already present in the hashtable).
Avoid writing the blocks of a file twice (use the FS_WRITTEN flag
in fsinode->flags for this purpose).
2005-10-30 09:27:49 +00:00
dyoung
4a3fce43c0 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.
2005-10-30 07:33:57 +00:00
dyoung
3c2cee9d4a 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.
2005-10-30 06:45:46 +00:00
dyoung
f112f0b6d9 Remove invisible whitespace at ends of lines that disrupted my
speedy cursor-movement habits in vi.
2005-10-30 03:10:28 +00:00
dyoung
689c61f61d Overhaul makefs -t cd9660.
Functional: Do not add a missing period or a version number to
            directories, since that doesn't fit the standard (thanks
            Daniel Watt).

            Add RRIP PX records (POSIX meta-information) to '.'
            and '..' entries.  Quiets kernel complaint, when we
            mount a cd9660 filesystem, that there is a missing PX
            entry.

Cosmetic: Reduce height of staircases.  Remove an unused member
          from struct _cd9660node.  Extract a subroutine.  KNF.

          Use a TAILQ macros for lists of both SUSP/RRIP attributes
          and directory entries.

XXX
XXX The new RRIP PX entries are not quite right.
XXX
2005-10-25 02:22:04 +00:00
fvdl
92be7f4643 Fix some wrapping lines. 2005-08-13 17:50:59 +00:00
fvdl
65b1705e76 Add nbtool_config.h include, fixing the tool compile on some platforms. 2005-08-13 17:46:07 +00:00
fvdl
3550dc9861 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.
2005-08-13 01:53:01 +00:00