Welcome to the Linux Foundation Forum!

How to enable Joliet file system support?

Ok, I`m fairly new to linux having been a Windows user for as long as there has been a windows operating system around and DOS before that even. My problem is that like a great many Windows users I have a large collection of burned CD`s & DVD`s that use the Joliet file system. But apparently the distro of Linux I`m using now (Kubuntu 10.10 32 bit) does not have support for reading the Joliet file system enabled by default and I don`t know how to enable it. So here I am asking if anyone knows how to enable it? I`m well aware that I could make an ISO image of the discs in question and then mount them as the various mounting utilities all seem to support reading the Joliet file system, but this isn`t really a viable solution since I have a few hundred discs now in my collection from my pre-Linux days and in terms of disk space this would pretty much fill my entire hard drive and then some if I were to take this approach. What I really need is to just be able to put the disc into the drive and open Dolphin and be able to access it just like I can any other disc or drive.

I did some digging around and discovered that kernel support for reading the Joliet file system has apparently been around for quite a while now, but apparently nobody ever considered the fact that it would be very beneficial to those users coming over to Linux from Windows to enable this support by default. As such, users like myself are essentially left without a reasonable means to access the multitude of discs we may have accumulated before making the move to Linux.

Anyway I am hoping someone here can help me figure out how to enable this so I can access my old CD`s & DVD`s.

My system specs are as follows:

CPU: Pentium 4 2.8ghz w/hyperthreading (32 bit)

Motherboard: Intel D865GLC socket 478

Memory: 3Gb RAM (2 1Gb sticks and 2 512Mb sticks running in Dual Channel mode)

Graphics: nVidia 7600GS 8X AGP w/512M RAM

Hard Drives:1.0TB Hitachi Deskstar (hosting Windows XP Pro 32bit) & 500Gb Hitachi Deskstar hosting Kubuntu 10.10 32bit (fully updated)

And yes I know it`s about time to consider an upgrade, I`m planning on it soon, but still would need to be able to enable Joliet file system support in my Linux install.

Thanks for any help anyone can provide,

bartman2589

Comments

  • atreyu
    atreyu Posts: 216
    Well, the short answer to "How to enable joliet fs support" is - recompile your kernel. But that may not be necessary, it might already be enabled. If it isn't, maybe there is a kernel package for your Linux distro that contains that module (I think Joliet is an MS extension to ISO9660). But first, try to confirm whether or not it is enabled already.

    Run this command to see if this file exists on your system:
    ls /proc/config.gz
    
    This file contains the configuration of your currently running kernel. If it is there, try this:
    cat /proc/config.gz|gunzip|grep -i joliet
    
    On my system, for example, (Fedora 8), it returns:
    CONFIG_JOLIET=y

    If that file is not in /proc, you can also try this command to see if a static copy of your kernel config exists in /boot:
    ls /boot/config-`uname -r`
    
    If this file exists, then try:
    cat /boot/config-`uname -r`|grep -i joliet
    

    If you do indeed have Joliet support, I'm not sure what is going on. If you have neither of those files, maybe an Ubuntu pro here can help you determine whether or not you already have support.

    If you definitely do NOT have support enabled, then you need to either recompile your kernel, or find a Linux distro that already has support built into the kernel provided (as I mentioned, Fedora apparently does).

    One other thing to note, Joliet/ISO9960 support can either built into the kernel, or built separately, as a module. Look in this directory for filesystems supported by your kernel:
    /lib/modules/`uname -r`/kernel/fs
    

    In there you might see a directory named iso9660. If so, you can try this command and see what happens:
    modprobe iso9660
    
    but that should be done automatically for you when you inserted a CD.

    If you decide to recompile your kernel, don't be too daunted - it's not so gory these days and we can help.

    EDIT:
    I just booted Kubuntu 10.10 Live and sure enough, there does appear to be Joliet support built into the kernel. To try and emulate your problem, I attempted to create an ISO image with Joliet extensions, then I burned it to CD. I was able to mount it in the Kubuntu system, though. Perhaps you could explain more precisely how you've written these CDs - ie., what OS, what app did you use, etc.
  • First thank you for taking the time to reply to my post. I ran the commands to check for the presence of my kernel in /boot and sure enough it`s there (the first method returned a `No such file or directory` error) and the next command to check to see if Joliet file system support was enabled returned:
    CONFIG_JOLIET=y
    

    So apparently it is enabled (I never knew how to check, I just know it`s never worked with a lot of my discs and the only thing I could find to explain it was that the discs in question all used the Joliet filesystem only), I`m not sure what`s going on then. As to the discs themselves they were burned over the last dozen or so years with various versions of Windows ranging from Windows 95 (and both releases of 98, ME, & 2000) all the way to my current Windows XP Pro install, and with a variety of software ranging from Nero 4 and up, EZ CD Creator 5 and up, to Imgburn to CDBurnerXP, to InfraRecorder, to the builtin CD/DVD burning support in XP and a few others in there too that I can`t even remember the names of unfortunately I`m not sure what discs were burned with what software even at this point, what I do know though is that they work in my XP install on the same machine so I know it`s not a hardware issue, but I`m really trying to move away from Windows for all but some of the rare software that I use that isn`t supported by WINE yet or doesn`t have a similar Linux equivalent with a GUI (while I`m competent enough to use a CLI I much prefer point and click simplicity).

    I appreciate the help, at least now I know it`s probably something else interfering with it. What that is or how to determine what it is is a whole different matter all together now I guess. Again thank you and hopefully someone else might be able to chime in here with some more tips, that is unless you have some more thoughts on the matter.

    EDIT: I tried navigating to `/lib/modules/`uname -r`/kernel/fs` as you suggested and there was no iso9660 folder or file in that folder, nor was there any file named joliet either (not that I know if there should be or not though). And manually running modprobe iso9660 as root after inserting one of the problematic discs appears to have no effect, the system still apparently won`t recognise the disc. Also I just noticed that one of the affected discs is reported by Imgburn (running under WINE) as having ISO9660, Joliet, and UDF (1.02) filesystems/extensions present. You`d think that withl all of that Linux should be able to see at least one of the filesystems present on that disc. Imgburn also reports only one session on the disc and that it is complete. I know I`ve seen problems on some systems with using discs that were left open so that more files could be added later, so that was one thing I checked for when I first encountered this problem.
  • atreyu
    atreyu Posts: 216
    just curious, have you tried mounting one of the CDs manually, versus letting the desktop/file manager, etc, doing it? something like:
    sudo mount -v -t iso9960 -o ro /dev/sr0 /media/cdrom
    
    what errors do you get from that command, if any? Anything related in /var/log/messages or in the output of dmesg?
  • I can manually mount the problematic discs using that command just fine (no errors reported when I do), I can then browse it from the console/terminal just fine, but it doesn`t show up in my file manager at all unless I manually type the location into the file manager as /media/cdrom or manually browse to /media/cdrom (had to create the /media/cdrom mountpoint manually though, but I ran dolphin as root and set the permissions to allow anyone to read or write to it just like I`ve done for other drives that I`ve added through fstab). So it looks like the problem is with whatever process is supposed to automount the disc using the iso9660 filesystem module I`m guessing.
  • atreyu
    atreyu Posts: 216
    Check the contents of your /etc/fstab for an entry for the cdrom. If there is one, post it. Maybe it is wrong, or needs to be commented out.
  • No entries for my cdrom/dvdrom drives in fstab, just my main partition, swap partition, floppy drive, and my 1Tb ntfs partition that Windows is on. I did check dmesg though and I found out I`m getting a slightly different error depending on whether I put the disc in my cd burner or my dvd burner (sr1 and sr0 respectively):
    [  256.987296] sr 1:0:1:0: [sr1] Unhandled sense code
    [  256.987301] sr 1:0:1:0: [sr1] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
    [  256.987307] sr 1:0:1:0: [sr1] Sense Key : Medium Error [current] 
    [  256.987314] sr 1:0:1:0: [sr1] Add. Sense: Unrecovered read error
    [  256.987321] sr 1:0:1:0: [sr1] CDB: Read(10): 28 00 00 01 e2 40 00 00 02 00
    [  256.987337] end_request: I/O error, dev sr1, sector 493824
    [  256.987343] Buffer I/O error on device sr1, logical block 61728
    [  259.569631] sr 1:0:1:0: [sr1] Unhandled sense code
    [  259.569636] sr 1:0:1:0: [sr1] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
    [  259.569642] sr 1:0:1:0: [sr1] Sense Key : Medium Error [current] 
    [  259.569649] sr 1:0:1:0: [sr1] Add. Sense: Unrecovered read error
    [  259.569656] sr 1:0:1:0: [sr1] CDB: Read(10): 28 00 00 01 e2 40 00 00 02 00
    [  259.569672] end_request: I/O error, dev sr1, sector 493824
    [  259.569678] Buffer I/O error on device sr1, logical block 61728
    [  262.126613] sr 1:0:1:0: [sr1] Unhandled sense code
    [  262.126619] sr 1:0:1:0: [sr1] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
    [  262.126625] sr 1:0:1:0: [sr1] Sense Key : Medium Error [current] 
    [  262.126631] sr 1:0:1:0: [sr1] Add. Sense: Unrecovered read error
    [  262.126638] sr 1:0:1:0: [sr1] CDB: Read(10): 28 00 00 01 e2 40 00 00 02 00
    [  262.126654] end_request: I/O error, dev sr1, sector 493824
    [  262.126660] Buffer I/O error on device sr1, logical block 61728
    

    and
    [  449.029406] sr 1:0:0:0: [sr0] Unhandled sense code
    [  449.029412] sr 1:0:0:0: [sr0] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
    [  449.029418] sr 1:0:0:0: [sr0] Sense Key : Medium Error [current] 
    [  449.029424] sr 1:0:0:0: [sr0] Add. Sense: L-EC uncorrectable error
    [  449.029431] sr 1:0:0:0: [sr0] CDB: Read(10): 28 00 00 01 e2 40 00 00 02 00
    [  449.029447] end_request: I/O error, dev sr0, sector 493824
    [  449.029452] Buffer I/O error on device sr0, logical block 61728
    [  456.907161] sr 1:0:0:0: [sr0] Unhandled sense code
    [  456.907166] sr 1:0:0:0: [sr0] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
    [  456.907172] sr 1:0:0:0: [sr0] Sense Key : Medium Error [current] 
    [  456.907179] sr 1:0:0:0: [sr0] Add. Sense: L-EC uncorrectable error
    [  456.907186] sr 1:0:0:0: [sr0] CDB: Read(10): 28 00 00 01 e2 40 00 00 02 00
    [  456.907202] end_request: I/O error, dev sr0, sector 493824
    [  456.907208] Buffer I/O error on device sr0, logical block 61728
    [  464.898303] sr 1:0:0:0: [sr0] Unhandled sense code
    [  464.898309] sr 1:0:0:0: [sr0] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
    [  464.898315] sr 1:0:0:0: [sr0] Sense Key : Medium Error [current] 
    [  464.898322] sr 1:0:0:0: [sr0] Add. Sense: L-EC uncorrectable error
    [  464.898329] sr 1:0:0:0: [sr0] CDB: Read(10): 28 00 00 01 e2 40 00 00 02 00
    [  464.898345] end_request: I/O error, dev sr0, sector 493824
    [  464.898350] Buffer I/O error on device sr0, logical block 61728
    

    but I can make an ISO image of the disc just fine using Imgburn and can even mount it and access it just fine too. Here`s the log from Imgburn making an ISO image of the disc, as you can see there are no errors reported.
    I 14:13:11 ImgBurn Version 2.5.5.0 started!
    I 14:13:11 Microsoft Windows XP Professional (5.1, Build 2600 : Service Pack 3)
    I 14:13:11 Total Physical Memory: 3,002,324 KB  -  Available: 2,214,972 KB
    I 14:13:11 Initialising ASPI...
    I 14:13:11 WNASPI32.DLL - Adaptec`s ASPI Layer - ASPI for Win32 (95/NT) DLL - Version 4.71.2.0
    I 14:13:11 Searching for SCSI / ATAPI devices...
    I 14:13:11 -> Drive 1 - Info: TSSTcorp CDDVDW SH-S222A SB02
    I 14:13:11 -> Drive 2 - Info: LITE-ON LTR-52246S 6S0F
    I 14:13:11 Found 1 CD-RW and 1 DVD±RW/RAM!
    I 14:14:26 Operation Started!
    I 14:14:26 Source Device: [0:0:0] TSSTcorp CDDVDW SH-S222A SB02
    I 14:14:26 Source Media Type: CD-R (Disc ID: 97m26s66f, CMC Magnetics Corp.) (Speeds: 8x, 16x, 24x, 32x, 40x, 48x)
    I 14:14:26 Source Media Sectors: 123,458
    I 14:14:26 Source Media Size: 252,841,984 bytes
    I 14:14:26 Source Media Volume Identifier: Stuff
    I 14:14:26 Source Media Volume Set Identifier: 4D1BBD8A(NULL)
    I 14:14:26 Source Media Application Identifier: CDBurnerXP 4.3.8.2474
    I 14:14:26 Source Media Implementation Identifier: NMS DVDProLib
    I 14:14:27 Source Media File System(s): ISO9660, Joliet, UDF (1.02)
    I 14:14:27 Read Speed (Data/Audio): MAX / 8x
    I 14:14:27 Hardware Read Error Retries: 2
    I 14:14:27 Destination File: I:\ISO`s\Stuff.iso
    I 14:14:27 Destination Free Space: 300,591,083,520 Bytes (293,545,980 KB) (286,665 MB) (279 GB)
    I 14:14:27 Destination File System: NTFS
    I 14:14:27 File Splitting: Auto
    I 14:14:46 Reading Session 1 of 1... (1 Track, LBA: 0 - 123457)
    I 14:14:46 Reading Track 1 of 1... (MODE1/2048, LBA: 0 - 123457)
    I 14:17:45 Exporting Graph Data...
    I 14:17:45 Graph Data File: C:\users\user\Application Data\ImgBurn\Graph Data Files\TSSTcorp_CDDVDW_SH-S222A_SB02_FRIDAY-MAY-13-2011_2-14_PM_97m26s66f.ibg
    I 14:17:45 Export Successfully Completed!
    I 14:17:45 Operation Successfully Completed! - Duration: 00:03:18
    I 14:17:45 Average Read Rate: 1,247 KB/s (8.3x) - Maximum Read Rate: 1,717 KB/s (11.4x)
    

    (the `I` at the beginning of each line is just from a little `info` icon, for some reason it translates into the letter `I` when everything is copied and pasted)
  • atreyu
    atreyu Posts: 216
    Edwin,

    Sorry, missed your reply. I forgot to try running dolphin on my Kubuntu box @home - will try that later tonite. In the mean time, why don't put an entry in /etc/fstab for your CD-ROM? It won't hurt to try...
    /dev/sr0   /media/cdrom   iso9660   noauto,managed,ro   0 0
    

    once you've saved that to your fstab, try inserting a CD-ROM and see if it auto-mounts. You may need to make the /media/cdrom dir first. If it doesn't auto-mount, then in a terminal, try this command and see what errors you get:
    mount /media/cdrom
    
  • I figured out I can use `pmount` as normal user and force it to identify the filesystem type as `iso9660` just like the mount command I had success using as root. I can even tell it specifically where to mount a disc and it will create the mount point itself in /media. It doesn`t create an entry in my `Places` panel but that`s ok I created a manual link in it that points to the location `/media/cdrom` and I just use
    pmount -r -t iso9660 /dev/sr1 cdrom
    

    to mount it at that location and
    pumount /dev/sr1
    

    to unmount it.

    So I have a relatively easy to use method for accessing those troublesome discs now it seems. Again thank you for all of your help with trying to figure this out, now I just need to hack together a shell script that I can use to `toggle` the mounting on each drive. I think I can do it if there is a bash equivalent to the msdos `if exist` batch file command. using it to check first to see if the mountpoint actually exists or not (since unmounting a device with `pumount` also causes the mountpoint to be removed), so if I can detect if the /media/cdrom mountpoint already exists then I can have it issue the pumount command to unmount the device, and if it doesn`t exist then have it issue the pmount command to mount, it of course I`ll want to provide some feedback so I know wether it was successful or not and if I can find out how to send popup messages to the notification window in the system tray then I think I`ll have everything I need.

    Again thank you for all your help trying to figure this out. I think I`m going to just plan on using pmount since it seems to be able to deal with mounting these discs without any real problem.

    Thank you,
    bartman2589
  • atreyu
    atreyu Posts: 216
    you're welcome! just curious, it sounds like auto-mounting is not working still - is that right? if I were you, i'd not give up on that, you should be able to do that!
  • The more I look at the dmesg output from when I just simply put the disc in the drive without attempting to manually mount it but instead relying on the automount feature the more I think that whatever program I used to write these discs might have messed up some crucial part of the disc that the automount process needs to be able to read in order to be able to determine what filesystem is being used by the disc. In particular I was looking at the lines
    [ 9249.926985] end_request: I/O error, dev sr1, sector 493824
    [ 9249.926991] Buffer I/O error on device sr1, logical block 61728
    

    that seems to accompany every attempt to allow the automount process to mount this disc. I even get the same line basically when I try the disc in my other drive. And when I try the disc in all 3 drives in my other system (of course 2 of those drives are the exact same make/model/firmware revision as the 2 in my main system, the 3rd is just a simple LG 48x CD reader) I get the same error as well, specifically referencing `logical block 61728`. By manually telling it to use only iso9660 based filesystems then it`s not looking at the messed up data I think but instead already knows to go to certain parts of the disc I`m guessing. I get similar errors when I try to let automount mount the other troublesome discs but the location on the disc appears to be different, I`m guessing that the automount process just can`t handle discs with any defects on them so it just completely fails to mount them. Here`s the dmesg output from another disc I have trouble with:
    [10208.605716] sr 1:0:0:0: [sr0] Unhandled sense code
    [10208.605722] sr 1:0:0:0: [sr0] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
    [10208.605728] sr 1:0:0:0: [sr0] Sense Key : Medium Error [current] 
    [10208.605735] sr 1:0:0:0: [sr0] Add. Sense: L-EC uncorrectable error
    [10208.605742] sr 1:0:0:0: [sr0] CDB: Read(10): 28 00 00 04 89 42 00 00 02 00
    [10208.605758] end_request: I/O error, dev sr0, sector 1189128
    [10208.605763] Buffer I/O error on device sr0, logical block 148641
    [10213.365756] sr 1:0:0:0: [sr0] Unhandled sense code
    [10213.365761] sr 1:0:0:0: [sr0] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
    [10213.365768] sr 1:0:0:0: [sr0] Sense Key : Medium Error [current] 
    [10213.365774] sr 1:0:0:0: [sr0] Add. Sense: L-EC uncorrectable error
    [10213.365781] sr 1:0:0:0: [sr0] CDB: Read(10): 28 00 00 04 89 42 00 00 02 00
    [10213.365798] end_request: I/O error, dev sr0, sector 1189128
    [10213.365803] Buffer I/O error on device sr0, logical block 148641
    [10218.019127] sr 1:0:0:0: [sr0] Unhandled sense code
    [10218.019132] sr 1:0:0:0: [sr0] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
    [10218.019138] sr 1:0:0:0: [sr0] Sense Key : Medium Error [current] 
    [10218.019145] sr 1:0:0:0: [sr0] Add. Sense: L-EC uncorrectable error
    [10218.019152] sr 1:0:0:0: [sr0] CDB: Read(10): 28 00 00 04 89 42 00 00 02 00
    [10218.019168] end_request: I/O error, dev sr0, sector 1189128
    [10218.019174] Buffer I/O error on device sr0, logical block 148641
    [10222.672283] sr 1:0:0:0: [sr0] Unhandled sense code
    [10222.672289] sr 1:0:0:0: [sr0] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
    [10222.672295] sr 1:0:0:0: [sr0] Sense Key : Medium Error [current] 
    [10222.672302] sr 1:0:0:0: [sr0] Add. Sense: L-EC uncorrectable error
    [10222.672308] sr 1:0:0:0: [sr0] CDB: Read(10): 28 00 00 04 89 42 00 00 02 00
    [10222.672325] end_request: I/O error, dev sr0, sector 1189128
    [10222.672330] Buffer I/O error on device sr0, logical block 148641
    

    notice the `I/O error` messages just like with the other disc (albeit with a different location on the disc), again the automount fails to mount it, but pmount mounts it just fine and I was again able to copy all of the files off of the disc without any errors being reported. I`m starting to think it`s not the fault of the automount process (at least not entirely), I just think it`s not capable of handling discs with minor defects very well, defects that most other programs seem to be able to cope with just fine I`m guessing. Anyway pmount lets me do what I needed to do and it`ll be a nice challenge to write a shell script to be able to mount them with only a couple clicks as opposed to having to manually type out a mount command each time.

Categories

Upcoming Training