Документация по ОС FreeBSD Пятница, 26.04.2024, 14:00
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Мои статьи [0]
Установка и настройка [281]
X Window [25]
Man pages [30]
Ports & Packages [26]
cvs [18]
Multimedia [20]
Нововсти в мире Unix [0]
RFC [4]
RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Безопасность [52]
Работа с железом [58]
Книги по FreeBSD [17]
Сеть [505]
Программирование [40]
FireWall [58]
Темы экзамена BSDA [14]
Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.

Главная » Статьи » Multimedia

Оболвань чертенка [2006]

При использовании утилит командной строки для прожига дисков нужно учесть несколько особенностей этого дела. Во-первых, перед записью диска необходимо создать его образ, то есть файловую систему, которая будет помещена на диск. Для этого мы будем использовать программу mkisofs. Во-вторых, существует несколько утилит, предназначенных для непосредственной записи образа на диск. В статье мы рассмотрим штатную программу burncd, а также cdrecord, которую можно установить из портов. В-третьих, burncd и cdrecord не подходят для записи DVD-дисков. Их мы будем резать при помощи growisofs из пакета dvd+rw-tools.

создаем iso-образ

Утилита mkisofs, нужная нам для создания файловой системы диска, находится в пакете cdrtools вместе с программой cdrecord. Поэтому обратимся к системе портов:

# cd /usr/ports/sysutils/cdrtools
# make install -DMKISOFS

Утилита mkisofs довольно проста в использовании, но принимает очень много флагов. Самые важные из них можно увидеть на соответствующей врезке.

Последние три опции совсем не обязательны. Обычно они используются при создании дисков с ОС на борту. Например, для двухдисковой версии FreeBSD, в поле Application ID может значиться «FreeBSD 5.5», а Volume ID будет различно: «Disk 1» и «Disk 2». Для нас эти опции не представляют интереса, мы будем использовать только флаги -J (для совместимости с Windows) и -R (для совместимости с UNIX).

Для создания образа достаточно выполнить такую команду:

$ mkisofs -J -R -o cd.iso каталог

В результате, файл cd.iso будет содержать все файлы указанного каталога. Обязательно убедись, что размер образа не превышает 700 Мб.

прожигаем

Образ диска и пустая болванка готовы, пора приступать к прожигу диска. Сперва разберем пример со стандартной программой burncd. Она принимает несколько флагов и команд. Рассмотрим их подробнее:

-f - позволяет указать файл устройства резака;
-m - создание мультисессионного диска;
-s - скорость резака (стандартное значение - 1, чтобы включить максимальную скорость, необходимо указать max);
-t - тестовый режим.

При записи также необходимо использовать несколько команд:

data - указывает на то, что мы хотим записать данные;
audio - пишем аудио-треки;
fixate - генерация записи TOC (Table Of Contents), указывается последней.

Запись ТОС нужна практически всегда, без нее компьютерный привод не сможет прочитать диск с данными. А в случае создания аудио-диска она не нужна.

Для того чтобы записать на диск наш ISO-образ, применим такую команду:

# burncd -s max data cd.iso fixate

Не возбраняется также смешивание данных с аудио-треками:

# burncd -s max data cd.iso audio track1 track2 fixate

В случае необходимости, от промежуточного ISO-образа можно избавиться, пропустив вывод команды mkisofs на вход burncd через канал:

# mkisofs -J -R каталог | burncd -s max data - fixate

Но здесь нужно быть осторожным: если данные в канал будут поступать с недостаточной скоростью, то ты рискуешь испортить болванку.

Теперь рассмотрим пример с программой cdrecord. У нее гораздо более гибкое управление, но она способна работать только со SCSI-устройствами. Это не проблема: благодаря atapicam в FreeBSD можно выдать любой ATAPI-резак за SCSI-устройство. Кроме того, особенность cdrecord в том, что она адресует резак не через файл устройства как burncd, а через SCSI-адрес (scsibus,target,lun). Пусть тебя это не пугает, так как, используя команду «cdrecord -scanbus», легко узнать SCSI-адрес резака.

Для начала следует выяснить, присутствует ли в ядре поддержка atapicam. Для этого набираем команду «camcontrol devlist». Если в списке устройств не будет ATAPI-привода, значит придется пересобрать ядро, добавив в его конфиг строку «device atapicam». Далее набираем «cdrecord –scanbus» и смотрим адрес SCSI-устройства. На скриншоте это адрес 1,1,0. Его мы и будем использовать в дальнейшем.

Чтобы определить характеристики резака, можно дать команду «cdrecord –checkdrive». В частности, нас интересует полезнейшая технология защиты от опустошения буфера (burnfree).

Когда все готово, можно приступать к прожигу диска (опция -dummy включает тестовый режим):

# cdrecord dev=1,1,0 speed=52 driveropts=burnfree cd.iso

Опция 'speed=52' позволяет разогнать резак на максимально допустимой скорости, «driveropts=burnfree» задействует одноименную технологию.

На этом мы заканчиваем разговор о CD-R и переходим к DVD-R.

Для создания DVD-дисков следует использовать утилиту growisofs из пакета dvd+rw-tools (/usr/ports/sysutils/dvd+rw-tools). Это единственная программа из нашего обзора, работать с которой действительно просто. Чтобы поместить на DVD-диск содержимое каталога, достаточно выполнить одну простую команду:

# growisofs -Z /dev/acd0 -R -J каталог

Программа сама запустит mkisofs (с флагами -R и -J) для создания ISO-образа и пометит его на диск. Добавить новую сессию не сложнее:

# growisofs -M /dev/acd0 -R -J каталог

Записать готовый ISO-образ еще проще:

# growisofs -M /dev/acd0=cd.iso

мультисессия

