Я записал макет (диск поршня) драйвер блочного устройства для ядра Linux. Когда драйвер загружается, я вижу его как/dev/mybd.
Я могу успешно передать данные на него с помощью dd команду, сравнить скопированные данные успешно.
Проблема состоит в том, что, когда я создаю ext2/3 файловую систему на нем, я должен использовать-o опцию цикла с командой монтирования. Иначе смонтируйте сбои со следующим результатом:
смонтируйтесь: неправильный тип фс, плохая опция, плохой суперблок на mybd, пропуская кодовую страницу или программу помощника или другую ошибку
Какова могла быть проблема? Помогите.
Спасибо.
Создайте файловую систему на устройстве перед его монтированием:
mkfs -t ext2 /dev/mybd
или
mke2fs /dev/mybd
Устройство цикла используется для монтирования специальных файлов блоков в файловой системе Linux. имитируя их как блочные устройства. Следовательно, монтирование выдает ошибку.
Я вижу, вы начинаете сначала. Вкратце о вашей предыдущей попытке: вы удостоверились, что ваше устройство появилось в / dev как блочное устройство, а не как символ ?
Хм, если он работает с -o loop
и не работает без него, то у меня для вас плохие новости: ваше «устройство» на самом деле представляет собой простой файл в / dev. Что показывает ls -l / dev / mybd
? Если его размер файла не равен нулю, это обычный файл, не имеющий отношения к вашему драйверу.
Используйте mknod
, чтобы самостоятельно создать файл устройства.