[Cu-wireless] project: iso9660 target for makefs utility

David Young dyoung at pobox.com
Fri Apr 30 00:30:56 CDT 2004


In NetBSD, there is a utility for creating BSD UNIX "Fast Filesystem"
images called makefs.  I would like for it to create ISO9660 (CD-ROM)
filesystems, also.

makefs works like this: you tell it a source directory, the size
of the filesystem you want, and the file meta-information (owner,
group, permissions, etc.), and it writes out a filesystem image file
that is suitable for "dd'ing" to a floppy or a CompactFlash card.
The owner/group/permissions in the meta-info file supercedes the the
source files' own meta-info, so that you can create a root/wheel/700
directory, say, without root privileges.

It would be a big help if somebody would extend makefs to create bootable
ISO9660 (CD-ROM) filesystems with the Rock Ridge extensions, also.  I use
mkisofs for this purpose, now.  mkisofs has one serious drawback: all
of the source files have to have the correct meta-info already applied;
mkisofs needs to run with privileges that are adequate to read all the
source files.  This entails using root privileges to create an ISO9660
image, which entails serious security exposures that I want to avoid.
An ISO9660 target for makefs has no such drawback.

If you would take up this task, here are a few pointers.  I have read
the mkisofs sources; they would make your garden grow.  Let them be.
Concentrate on this documentation:

    * ISO9660 is the standard CD-ROM filesystem. I have not seen ISO's
      docs because they cost lots of money. This is a pretty good
      replacement, <http://www.mp3ar.com/Literature/iso9660.pdf>.

    * ISO9660 provides unformatted extension fields.  IEEE SUSP
      standardizes the format for extension fields in ISO9660.
      <http://www-uxsup.csx.cam.ac.uk/%7Ebjh21/susp112.pdf>.

    * IEEE RRIP tells how to record POSIX file attributes using SUSP,
      <http://www-uxsup.csx.cam.ac.uk/%7Ebjh21/rrip112.pdf>.

    * "El Torito" is the standard for bootable ISO9660 CD-ROMs,
      <http://www.phoenix.com/resources/specs-cdrom.pdf>.

makefs provides a good framework for this work; read it and understand it.

Dave

-- 
David Young             OJC Technologies
dyoung at ojctech.com      Urbana, IL * (217) 278-3933



More information about the CU-Wireless mailing list