Если с мультисессионными DVD-дисками все очень и очень просто, то с CD-R придется позаморачиваться. Во-первых, возможность добавления новой сессии нужно предусмотреть, не закрывая предыдущую сессию. Для этого следует использовать флаг '-multi' в случае использования cdrecord или '-m' в случае с burncd. Во-вторых, при создании образа для новой сессии команде mkisofs необходимо передать номера начального и конечного секторов, полученные в свою очередь при помощи команды «cdrecord dev=1,1,0 –msinfo» или «burncd msinfo». Вся последовательность команд выглядит примерно следующим образом (на примере cdrecord):

1 Пишем первую сессию: «cdrecord dev=1,1,0 speed=52 driveropts=burnfree -multi cd.iso»;
2 Снимаем значение MSINFO: «MSINFO=`cdrecord dev=1,1,0 -msinfo 2>/dev/null`"»;
3 Создаем ISO-образ со второй сессией: «mkisofs -J -R -C $MSINFO -M 1,1,0 -o cd2.iso»;
4 Пишем вторую сессию: «cdrecord dev=1,1,0 speed=52 driveropts=burnfree -multi cd2.iso».
 

ОПЦИИ MKISOFS

-O - УКАЗАТЬ ИМЯ ISO-ОБРАЗА.

-B - СОЗДАТЬ ЗАГРУЖАЕМЫЙ ДИСК (EL TORITO). СЛЕДОМ ЗА ОПЦИЕЙ НЕОБХОДИМО УКАЗАТЬ ПУТЬ ДО ЗАГРУЗЧИКА, РАЗМЕР КОТОРОГО ДОЛЖЕН БЫТЬ РАВЕН 1200, 1440 ИЛИ 2880 КБ.

-F - СЛЕДОВАТЬ СИМВОЛИЧЕСКИМ ССЫЛКАМ (ЧТОБЫ НЕ ЗАПИСАТЬ НА ДИСК ССЫЛКУ, УКАЗЫВАЮЩУЮ НА ФАЙЛ, РАСПОЛОЖЕННЫЙ НА ЖЕСТКОМ ДИСКЕ).

-J - РАСШИРЕНИЕ JOLIET ОТ MICROSOFT. ИМЕНА ФАЙЛОВ В КОДИРОВКЕ UNICODE, ДЛИНА ИМЕН - 64 СИМВОЛА.

-R - РАСШИРЕНИЕ ROCK RIDGE. ВОЗМОЖНОСТЬ СОЗДАТЬ НА ДИСКЕ ФАЙЛЫ УСТРОЙСТВ, СИМВОЛИЧЕСКИЕ ССЫЛКИ, А ТАКЖЕ НАЗНАЧИТЬ ФАЙЛАМ ПРАВА ДОСТУПА.

-R - ТО ЖЕ, ЧТО И -R, НО С НЕКОТОРЫМИ ИСКЛЮЧЕНИЯМИ. ВЛАДЕЛЕЦ ФАЙЛА И ГРУППА ВЫСТАВЛЯЮТСЯ В НОЛЬ, ПРАВА НА ЧТЕНИЕ ВЫСТАВЛЯЮТСЯ ДЛЯ ВСЕХ ФАЙЛОВ, ВСЕ БИТЫ ЗАПИСИ И СПЕЦИАЛЬНЫЕ БИТЫ ОЧИЩАЮТСЯ. ЕСЛИ В ПРАВАХ НА ФАЙЛ ХОТЬ ОДИН БИТ ИСПОЛНЕНИЯ УСТАНОВЛЕН, УСТАНАВЛИВАЮТСЯ И ДРУГИЕ. ВСЕ ЭТО НУЖНО ДЛЯ ТОГО, ЧТОБЫ ДИСК МОЖНО БЫЛО ПРОЧИТАТЬ В ЛЮБОЙ UNIX-СИСТЕМЕ, НЕЗАВИСИМО ОТ ИЗНАЧАЛЬНЫХ ПРАВ ДОСТУПА.

-A - APPLICATION ID, НАЗВАНИЕ ЗАПИСЫВАЕМОЙ ПРОГРАММЫ.

-V - VOLUME ID, МЕТКА ТОМА.

-P - PREPARER ID. ИМЯ СОЗДАТЕЛЯ ДИСКА.

 
ЧТОБЫ ПРОСМОТРЕТЬ СОДЕРЖИМОЕ ISO-ОБРАЗА, НЕ МОНТИРУЯ ЕГО, МОЖНО ВОСПОЛЬЗОВАТЬСЯ ДВУМЯ КОМАНДАМИ: «MDCONFIG -A -T VNODE -F CD.ISO MD0 && MOUNT -T CD9660 /DEV/MD0 /CDROM»

ПОЛЕЗНЫЕ ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ: CDROM - ФАЙЛ УСТРОЙСТВА РЕЗАКА (BURNCD), CDR_DEVICE - SCSI-АДРЕС РЕЗАКА (CDRECORD), CDR_SPEED - СКОРОСТЬ РЕЗАКА

ПО УМОЛЧАНИЮ DMA-РЕЖИМ НЕ ВКЛЮЧАЕТСЯ ДЛЯ ATAPI-УСТРОЙСТВ. ЕСЛИ ХОЧЕШЬ ВЫЖАТЬ ИЗ РЕЗАКА СКОРОСТИ ВЫШЕ 4X, ДОБАВЬ В /BOOT/LOADER.CONF СТРОКУ «HW.ATA.ATAPI_DMA=1»



Источник: http://www.xakep.ru/magazine/xs/069/030/1.asp
Категория: Multimedia | Добавил: oleg (06.03.2008) | Автор: ЕВГЕНИЙ ЗОБНИН АКА J1M
Просмотров: 1667 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024