[syslinux] isolinux bug?

Izzy Blacklock izzyb at ecn.ab.ca
Wed Jul 10 15:58:54 PDT 2002

On Wednesday 10 July 2002 00:28, H. Peter Anvin wrote:
> Izzy Blacklock wrote:
> > It looks like the dash isn't a valid character even when using the -l
> > option. I'm guessing using -l causes the creation of a level 3 iso9660
> > filesystem.
> >
> > What would be involved in adding Rock Ridge support to isolinux?  These
> > file naming restrictions are likely to cause a lot of problems for
> > people.  At the very least, adding a note about the restrictions to your
> > docs seems like a good idea!  It'd probably have saved me from making a
> > fool of myself! :)
> Adding RockRidge would be *lots* of work, although it's probably not
> impossible.
> The docs do say:
> Note that ISOLINUX only uses the "plain" ISO 9660 filenames, i.e. it
> does not support Rock Ridge or Joliet filenames. It can still be used on
> a disk which uses Rock Ridge and/or Joliet extensions, of course. Under
> Linux, you can verify the plain filenames by mounting with the "-o
> norock,nojoliet" option to the mount command. Note, however, that
> ISOLINUX does support "long" (level 2) ISO 9660 plain filenames, so if
> compatibility with short-names-only operating systems like MS-DOS is not
> an issue, you can use the "-l" or "-iso-level 2" option to mkisofs to
> generate long (up to 31 characters) plain filenames.
> 	-hpa

If there's a lot of work involved in adding RockRidge support, I don't see it 
as being a priority.  Perhaps someday it will be important enough to someone 
to invest the time to add the features.  I'm perfectly happy living within 
the limitations now that I know about them! :)

I do recall reading this section of your docs, but before I read the mkisofs 
man pages, I didn't understand the different iso level or what Rock Ridge or 
Joliet filenames were.  I must have skipped over this section in my confusion 
shortly after reading that ISOLINUX does support "long" filenames, because I 
didn't know about the 31 character limit until after I read the mkisofs mans.  
As it turns out, I was within this limit anyway; it was the dash that got me.  

May I perpose the following changes to the above section of your docs just to 
clarify the limitations.  

----------- 8< -------------

Note that ISOLINUX only supports ISO9660 level 1 and level 2 file systems, 
i.e. it does not support Rock Ridge or Joliet extensions.  For ISO9660 level 
1, this limits file names to the 8.3 (8 characters, period, 3  characters, 
all  upper  case letters, numbers, or the underscore).  If you create a level 
2 ISO9660 filesystem (for mkisofs, use the  "-l" or "-iso-level 2" options), 
you can use file names up to 31 characters, but you are still limited to 
upper case letters, numbers or the underscore character.  Level 2 is not 
supported by all operating systems though, i.e. MS-DOS, so only use it if 
your boot image can support it.  

File names that do not meet the naming restrictions will be modified when your 
image is created (see man mkisofs(8) for details on it's behaviour).  This 
will likely result in booting problems.  Under Linux, you can verify the 
plain filenames by mounting with the "-o norock,nojoliet" option to the mount 
command.  Even though ISOLINUX does not support Rock Ridge and/or Joliet 
extensions, it can still be used on disks created with these extentions.  
This is usefull if your boot image can use these extensions (see man 
mkisofs(8) for more details).


I believe this more clearly states the file naming restrictions without 
leaving out anything you originally said.  Feel free to use it as is or 
modify it more to your taste.  

I noticed that isolinux was able to boot my image even though I named it 
"linux" in all lower case and used this name in the isolinux.cfg file.  I'm 
guessing isolinux upcases the image name from the config file automaticely?  
Perhaps this info should also be added to the docs somewere.  Forgive me if 
it's already there.  I haven't read it top to bottom.


More information about the Syslinux mailing list