Это своего рода продолжение Как смонтировать файл образа .bin в Linux но это вообще превратилось в другую проблему, поэтому я решил, что задам новый вопрос с соответствующей информацией, а не буду создавать гигантскую цепочку комментариев.
У меня есть диск fat32, который я не могу смонтировать:
> 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 –
Когда я пытаюсь смонтировать, он выдает ошибку файловой системы / плохого блока, и это 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
Пользователь osgx привел меня к выводу, что причина того, что iso не найден, заключается в том, что он не загружен в ядро. Конфигурация моего ядра находится здесь: http://pastebin.com/j7iS7RF3
Я перечислил соответствующие моды, которые смог найти, и протестировал их все.
> 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
Важный, как я считал, isofs. Но когда я запускаю на нем modinfo, он говорит, что это просто iso9660. Поскольку я предполагаю, что мне нужен iso8559-1 (или 7), я думаю, он недоступен? Это явно указано в конфигурации ядра как m
что, как я думал, означает, что он будет установлен как модуль, но я не вижу доступных типов iso. Любая помощь приветствуется. Спасибо!
Это проблема языка (набора символов), а не чисто файловой системы.
вам нужен вариант CONFIG_NLS_ISO8859_1 = y.
Обновление для модульности
Учитывая, что ваш ядро уже поддерживает загрузку модулей:
CONFIG_NLS_ISO8859_1=m
make && make modules_install
modprobe nls_iso8859-1