Монтаж без -o петли

Я написал фиктивный (ram диск) драйвер блочного устройства для ядра Linux. Когда драйвер загружен, я вижу его как /dev/mybd.

Я могу успешно перенести на него данные с помощью команды dd, успешно сравнить скопированные данные.

Проблема в том, что когда я создаю на нем файловую систему ext2/3, я должен использовать опцию -o loop с командой mount. В противном случае монтирование завершится неудачно со следующим результатом:

mount: неверный тип fs, неверный параметр, плохой суперблок на mybd, отсутствующая кодовая страница или вспомогательная программа или другая ошибка

В чем может быть проблема? Пожалуйста помоги.

Благодарю.

4 ответа

Хм, если это работает с -o loop и без этого не работает, тогда у меня для вас плохие новости: ваше "устройство" на самом деле просто файл в /dev. Что значит ls -l /dev/mybd шоу? Если его размер файла не равен нулю, это обычный файл, и он не имеет ничего общего с вашим драйвером.

использование mknod создать файл устройства самостоятельно, если это необходимо.

Я вижу, вы начинаете все заново. В качестве краткого замечания о вашей предыдущей попытке, вы убедились, что ваше устройство появилось в /dev как блочное устройство, а не как символьное?

Создайте файловый элемент на устройстве перед его монтированием:

mkfs -t ext2 / dev / mybd

или же

mke2fs /dev/mybd

Устройство loop используется для монтирования блочных специальных файлов в файловой системе linux, эмулируя их как блочные устройства. Следовательно, монтирование выдает ошибку.

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