Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 5 Oct 2002 09:49:55 +0200 (CEST)
From:      Oliver Fromme <olli@secnetix.de>
To:        freebsd-questions@FreeBSD.ORG
Subject:   Re: burncd error
Message-ID:  <200210050749.g957nth4092664@lurza.secnetix.de>
In-Reply-To: <20021004224201.365685D04@ptavv.es.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Kevin Oberman <oberman@es.net> wrote:
 > I suspected that both -allow-lowercase and -allow-multidot were
 > implicit in -r, but I had never actually tried it.

No, they're not implicit, but they're not necessary either.

Let me explain ...

Standard ISO9660 filesystems have several limitations.  For
example, every filename has a maximum length of 31 characters
(even though it's common to use only 8+3 because of old DOS-
compatibility), only upper-case letters, numbers and under-
scores, there must be exactly one dot (which must not be the
first character of the name), a non-empty filename extension
(after that dot), and a non-empty version number.  Also note
that ISO9660 does not support some of the standard UNIX UFS
features, such as permission modes, ownership etc.

There are several options to mkisofs that cause it to ignore
some of those restrictions.  This usually works most of the
time, but might not work with an operating system (or other
software) that enforces strict ISO9660 conformance.  These
options include -allow-lowercase, -allow-multidot, -d, -D,
-L, -N, -relaxed-filenames, -U, -no-iso-translate.

However, when you use the -R or -r option to create a rock-
ridge extension, you actually have a second directory
hierarchy laid over the existing ISO9660 directory hierachy
(this is somewhat simplified, but the net effect is just
that).  Basically that means that, if you mount the CD with
a rockridge-capable operating system (such as FreeBSD), you
don't see the ISO9660 filenames at all, but only the rock-
ridge filenames.  Obviously, there is no restriction on the
filenames in the rockridge extension, as it was specifically
designed to store information for UNIX filesystems, including
permissions and ownerships.  The above-mentioned options
(-allow-lowercase etc.) don't have any effect on the rock-
ridge extension.

Conversely, if you mount the CD with a non-rockridge-capable
system (such as DOS), you only see the ISO9660 filenames with
all of their limitations, possibly relaxed by the above-
mentioned options (provided that it works, as those options
produce non-standard CDs).  If you expect emergency cases
where you must be able to read a rockridge CD with DOS but
still be able to reconstruct the real filenames somehow,
mkisofs offers the -T option.  It creates a simple text file
called TRANS.TBL in every directory which contains a mapping
between the ISO9660 filenames and the rockridge filenames,
one per line.

You can even go a step further and let mkisofs create Joliet
and Apple (HFS) extensions on the CD.  You will then have
four different kinds of directory descriptions on the CD for
the same content.  The cool thing is that every operating
system picks the one most suitable for itself.

 > > The remarkable thing was actually, that when I used the wrong option,
 > > mkisofs says it doesn't recognise the option, quits the program, and
 > > returns to the prompt in my xterm, but now my xterm shows up with
 > > unrecognisable characters (normally for me: root@hostname, now something
 > > like: %^(%^%(%^&()_)_*).
 > > 
 > > Did I hit a bug?

Indeed, it sounds like a bug.  It seems that cdrecord fails
to send the proper reset/init termcap sequences in that
particular case, so the terminal is left in some unusual
state.  Actually I'm surprised that mkisofs would use
termcap control sequences anyway.  It doesn't really need
to, IMO.

BTW, you can manually reset an xterm by pointing your mouse
pointer inside it, then press (and hold) the Ctrl key, then
press the middle mouse button.  This causes an xterm menu
to pop up.  Select "full reset" from that menu.

Also, typing "reset", "tput reset init" and/or "stty sane"
might help in some situations.  If the terminal settings
are seriously broken so that the enter key doesn't work
anymore, use Ctrl-J instead of enter (you might even have
to type the command blindly if the terminal echo was turned
off).

Regards
   Oliver

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.

"All that we see or seem is just a dream within a dream" (E. A. Poe)

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200210050749.g957nth4092664>