DragonFly: монтирование образов CD- и DVD-дисков

26 апреля 2005 г

Как известно, образы для записи CD- и DVD-дисков во всех Linux’ах и BSD’ях создаются посредством утилиты mkisofs. После чего и записываются тем или иным образом:-) (cdrecord там, или burncd). Однако нередко, прежде чем портить болванку, возникает желание посмотреть — а то ли собрано в образ, что нужно?

В Linux’ах это делается посредством монтирования loop-устройства. Во FreeBSD 5-й ветки — с помощью доступа к универсальному устройству md (Memory Disk), как это было описано ранее. DragonFly же унаследовал от FreeBSD 4-й ветки понятие псевдоустройства vn (Virtual Node). Поскольку многие уже могли забыть, что это такое (а начинающие пользователи — и не знать никогда), позволю им (и себе не в последнюю очерерь) вкратце напомнить, как это делается.

Для начала нужно обеспечить поддержку псевдоустройтсва vn. Она может быть встроена в ядро — по умолчанию в ядре GENERIC ее нет, — для чего из файла /usr/src/sys/i386/conf/LINT в файл конфигурации текущего ядра нужно перетащить строку

pseudo-device vn #Vnode driver (turns a file into a device)

и выполнить пересборку, как это было описано здесь.

Однако делать это отнюдь не обязательно — псевдоустройство vn поддерживается и модульно, а все возможные модули в DragonFly собраны по умолчанию. Так что достаточно подгрузить нужный

S kldload vn

чтобы поддержка Virtual Nodes стала реальностью. После чего остается только поставить в соответствие определенному /dev/vn# файл ранее созданного образа диска. Это делается специальной утилитой

$ vnconfig /dev/vn0 /path_to/filename.iso

где /dev/vn0 — имя файла псевдоустройства (очевидно, что в качестве номера может быть использован любой наличный в каталоге /dev и ранее не задействованный). Каковое и монтируется самым обычным образом:

$ mount -t cd9660 /dev/vn0 /mnt/iso

Теперь состав собранного образа можно просмотреть командами типа ls или в любом файловом менеджере. И, убедившись в правильности сборки, размонтировать

$ umount /mnt/iso

и отправить на запись.