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
и отправить на запись.