О блоге

Все новые материалы размещаются на Блогосайте alv.me. Старые - в процессе переноса.

26.07.2008

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

Как известно, образы для записи 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

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