
У меня есть дешевый mp3-плеер на 2Gig. Он хорошо работает с файловой системой Windows, но в Linux, должно быть, есть какие-то трюки, которые я упускаю из виду. Формат в целом хорош со следующими опциями:
mkfs.vfat -I -F 32 -n "Mp3" /dev/sdb
(да, у него нет таблицы разделов, он используется в режиме «большой дискеты»). Моя единственная проблема в том, что я не могу просмотреть корневой каталог на устройстве.
Linux видит файловую систему, и я могу копировать файлы, создавать каталоги, воспроизводить их, но устройство видит в корневом каталоге мусорные папки (совершенно случайные символы), содержащие еще больше случайных каталогов и т. д.
Я думаю, проблема в том, что mkfs создает очень короткую запись корневого каталога, а прошивка на устройстве ожидает, что следующие сектора также содержат записи каталога, когда на самом деле они содержат мусор. Есть ли какие-либо дополнительные опции, чтобы mkfs.vfat
сделать его более похожим на dos?
решение1
Вам следует использовать файловую систему FAT16 вместо FAT32. Вы также можете использовать либо раздел, либо все устройство, это не имеет значения. У меня была та же проблема, и в моем случае я отформатировал свой mp3player следующей командой:
root:~# mkdosfs -n IAUDIO -F16 -f2 -v /dev/sdb1
mkdosfs 3.0.16 (01 Mar 2013)
/dev/sdb1 has 65 heads and 62 sectors per track,
logical sector size is 2048,
using 0xf8 media descriptor, with 1024640 sectors;
file system has 2 16-bit FATs and 16 sectors per cluster.
FAT size is 64 sectors, and provides 64030 clusters.
There are 16 reserved sectors.
Root directory contains 1024 slots and uses 16 sectors.
Volume ID is 1034e7d3, volume label IAUDIO .
И теперь всё работает как надо.