Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

This is sort of a continuation from How to mount a .bin image file in linux but it morphed into a different problem altogether, so I figured I'd ask a new question with the relevant info rather than making a gigantic comment chain.

I have a drive, which I believe is fat32, that I cannot mount:

> file-sk: /dev/dm-2: x86 boot sector, code offset 0x58, OEM-ID "BSD 4.4",
sectors/cluster 64, heads 255, sectors 3907024821 (volumes > 32 MB) , FAT (32 bit),
sectors/FAT 476816, reserved3 0x1000000, reserved 0x1, serial number 0x5cb415f7,
label: "SOURCE-PSE " DOS executable (COM), boot code –

When I try to mount, it gives the filesystem/badblock error, and this is the dmesg

> mount -o ro -t vfat /dev/dm-2 /mnt/bsp2
mount: wrong fs type, bad option, bad superblock on /dev/mapper/loop1p1,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

> dmesg | tail
[155824.015650] FAT: IO charset iso8859-1 not found

User osgx led me down the path that the reason that iso isn't found, is because it's not loaded in the kernel. My kernal config is here: http://pastebin.com/j7iS7RF3

I listed the relevant mods I could find, and modprobed all of them.

> modprobe -l | grep fs
kernel/fs/nfs_common/nfs_acl.ko
kernel/fs/nls/nls_cp437.ko
kernel/fs/binfmt_misc.ko
kernel/fs/configfs/configfs.ko
kernel/fs/fscache/fscache.ko
kernel/fs/squashfs/squashfs.ko
kernel/fs/fat/fat.ko
kernel/fs/fat/vfat.ko
kernel/fs/fat/msdos.ko
kernel/fs/isofs/isofs.ko
kernel/fs/nfs/nfs.ko
kernel/fs/exportfs/exportfs.ko
kernel/fs/nfsd/nfsd.ko
kernel/fs/lockd/lockd.ko
kernel/fs/cifs/cifs.ko
kernel/fs/ufs/ufs.ko
kernel/fs/autofs4/autofs4.ko
kernel/fs/xfs/xfs.ko
kernel/fs/btrfs/btrfs.ko

The important one I believed to me isofs. But when I run modinfo on it, it says it's just iso9660. Since I'm assuming I need iso8559-1 (or 7), I guess it's not available? It's clearly listed in the kernel config as m which I thought it meant it would install as a module, but I'm not seeing those iso types available. Any help would be MUCH appreciated. Thanks!

share|improve this question

1 Answer 1

up vote 3 down vote accepted

It's a language (character set) issue, rather than a pure filesystem one.
you need option CONFIG_NLS_ISO8859_1=y.

Update for modularity
Given that your kernal already supports module loading:
CONFIG_NLS_ISO8859_1=m
make && make modules_install
modprobe nls_iso8859-1

share|improve this answer
    
And then what? Rebuild the kernel? Is there no way to modprobe it active? –  UltimateBrent Aug 7 '11 at 23:08
    
Updated for modprobe. –  84104 Aug 7 '11 at 23:51
    
So if that modprobe command doesn't work on it's own, I need to rebuild the kernel either way? –  UltimateBrent Aug 8 '11 at 2:18
    
You cannot load a module you have not have. However, you will not have to replace your kernel/reboot if you build it. –  84104 Aug 8 '11 at 2:49
1  
So instead of that, since this is on EC2, I just made a new instance of a suse premade that had vfat ready to go, and all was well. You were right, I just didn't do it that way. :) –  UltimateBrent Aug 8 '11 at 5:34

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.