ext2 - все файлы имеют нулевой размер

Я работаю над устаревшей системой, следовательно ext2. Я загружаю Linux с syslinux. Я создаю пустой образ диска с помощью dd и /dev/zero, затем делю его на 2 раздела с помощью parted и создаю файловые системы. Одна файловая система - это fat32, а другая - ext2. Я должен использовать ext2, а не FAT32, так как я сталкиваюсь с максимальным количеством файлов в каталоге FAT32 (предыдущие неудачные решения по проектированию системы, которые я не могу изменить в данный момент). После создания файловых систем я поместил syslinux на один раздел, а затем скопировал все ресурсы системы (графику и звуки) во второй раздел. Теперь у меня есть bin-файл, который я могу записать на CF-карту (да, если бы она была устаревшей, но нуждается в обслуживании).

Linux загружается правильно каждый раз.

Проблема после загрузки: иногда это работает отлично, а иногда нет. Раздел ext2 будет смонтирован, но в нем указаны все размеры файлов как ноль, в остальном все работает. Я не могу понять какой-либо образец этого.

Что может быть причиной того, что файловая система периодически монтируется, перечисляет файлы, но показывает все размеры файлов как ноль?

Я даже переписал образ с карты cf обратно на жесткий диск, сделал петлевое устройство со смещением раздела ext2, смонтировал его и, конечно же, файлы и их данные фактически находятся на диске. Они просто неправильно отображаются при использовании карты cf для загрузки целевой системы.

ОБНОВЛЕНИЕ: я первоначально сделал файловую систему с

mkfs -t ext2 /dev/loop0

Но, конечно, вы должны добавить размер файловой системы (в блоках) к команде mkfs. Теперь это работает каждый раз. Очевидно, вы не можете получить размер базового файла из /dev/loop0, поэтому размер должен быть явно указан.

0 ответов

Другие вопросы по тегам