CD-Writing HOWTO в переводе Максима Дзюманенко --------------------------------------------------------------- Origin: Linux CD-Writing HOWTO http://linux.ru.net/book/html/CD-Writing-HOWTO.html Ё http://linux.ru.net/book/html/CD-Writing-HOWTO.html ---------------------------------------------------------------
<truemper@guug.de>
<admapril@april.kiev.ua>
Многие люди записывают CD-ROMы, потому что это надежно и просто. Никаких "голубых экранов" в процессе записи, и никакой головной боли о правильной комбинации аппаратуры и программ. Все работает, если один раз установлено правильно. CD-writing HOWTO объясняет установку, как поместить данные на носитель и получить некоторые интересные применения, любезно посланные читателями.
Copyright Winfried TrЭmper 1996,1997,1998,1999. All rights reserved.
Распространение и использование, с или без модификаций, разрешено если обеспечено то, что имя автора не использовалось для подтверждения или содействия продуктов производных от этого документа без особого предварительного письменного разрешения.
Автор не дает никаких гарантий относительно этого документа, включая все неявные гарантии возможности продажи и пригодности для некоторых целей; ни в коем случае автор не несет ответственности за преднамеренные, косвенные или важные повреждения или любые повреждения имеющие результатом потери использования, данных или дохода, при действии контракта, небрежности или других сомнительных действий, возникающих не или связанных с использованием этого документа.
Коротко: Читайте и используйте на ваш собственный риск.
CD-R FAQ - общее FAQ о устройствах записи компакт-дисков (CD-R).
Большинство CD_writers может читать CD-ROM, так что Вы можете прочитать Linux CD-ROM HOWTO, Linux SCSI HOWTO и Linux Kernel HOWTO.
CD-ROM обозначает Compact Disc Read Only Memory (Постоянное Запоминающее Устройство на Компактных Дисках), носитель использует оптический лазер, для восприятия микроскопических ям (питов - pits) на диске с изменяющейся степенью отражения. (Отражение происходит от слоя аллюминия, который является носителем). Ямки представляют биты информации (некоторым способом) и настолько миниатюрны, что на диске помещаются несколько миллиардов. Таким образом CD-ROM - высокоемкое устройство памяти.
Термин CD-R - короткая форма CD-ROM recordable и относится к CD-ROM, который не имеет " микроскопических ям " на поверхности ..., таким образом он пустой. Вместо алюминиевого слоя (серебряного) CD-R имеет специальную пленку (окрашенную) в который "микроскопические ямы" могут быть выжжены. Это делается, с помощью лазера, который обычно только считывает ямы, но немного больше мощности - и он создает ямы. Это может производиться только один раз на CD-R. Вы можете оставить некоторую площадь для записи позже, создавая так называемый мультисессионный CD-ROM.
CD-ROM rewritable (коротко: CD-RW) были разработаны, чтобы снять ограничения CD-R носителей. Здесь лазер не только может создавать питы на поверхности, но и также может приводить носитель в исходное состояние. Это возможно потому, что лазер на самом деле не создает дыр в носителе - Вы не видите струйки дыма при создании и голоса говорящего "цель уничтожена". То что делает лазер на самом деле - изменяет на противоположное фазу, итак это называется "устройства со сменой фаз" для CD-RW-writers. Например, похожая техника используется в повседневной жизни для чистящей машины на ледовом стадионе: в перерывах между играми, машина едет по льду и заполняет царапины во льду (->биты содержащие чуть-чуть информации о игре), расплавляя осколки.
Это HOWTO описывает запись CD-R и CD-RW. Добро пожаловать на борт, капитан.
Детализированный список моделей, которые, как сообщено работают или не работают под различными UNIX-подобными операционными системами, доступен в online http://www.guug.de:8080/cgi-bin/winni/lsc.pl.
Здесь исчерпывающая сводка устройств, которые работают с cdrecord:
Acer: CDRW 6206A
BTC: BCE 621E (IDE)
Compro: CW-7502, CW-7502B
Creative: RW 4224E
Dysan: CRW-1622
Elite: Elite b444.41
Grundig: CDR 100 IPW
Guillemot: Maxi CD-R 4X/8X
HP: SureStore 4020i, SureStore 6020i,
C4324, C4325
CD-Writer+ 7100, CD-Writer+ 7200i,
CD-Writer+ 8100i, CD-Writer+ 8110i,
Hi-Val: CDD 2242, CDD-3610,
JVC: XR-W2001, XR-W2010, XR-W2042, R-2626
Kodak: PCD 200, PCD 225, PCD 260, PCD 600
Matsushita: CW-7502
Memorex: CRW-620, CRW-1622
Microboards: PlayWrite 2000, PlayWrite 4000RW, PlayWrite 4001RW
MicroNet: MasterCD Plus 4x4, MasterCD Plus 4x6
Mitsubishi: CDRW-226
Mitsumi: CR-2401-TS, CR-2600 TE, CR-2801 TE, CR-4801 TE
Nomai: 680.RW
OTI: CDRW 965
Olympus: CDS 615E, CDS 620E
Optima: DisKovery 650 CD-R
OTI: CDRW 965
Panasonic: CW-7502, CW-7582
Philips: CDD-521/10, CDD-522
CDD-2000, CDD-2600, CDD-3600, CDD-3610
Omniwriter 26, Omniwriter 26A
Plasmon: CDR 480, CDR 4220, RF-4100, RF-4102, CDR 4400
Plextor: CDR PX-24 CS, PX-412 C, PX-R412 C
PX-R810Ti, PleXwriter 412C
Procom: PCDR 4
Ricoh: RO-1420C+, MP 1420C, MP 6200S, MP 6201S, MP 7040A
Sanyo: CRD-R24S
Smart and
Friendly: CD-RW226, CD-R1002, CD-R1002/PRO, CD-R1004,
CD-R2004, CD-R2006 PLUS, CD-R2006 PRO,
CD-R4000, CD-R4006, CD-R4012
Sony: CDU 920S, CDU 924, CDU 926S, CDU-928E,
CDU 948S, CDRX 100E
Taiyo Yuden: EW-50
TEAC: CD-R50S, CD-R55S, CDR-55S, CDR-56S-400
Traxdata: CRW 2260, CDR 4120, CDRW 4260,
Turtle Beach: 2040R
WPI (Wearnes): CDRW-622, CDR-632P
YAMAHA: CDR-100, CDR 102, CDR-200, CDR-200t, CDR-200tx
CDR-400, CDR-400c, CDR-400t, CDR-400tx, CDR-400Atx
CRW-2260, CRW-2260t,
CRW-4250tx, CRW-4260 t, CRW-4260 tx, CRW-4261,
CRW-4416 S
Таблица 1: CD-writers поддерживаемые под Linux
Если ваши аппаратные средства не поддерживаются, Вы можете использовать Linux, для создания образа CD, а затем для записи образа на CD-R Вы должны использовать программу ДОС или Macintosh. Вы можете делать так, потому что большинство программ для ДОС не может работать с длинными именами файлов, доступными в Linux.
В настоящее время программы для создания CD под Linux поддерживает следующие основные свойства:
Свойство cdwrite-2.1 cdrecord-1.6 cdrdao
--------------------------------------------------------------
IDE/ATAPI нет да да
Параллельный порт нет да да
CD-RW нет да да
AudioCD да да да
Data CD-ROM да да частично
Multisession частично да нет
TAO (Track at once) да да да
DAO (Disk at once) нет нет да
Таблица 2:
cdwrite
- устаревшая программа только для сравнения. Пожалуйста используйте cdrecord
вместо нее, т.к. она поддерживает больший набор аппаратуры и имеет больше свойств.
Главное назначение cdrdao - создавать аудио CD без двухсекундных пропусков между треками
(запись в режиме disk-at-once mode). Задача форматировщиков данных - организовать данные на носителе
("поместить на них файловую систему")
Свойство mkisofs mkhybrid
--------------------------------------------
ISO 9660 да да
RockRidge да да
El Torito да да
HFS нет да
Joliet да да
Multisession да да
Таблица 3:
Большинство явных различий файловой системы ISO9660, по сравнению с Extended-2 файловой системой, - вы не можете модифицировать файлы, после записи на носитель. Ограничения файловой системы ISO9660 следующие.
RockRidge расширение, для использования более длинных имен файлов и более глубокой иерархии каталога. Это расширение не доступно, при чтении CD под DOS или операционными системами семейства Windows.
El Torito может использоваться, для создания загрузочных CD. BIOS вашего PC тоже должен поддерживать эту функцию. Грубо говоря, первые 1.44 Мб CD-ROMа содержат образ вашей дискеты. Этот образ обрабатывается как дискета, при загрузке с него.
HFS позволяет читать macintosh CD-ROM, как будто это HFS том (родная файловая система MacOs)
Joliet добавляет длинные имена файлов (среди прочих вещей) для новых вариантов Windows (95, NT). Автор не знает инструментов для работы с длинными именами под чистым DOS или Windows 3.11
Секция 2.8 описывает упомянутое программное обеспечение.
Если Вы хотите присоединиться к группе разработки (с намерением активно помогать им), пошлите
электронное письмо на
cdwrite-request@other.debian.org
и поместите слово, subscribe
в теле сообщения.
Самая новая версия этого документа всегда доступна на http://www.guug.de/~winni/linux/.
Если Вы правильно установили вашу аппаратуру и Linux, команда cdrecord -scanbus
покажет вам список устройств имеющихся для записи. Цель этой главы - полностью установить
вашу Linux систему, т.о. в конце Вы должны получить что-то вроде:
shell> cdrecord -scanbus
Cdrecord release 1.7a1 Copyright (C) 1995-1998 JЖrg Schilling
scsibus0:
0) 'Quantum ' 'XP34300 ' 'F76D' Disk
1) 'SEAGATE ' 'ST11200N ' '8334' Disk
2) *
3) 'TOSHIBA ' 'MK537FB/ ' '6258' Disk
4) 'WANGTEK ' '5150ES SCSI-36 ' 'ESB6' Removable Tape
5) 'EXABYTE ' 'EXB-8500-85QUE ' '0428' Removable Tape
6) 'TOSHIBA ' 'XM-3401TASUNSLCD' '3593' Removable CD-ROM
7) *
scsibus1:
100) 'Quantum ' 'XP31070W ' 'L912' Disk
101) *
102) *
103) 'TEAC ' 'CD-R55S ' '1.0H' Removable CD-ROM
104) 'MATSHITA' 'CD-R CW-7502 ' '4.02' Removable CD-ROM
105) *
106) 'YAMAHA ' 'CDR400t ' '1.0d' Removable CD-ROM
107) *
Листинг 1: Обнаружение устройств на вашей SCSI-шине
Пример предоставлен JЖrg Schilling и показывает всего четыре CD-writers. Последний столбец дает SCSI описание устройства, по которому вы не сможете отличить обычное CD-ROM устройство от устройства с возможностью записи. Но идентификатор продукта часто содержит подсказку об этом свойстве в R, -R, или -RW.
Ядро Linux может быть оснащено драйверами для различных свойств. Вы можете компилировать драйвера в образ ядра статически, или компилировать как модули и загружать при необходимости. Последний метод предпочтительней для драйверов не существенных для оживления вашей Linux системы. Например: если ваша система находится на жестком диске IDE, драйвер жесткого диска IDE должен содержаться в ядре, а не в модуле.
Существует три различных типа CD-writer-ов: SCSI, IDE/ATAPI и внешние устройства на параллельный порт. Таблица 4 показывает как сконфигурировать ядро Linux для этих типов аппаратуры. Первый столбец таблицы - секция конфигурационного меню ядра, где Вы видите установки. Второй столбец - описание свойства (взятое из конфигурационного меню тоже). Третий столбец - показывает имя результирующего модуля. Столбцы названые SCSI, IDE и PP содержат необходимую опцию для соответствующей аппаратуры (PP= параллельный порт)
Sect. Description Module SCSI IDE PP
------------------------------------------------------------
BLOCK Enhanced IDE/MFM/RLL... Y
BLOCK IDE/ATAPI CDROM ide-cd M
BLOCK SCSI hostadaptor emulation ide-scsi M
BLOCK Loopback device loop M M M
PARIDE Parallel port IDE device paride Y/M
PARIDE Parallel port ATAPI CD-ROMs M
PARIDE Parallel port generic ATAPI M
PARIDE (select a low-level driver) Y
SCSI SCSI support scsi_mod Y/M Y/M
SCSI SCSI CD-ROM support sr_mod Y/M Y/M
SCSI Enable vendor-specific Y Y
SCSI SCSI generic support sg Y/M Y/M
SCSI (select a low-level driver) Y
FS ISO 9660 CDROM filesystem iso9660 Y Y Y
FS Microsoft Joliet cdrom... joliet M M M
Таблица 4:
Y обозначает, что вы должны включить пункт в ядро. M означает модуль, и подразумевает, что Вы должны скомпилировать это свойство как модуль. Y/M дает вам возможность выбрать (порядок показывает выбор с меньшим количеством потенциальных проблем). Пустые места не требуют модификации, и не изменение их увеличивает шанс, что ядро, в результате,будет работать как Вы хотите (если работало ранее).
В особенности в случае, когда применяются устройства и SCSI, и ATAPI, скомпилируйте большинство вещей как модули.
Для проверки активности драйверов в ядре (для обоих случаев: статических и динамических), Вы можете прочитать файл /proc/devices. Для проверки который из них является модулем, есть команда 'lsmod'. Для проверки того, какие модули имеются для загрузки существует команда 'modprobe -l'. Если Вам нужен модуль не имеющийся в Вашей системе, Вы должны перекомпилировать и переустановить Ваше ядро. Пожалуйста, читайте Kernel-HOWTO для более подробной информации. Большинство информации о модулях ядра Вы можете прочитать в Module-HOWTO.
Если Вы успешно создали или нашли требуемые модули, то либо добавьте их имена в /etc/modules, либо они загружаются автоматически (kerneld, kmod). Сверьтесь с документацией на Ваш дистрибутив Linux, если не уверены.
Петлевое устройство - необязательное свойство, которое помогает Вам тестировать образ перед записью на носитель.
Если Вы хотите читать CD-ROMы, Вам нужна поддержка для файловой системы ISO9660. Этот драйвер автоматически включает поддержку расширения RockRidge. Если у Вас есть MS Joliet расширение, cкомпилируйте его как модуль и загружайте его.
В любом случае, Вам нужен драйвер нижнего уровня для вашей аппаратуры. Драйвером нижнего уровня называется драйвер, который взаимодействует прямо с аппаратурой. Для SCSI и параллельного порта, есть много драйверов нижнего уровня, которые описываются ниже.
До версии 2.2.10, не включайте CONFIG_SCSI_MULTI_LUN ('probe for multiple luns') и ide-scsi поддержку в месте, существует ide-scsi ошибка которая мешает этому.
Некоторые пользователи сообщают о конфликтах с предкомпилированными бинарниками и 2.2-релизом. Это проблемы ядра Linux. Решения:
С 2.2 и выше, Вы можете выбрать который драйвер (IDE или SCSI) использовать для ATAPI устройства. Важно: опции для выбора какой драйвер используется для какого устройства различны в 2.0 и 2.2.
С 2.2, Вы указываете какое устройство не обрабатывать как IDE/ATAPI устройство используя параметр ignore= при загрузке ide модуля. Например: используем "modprobe ide-cd ignore=hdb", если ваш ATAPI-writer hdb и Вы хотите чтобы ide-scsi драйвер обрабатывал hdb как scsi-устройство(обычно sr0). Нет пути указать эту опцию в командной строке ядра (как в 2.0)
Ядра до 2.0.31 имеют несколько ошибок и не могут считать последний файл на CD-ROM. Пожалуйста обновите до 2.0.37.
С 2.0.36 и выше Вы можете выбрать какой драйвер (IDE или SCSI) использовать с ATAPI устройством. Чтобы быть более точным, Вы можете добавить свойство "SCSI emulation" в Ваше ядро и активировать эмуляцию для указанных устройств в командной строке ядра (перед/в процессе загрузки). Например, если Ваш CD-writer на устройстве /dev/hdb, тогда добавьте выражение hdb=ide-scsi
image=/boot/zImage-2.0.36
label=Linux
read-only
append="hdb=ide-scsi"
Листинг 2: Пример конфигурации для lilo (/etc/lilo.conf)
linux "Linux 2.0.36" {
image=/boot/zImage-2.0.36
cmdline= root=/dev/hda5 readonly hdb=ide-scsi
}
Листинг 3: Пример конфигурации для chos (/etc/chos.conf)
После установки всех необходимых драйверов, загрузите новое ядро. Оно должно содержать все необходимые Вам свойства для следующий секций.
{Пользователи devfs могут не беспокоится о следующих шагах ручной установки файлов устройств. Если Вы используете devfs, все будет автоматически появляться в нужном месте.}
Войдите в /dev
-каталог и проверьте петлевые устройства
Это не критично, если у Вас нет этих устройств, но удобнее если есть. (см. 3.5).
ls
-команда должна показать loop0
-loop7
:
shell> cd /dev
shell> ls loop*
loop0 loop1 loop2 loop3 loop4 loop5 loop6 loop7
Листинг: файлы устройств для обратной связи
Если у Вас нет этих устройств, создайте их, используя /dev/MAKEDEV
-скрипт:
shell> cd /dev/
shell> modprobe loop
shell> ./MAKEDEV loop
Листинг: команды для создания петлевых устройств
Последняя команда выполняется правильно, если у Вас есть loop
-модуль в ядре.
loop-файлы устройств могут быть применены ко всем другим файлам устройств (sg*, pg*, hd*, ...) и это
не явно указано в следующем.
ATAPI подразумевает "SCSI-команды по IDE шине". Другими словами, Ваши устройства IDE/ATAPI говорят по SCSI протоколу (с некоторыми ограничениями) и таким образом могут работать как будто они SCSI устройства.
Под Linux вы можете сделать, чтобы ваш IDE-writer появлялся, как SCSI устройство, используя свойство ядра "SCSI (hostadaptor) emulation". Т.о. активируйте соответствующий ide-scsi модуль, как описано выше, и продолжайте как будто у Вас SCSI-writer.
Пожалуйста убедитесь, что Ваш writer распознался BIOSом Вашего компьютера. Не имеет смысла продолжать, если компьютер не принял аппаратуру (требуется сообщение на экране).
Если Вы планируете соединять Ваше SCSI устройство к параллельному порту, Вам нужен специальный кабель и специальный драйвер ядра. Прочтите http://www.torque.net/parport/parscsi.html, чтобы узнать больше об этой опции.
Файлы устройств /dev/sd* и /dev/sr* для доступа к SCSI жестким дискам и SCSI CD-ROM-ам ограничены блочно-ориентированными передачами данных. Это делает их быстрыми и идеально подходящими для накопителей. Управление лазером CD-writer-а более сложная задача и требует больше, чем блочные передачи. Для сохранения sd* и sr* устройств быстрыми и чистыми, был введен новый тип SCSI устройств и назван обобщенными SCSI устройствами. С помощью обобщенных устройств со SCSI-аппаратурой может быть сделано все, они не предназначены для конкретной цели - следовательно называются обобщенными.
Как и другие устройства, Вы можете найти их в /dev каталоге (по соглашению)
shell> cd /dev
shell> ls sg*
sg0 sg1 sg2 sg3 sg4 sg5 sg6 sg7
Если у Вас нет этих файлов устройств, тогда создайте их используя /dev/MAKEDEV
скрипт:
shell> cd /dev/
shell> ./MAKEDEV sg
Если в Вашем дистрибутиве Linux отсутствует скрипт /dev/MAKEDEV, тогда создайте устройства вручную таким циклом:
for i in 0 1 2 3 4 5 6 7
do
mknod /dev/sg$i c 21 $i
done
Извините, но у меня нет догадок относительно этого. Пожалуйста, читайте http://www.torque.net/parport/paride.html или ваш локальный файл /usr/src/linux/Documentation/paride.txt.
Более детальный обзор инструментов связанных с созданием CD-ROM-ов имеется на http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdb.html.
Один из следующих пакетов нужен, для создания образов CD-R: (требуется только для CD-ROM с данными)
ftp://tsx-11.mit.edu/pub/linux/packages/mkisofs/ (mkisofs)ftp://ftp.ge.ucl.ac.uk/pub/mkhfs (mkhybrid)
Для записи образов на CD-R, Вам нужен один из следующих программных пакетов:
ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/ (cdrecord)http://www.ping.de/sites/daneb/cdrdao.html (cdrdao)
Не доверяйте странице руководства (старой) mkisofs
, которая заявляет, что
Вам нужна версия 1.5 cdwrite
. Используйте только cdrecord, и все будет в порядке.
Пожалуйста, заметьте, что mkisofs поставляемый с cdrecord имеет несколько расширений
(указанных в документации на cdrecord).
Оболочки являются действительно оболочками под Linux. Это означает, Вы должны установить утилиты командной строки, но доступ к ним выполняется лучше выглядящим способом.
X-CD-Roast - программный пакет посвященный простому созданию CD под Linux.
Она объединяет инструменты командной строки, такие как cdrecord
и mkisofs
,
в хороший графический интерфейс.
http://www.fh-muenchen.de/home/ze/rz/services/projects/xcdroast/e_overview.html
BurnIT - JAVA оболочка к cdrecord, mkisofs и cdda2wav-0.95, создающая полный пакет для создания CD на UNIX платформе. Она доступна по
http://sunsite.auc.dk/BurnIT/
XDaodio
Это графическая оболочка к cdrdao. Главная ее цель - 1:1 копирование аудио CD.
http://www.lrz-muenchen.de/~MarkusTschan/
"If to smoke you turn I shall not cease to fiddle while you burn." (Император Нерон о рождении его собственных классических-CD AD64. Он не понимал это полностью.)
Обычно запись CD под Linux выполняется в 2 шага:
cdrecord
Эта глава описывает шаги для data-CD и audio-CD более детально.
Обычно это занимает больше времени, чем Вы ожидаете. Не забудьте, что отсутствующие файлы не могут быть добавлены, как только CD записан и зафискирован.
Также напомните, что некоторое количество дискового пространства CD используется для помещения информации о ISO-9660 файловой системе (обычно несколько мегабайт). 620Мб данных всегда поместится на 650Мб CD-R.
Перед использованием любого носителя (например гибкого диска, жесткого диска или CD) надо создать файловую систему (DOS формулировка: отформатировать). Эта файловая система ответственна за организацию и объединение файлов, которые должны быть сохранены на носителе.
Обычно утилиты для создания файловой системы на разделе жесткого диска записывают пустую файловую систему на них, которая затем монтируется и заполняется фалами, как нужно пользователю. Записываемый CD только одноразово записываем, так если мы записали бы пустую файловую систему, он станет форматированным - но останется полностью пустым навсегда.: Это также справедливо для перезаписываемых носителей, т.к. Вы не можете произвольно изменять сектора, но Вы можете стереть все содержимое.
таким образом Вам нужен инструмент для создания файловой системы в процессе копирования файлов на CD. Этот
инструмент называется mkisofs
. Типовый запуск выглядит так:
mkisofs -r -o cd_image private_collection/
`---------' `-----------------'
| |
записать выход в взять каталог как вход
Опция '-r ' устанавливает права всех файлов на чтение всем на CD и разрешает расширение Rock Ridge.
Это обычно то, что нужно и использование этой опции рекомендуются, пока Вы поймете, что Вы
делаете (подсказка: без '-r ' точка монтирования получает права доступа private_collection
!).
mkisofs
пробует отобразить все имена файлов в формате 8.3, используемым DOS, чтобы гарантировать самую
высокую возможную совместимость. В случае конфликтов имен (различные файлы имеют тот же самое 8.3 имя),
в именах файла используются числа, и информация относительно выбранного имени файла печатается в STDERR
(обычно экран). Не паникуйте: Под Linux Вы никогда не будете видеть эти 8.3 имен файла, потому что Linux использует RockRidge
расширение, которое содержит первоначальную информацию файла (разрешения, имя файла, и т.д.).
Сейчас Вы можете удивиться, почему выход mkisofs непосредственно не послан на устройство записи CD. Этому есть три причины:
mkisofs
ничего не знает о устройствах записи CDМетод записи CD-R за один проход описан ниже.
Можно было подумать о создании дополнительного раздела для этого и записывать изображения на тот раздел взамен файла. Я против такой стратегии, потому что, если Вы записываете на неправильный раздел (из-за ошибки при наборе команды), Вы можете полностью потерять Linux-систему (читайте: это уже со мной случалось). Кроме того, это - трата дискового пространства, потому что CD-изображение - временные данные, которые могут быть удалены после записи CD. Однако использование сырого раздела сохраняет время при удалении файла размером 650Мб (Если у Вас достаточно дискового пространства, дополнительный раздел может сохранить Вам время на удаление образа).
Linux может монтировать файлы, как разделы диска. Этот свойство полезно для проверки расположения каталогов образа CD и разрешений на доступ к файлам CD. В то же время носители сейчас очень дешевы, а процесс записи продолжителен, и Вы, по крайней мере, можете захотеть сохранить время быстрым тестированием.
Чтобы монтировать файл cd_image
созданный выше в каталог /cdrom
,
дайте команду
mount -t iso9660 -o ro,loop=/dev/loop0 cd_image /cdrom
Теперь Вы можете проверить файлы в /cdrom
- они появляются точно так, как они будут на реальном CD.
Для демонтирования CD-изображения просто umount /cdrom
(Предупреждение: Если Вы не использовали
опцию '-K ' для mkisofs, тогда последний файл на /cdrom не может быть полностью читаемым. Пожалуйста, используйте более
позднее ядро, такое ка 2.0.36. опция -pad для mkisofs применяется только для audio-CD и необязательная опция -pad для mkisofs
требует заплаты, которую труднее применить, чем обновить ядро на свободное от ошибок).
Обратите внимание:
Некоторые древние версииmount
не способны работать с петлевыми устройствами. Если у Вас такая старая версияmount
, это - повод, чтобы обновить вашу Linux-систему.Несколько людей уже предложили помещать информацию относительно того, как получить самые новые утилиты монтирования в это HOWTO. Я всегда отказываюсь от этого. Если Ваш дистрибутив Linux работает с древним
mount
: воспринимайте это как ошибку. Если Ваш дистрибутив Linux трудно обновляем: воспринимайте это как ошибку.Если бы я включил всю необходимую информацию при работе с ошибками плохих дистрибутивов Linux, этот HOWTO был бы намного больше и тяжелее для чтения.
Больше ничего не осталось делать. Если Вы не устали, лучшее время для команды
cdrecord -scanbus
Она должна сказать Вам к какому SCSI-устройству подсоединен Ваш CD-writer. Все другие методы предполагаемой информации так любезно выводимой cdrecord-ом удалены из HOWTO (в особенности немного опасная схема именования обобщенных SCSI устройств).
Перед тем, как показать Вам последнюю команду, позвольте мне предупредить Вас, что устройства записи CD должны обеспечиваться постоянным потоком данных, потому что у них маленький объем буферной памяти. Т.о. процесс записи образа CD не должен прерываться, или в результате CD будет испорчен. Достаточно просто прервать поток данных удаляя большой файл. Например: если Вы удаляете предыдущий образ размером 650Мб, ядро должно обновить информацию о 650000 блоках на жестком диске (предполагается размер блока 1Кб на Вашей файловой системе). Это требует некоторое время и очень похоже на замедление дисковой активности на несколько секунд. Однако, чтение почты, просмотр web или компиляция ядра обычно не сказывается на процессе записи на современных машинах.
Пожалуйста обратите внимание, что нет устройства записи, которое может снова устанавливать лазер и продолжать в первоначальном месте на CD, если оно сбилось. Следовательно любые сильные колебания или механический удар возможно уничтожит CD, который Вы пишете.
Если Вы мысленно подготовлены, оденьте черный халат, умножте SCSI-id устройства CD на номер версии SCSI и зажгите столько свечей, произнесите две главы ASR-FAQ (группа новостей alt.sysadmin.recovery) и в конце наберите: (прим. пер.: вовсе не обязательно выполнять все эти религиозные темочки :)
shell> SCSI_BUS=0 # взято из листинга 1 "scsibus0:"
shell> SCSI_ID=6 # взято из листинга 1 "TOSHIBA XM-3401"
shell> SCSI_LUN=0
shell> cdrecord -v speed=2 dev=$SCSI_BUS,$SCSI_ID,$SCSI_LUN \
-data cd_image
# то же, что и выше, но короче:
shell> cdrecord -v speed=2 dev=0,6,0 -data cd_image
Для лучшей читаемости, координаты устройства записи помещены в три переменные окружения с именами:SCSI_BUS, SCSI_ID, SCSI_LUN. Опция -data non-mandatory но это дает создать командную строку подобную той, которая используется для записи audio-CD.
Если Вы использует cdrecord для перезаписи CD-RW, Вы должны добавить опцию "blank=..." для стирания старого содержимого. Пожалуйста прочтите man-страницу для понимания различных методов очистки содержимого CD-RW.
В то время, когда каждый, исключая меня, имеет 400МГц машину, люди направляют выход mkisofs прямо на cdrecord:
shell> IMG_SIZE=`mkisofs -R -q -print-size private_collection/ 2>&1 \
| sed -e "s/.* = //"`
shell> echo $IMG_SIZE
shell> [ "0$IMG_SIZE" -ne 0 ] && mkisofs -r private_collection/ \
|cdrecord speed=2 dev=0,6,0
tsize=${IMG_SIZE}s -data -
# не забудьте s --^ ^-- чтение данных с STDIN
Первая команда запускается для определения размера образа (для этого Вам нужен mkisofs из дистрибутива cdrecord). Может быть Ваш writer не требует указания размера образа, тогда Вы можете это пропустить. Полученный размер должен быть подставлен как tsize-параметр для cdrecord (он помещается в переменную окружения IMG_SIZE). Вторая комманда - последовательность mkisofs и cdrecord, соединенные в поток.
Запись audio-CD очень похожа на шаги описанные выше. Есть два главных отличия: audio-CD состоит из аудио треков, которые организованы как отдельные образы. Т.о. если Вы хотите создать 10 треков на Вашем CD, Вы должны создать десять образов. Второе отличие - формат образов не ISO9660 (или подготовленной файловой системы), а "16 бит стерео выборки в PCM кодировании на 44100 выборок/секунду (44.1кГц)".
Одна из утилит для конвертирования звуковых файлов в требуемый формат - sox. Ее использование следующее:
shell> sox killing-my-software.wav killing-my-software.cdr
Эта команда должна преобразовать песню killing-my-software из WAV-формата в CDR-формат. См. man-страницу sox для подробностей о форматах и расширениях файлов, которые распознает sox. Т.к. преобразование требует много дискового пространства, в cdrecord была встроена функция преобразования из WAV и AU. Теперь, если Ваши файлы имеют расширение .wav или .au (и формат стерео 16 бит 44.1 кГц), Вы можете использовать их как образы без ручного преобразования.
cdrecord записывает образы как audio-треки, если указана опция -audio. Другие опции идентичны используемым при записи CD с данными (если у Вас не специфические требования). Три примера делают одно и то же, но читают треки из различных форматов звуковых файлов:
shell> cdrecord -v speed=2 dev=0,6,0 -audio track1.cdr track2.cdr...
shell> cdrecord -v speed=2 dev=0,6,0 -audio track1.wav track2.wav...
shell> cdrecord -v speed=2 dev=0,6,0 -audio track1.au track2.au...
Специальный случай MPEG-3 файлы, которые могут быть конвертированы в требуемый формат командой "mpg123 -s track1.mp3>track.cdr". (Предостережение: это создает файлы в байтовом порядке, что требует обращения используя опцию -swap в cdrecord). Другие направления могут быть сделаны с "8bz-mp3" для WAV файлов (извлечь трек с cdda2wav с CD и закодировать в MP# с 8Hz-mp3). Для создания CD_R из кучи MP3 файлов, Вы можете использовать следующую командную последовательность.
for I in *.mp3
do
mpg123 -s $I | cdrecord -audio -pad -swab -nofix -
done
cdrecord -fix
В зависимости от скорости Вашей машины, Вы можете занизить запись до "speed=1" (опция cdrecord). Если вы используете "speed=4", Ваша машина должна быть способна проигрывать MP3 файлы с учетверенной скоростью. mpg123 требует много процессорного времени! Если Вы волнуетесь, попробуйте просто с опцией -dummy (оставит лазер выключенным). В настоящее время вы можете создавать audio-CD, которые имеют двухсекундные паузы между треками.
Если Вы хотите избежать пауз между звуковыми треками, вы должны использовать disk-at-once (DAO) вместо track-at-once (TAO) записи описанной выше. В настоящее время DAO поддерживается в основном в cdrdao. Пожалуйста смотрите ее домашнюю страницу для подробностей.
Используя параметр read-cd, Вы также можете создавать 1:1 копии audio-CD.
Осталось немного сказать. Просто укажите типы (последовательно) образов с опцией -data и -audio. Пример:
cdrecord -v dev=0,6,0 -data cd_image -audio track*.cdr
Другими словами , эта секция обычно известна как "часто задаваемые вопросы и ответы". Если у Вас проблемы с Вашим партнером, детьми или собакой, просто отвлекитесь,на запись CD-R или другое развлечение.