*Drive*- Здесь рулят padonki

*Drive* - Counter Strike Source
Текущее время: 28 мар 2024, 17:59

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: CD-Writing HOWTO
СообщениеДобавлено: 27 дек 2007, 18:02 
Не в сети
padonki
Аватар пользователя

Зарегистрирован: 14 авг 2006, 20:43
Сообщений: 3750
Благодарил (а): 9 раз.
Поблагодарили: 96 раз.
1. Введение
вопрос, пожалуйста, убедитесь, что у Вас самая свежая версия этого документа; он всегда доступен
с <http>.
Домашняя страница перевода - <http>. Последние версии, в пер-
вую очередь, появляются тут.
1.3 Рекомендуемая литература
CD-R FAQ <http> - общий FAQ о устройствах записи компакт-
дисков (CD-R), устройствах CD-writer и требуемых программах.
Большинство устройств записи CD способно читать CD-ROM, так что Вы можете прочитать Linux
CD-ROM HOWTO, Linux SCSI HOWTO и Linux Kernel HOWTO.
1.4 Терминология ... лазеры на максимум ... огонь!
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 носите-
лей. Здесь лазер не только может создавать питы на поверхности, но и также может приводить
носитель в исходное состояние. Это возможно потому, что лазер, на самом деле, не создает дыр в
носителе, которые должны теряться в струйке дыма. Подходящая аналогия для техники - хоккей:
игрок (лазер), когда едет по льду, оставляет царапину на нем. Рисунок на льду (носителе) хранит,
что происходило на льду в течение периода. Между периодами игры, чистящая машина Zamboni
ездит по льду и заполняет царапины, расплавляя самый верхний слой льда. (Zamboni - известная
торговая марка чистящих машин для ледовых стадионов). Таким образом, рисунок на льду очи-
щается и начинается новый период. Научный термин для (испарения, конденсации) плавления и
замораживания - "смена фаз", таким образом CD-RW называются - устройства со сменой фаз.
Это HOWTO описывает запись CD-R и CD-RW. Добро пожаловать на борт, капитан.
1.5 Поддерживаемые CD-Writers
Вы можете свободно предположить, что большинство новых IDE/ATAPI и SCSI устройств работают
под Linux. Новые устройства в большинстве MMC-совместимые и таким образом поддерживаются.
Если SCSI-версия отдельного устройства работает, IDE/ATAPI-версия также будет работать, однако
некоторые люди чувствуют себя безопаснее и комфортнее прочитав их модель устройства в списке
совместимых. По этой причине я не удалил следующий список из HOWTO.
Здесь исчерпывающая сводка устройств, которые работают с cdrecord:
Acer: CDRW 6206A
BTC: BCE 621E (IDE)
Compro: CW-7502, CW-7502B
Creative: RW 4224E, MK 4211
Dysan: CRW-1622
Elite: Elite b444.41
3
1. Введение
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+ 7500e,
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, CRW-2224
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, CR-4802 TE
Nomai: 680.RW
Olympus: CDS 615E, CDS 620E
Optima: DisKovery 650 CD-R
OTI: CDRW 965, CDRW 975 (Socrates 1.0)
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
Samsung: SW-204
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, CDRX 120E
Taiyo Yuden: EW-50
TEAC: CD-R50S, CD-R55S, CDR-55S, CDR-56S-400
Traxdata: CRW 2260, CDR 4120, CDR 4120 Pro, 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
Таблица: CD-writers поддерживаемые под Linux
Детализированный список моделей, которые, как сообщено работают или не работают под раз-
личными UNIX-подобными операционными системами, доступен в online <http>.
Если ваши аппаратные средства не поддерживаются, Вы можете использовать Linux, для создания
образа CD. Вы можете делать так, потому что большинство программ для ДОС не может рабо-
тать с длинными именами файлов, доступными в Linux. На втором шаге Вы можете использовать
программу ДОС или Macintosh для записи образа на CD-R.
4
1. Введение
1.6 Поддерживаемые функции
Существует два класса утилит для записи CD-R: аппаратные драйвера и форматировщики данных:
Свойство cdwrite-2.1 cdrecord-1.6 cdrdao
--------------------------------------------------------------
IDE/ATAPI нет да да
Параллельный порт нет да да
CD-RW нет да да
AudioCD да да да
Data CD-ROM да да частично
Multisession частично да нет
TAO (Track at once) да да да
DAO (Disk at once) нет нет да
Таблица:
cdwrite - не поддерживаемая программа приводится только для сравнения. Пожалуйста используй-
те cdrecord вместо нее, т.к. она поддерживает больший набор аппаратуры и имеет значительно
больше свойств. Главное назначение cdrdao - создавать аудио CD без двухсекундных пропусков
между треками (запись в режиме disk-at-once mode). Утилиты называемые "форматировщики дан-
ных организовывают данные на носителе ("размещают на них файловую систему")
Свойство mkisofs mkhybrid
--------------------------------------------
ISO 9660 да да
RockRidge да да
El Torito да да
HFS нет да
Joliet да да
Multisession да да
Таблица:
Большинство явных различий файловой системы ISO9660, по сравнению с Extended-2 файловой си-
стемой, - вы не можете модифицировать файлы, после записи на носитель. Ограничения файловой
системы ISO9660 следующие.
• допускается только 8 уровней подкаталогов (считая от каталога верхнего уровня CD) (исполь-
зуется RockRidge расширение для увеличения этого числа)
• максимальная длина имени файла: 32 символа
• емкость 650 MB
RockRidge расширение, позволяющее более длинные имена файлов и более глубокую иерархию
каталогов для ISO-9660 файловой системы. При чтении CD-ROM с RockRidge расширением под
Linux, все известные свойства файлов собственник, группа, разрешения, символические ссылки
(воспринимаются ка UNIX-подобная файловая система). Эти расширения не доступны при чтении
CD-ROM под DOS или операционными системами семейства Windows.
El Torito может использоваться, для создания загрузочных CD. В этом случае BIOS вашего PC тоже
должен поддерживать эту функцию. Грубо говоря, первые 1.44 (или 2.88 если поддерживается)
Мб CD-ROMа содержат образ вашей дискеты. Этот образ обрабатывается BIOS как дискета, при
загрузке с него. (При загрузке с этого виртуального дисковода, ваше оригинальное устройство A:
(/dev/fd0) может быть не доступно).
HFS позволяет читать macintosh CD-ROM, как будто это HFS том (родная файловая система MacOs)
Joliet добавляет длинные имена файлов (среди прочих вещей) для новых вариантов Windows (95,
98, NT). Однако, автор не знает инструментов для работы с длинными именами под чистым DOS
или Windows 3.11
Секция 2.8 описывает упомянутое программное обеспечение.
5
2. Готовим ваш Linux к записи CD-ROM
1.7 Списки рассылки
Если Вы хотите присоединиться к группе разработки (с намерением активно помогать им), пошли-
те электронное письмо на cdwrite-request@other.debian.org и поместите слово, subscribe в теле
сообщения.
2 Готовим ваш Linux к записи CD-ROM
Эта секция применима ко всем типам CD-writer-ов, включая устройства SCSI, IDE/ATAPI и для
параллельного порта. Последние два типа устройств требуют драйверов совместимости, производя
впечатление реальных SCSI устройств. С одной строны такая унифицикация проста ("все есть
SCSI"), потому что на уровне приложений Вы можете разделять знания с другими пользователями
не взирая на свойства CD-writer-а. С другой стороны, Вы можете реконфигурировать приложения
подобные проигрывателям музыкальных CD или утилиту монтирования для отражения изменения
имени драйвера. Например, Ваш ATAPI CD-writer доступен через фал устройства /dev/hdc, Вы
можете иметь доступ посредством /dev/scd0 после активизации драйверов SCSI совместимости.
Если Вы правильно установили вашу аппаратуру и 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. Заметьте, что -scanbus
также показывает другие устройства, такие как CD-ROM и жесткие диски. Последний столбец дает
SCSI описание устройства, по которому вы не сможете отличить обычное CD-ROM устройство от
устройства с возможностью записи. Но идентификатор продукта (средний столбец) часто содержит
подсказку об этом свойстве в R, -R, или -RW.
2.1 Установка ядра Linux
Ядро Linux может быть оснащено драйверами для различных свойств. Вы можете компилировать
драйвера в образ ядра статически, или компилировать как модули и загружать при необходимости.
Последний метод предпочтительней для драйверов не существенных для оживления вашей Linux
системы, так как при этом ваше ядро будет меньше и быстрее. Однако, некоторые драйвера необ-
ходимы для системы и Вы не должны компилировать их как модули. Например: если ваша система
6
2. Готовим ваш Linux к записи CD-ROM
находится на жестком диске 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/Y M/Y M/Y
Таблица: выбор драйвера для различных типов устройств
Y обозначает, что вы должны включить пункт в ядро. M означает модуль, и подразумевает, что Вы
должны или можете скомпилировать это свойство как модуль. Y/M дает вам возможность выбрать
(порядок показывает выбор с меньшим количеством потенциальных проблем). Пустые места не
требуют модификации, и их не изменение увеличивает шанс, что ядро, в результате,будет работать
как Вы хотите (если работало ранее). Особенно при смешивании ATAPI и SCSI устройств, будет
лучше сконфигурировать большинство свойств как модули.
Компиляция петлевого устройство необязательна. Это поможет Вам тестировать образ перед за-
писью на носитель. Если Вы хотите читать CD-ROMы, Вам нужна поддержка файловой системы
ISO9660. Этот драйвер автоматически включает поддержку расширения RockRidge. Расширение
Microsoft Joliet, полностью добавлено в ISO9660 файловую систему. В любом случае Вам нужен
драйвер низкого уровня для Вашего оборудования. Низкий уровень обозначает драйвер, который
взаимодействует с вашим оборудованием. Для SCSI и параллельного порта существует много драй-
веров низкого уровня.
Для загрузки модулей Вы должны либо перечислить их в конфигурационном файле, таком как
/etc/modules или запустить демонов kerneld или kmod, которые автоматически загружают тре-
буемые модули когда ядро их ищет. Чтобы сделать Ващу жизнь проще, Вы можете добавить следу-
ющие строки в /etc/conf.modules:
alias scd0 sr_mod # загружает sr_mod при доступе к scd0
alias scsi_hostadaptor ide-scsi # эмуляция адаптера SCSI
options ide-cd ignore=hdb # если ваш CD-writer - /dev/hdb
Некоторые установки для использования IDE/ATAPI устройств записи
Псевдонимы (aliases) предоставляют альтернативные имена для тех же модулей и не существенны.
options предоставляют путь для создания опций для постоянной загрузки модуля, таким образом
7
2. Готовим ваш Linux к записи CD-ROM
Вы можете успешно использовать их с modprobe/insmod. Для информации о различных опциях для
различных модулей, читайте.
Описание Команда
-------------------------------------------------
Список активных драйверов cat /proc/devices
Список активных модулей cat /proc/modules
Список имеющихся модулей modprobe -l
Удалить модуль modprobe -r
Загрузить модуль вручную modprobe
Загрузить модуль при старте echo "перечислите их в /etc/modules"
(пожалуйста, сверьтесь с руководством вашего дистрибутива)
Загрузить модули по требованию echo "запустите kmod или kerneld"
Таблица: команды для работы с модулями ядра и драйверами
Если Вам нужен модуль не имеющийся в системе, вы должны перекомпилировать и переустановить
ядро. Для подробностей, пожалуйста, читайте Kernel HOWTO. Если Вы успешно создали или нашли
требуемые модули, либо добавьте их в /etc/modules или используйте автоматические возможности
(kmod, kerneld) для их загрузки. Сверьтесь с документацией вашего Linux дистрибутива, если не
уверены.
Если Вы сам себе хозяин, попробуйте установить пакет "Linux Kernel source", который прилагается
к Вашему дистрибутиву. После чего используйте следующие команды:
cd /usr/src/linux
make menuconfig # следуйте инструкциям и меню
make dep
make zImage # или "make bzImage"
# вставьте дискету перед продолжением
dd if=arch/i386/boot/zImage of=/dev/fd0
make modules
make modules_install
Таблица: создание загрузочной дискеты
Это должно создать загрузочную дискету. Если Вы действительно не догадываетесь о чем речь,
лучше прочитайте документацию Kernel HOWTO или попросите друга, прежде чем полностью
потеряете систему.
2.1.1 Специальные подсказки для ядра до 2.2.9
Владельцы ATAPI CD-writers внимание: если Ваше ядро обнаруживает Ваше устройство как ATAPI
при старте системы, у Вас нет шансов использовать CD-writer под Linux. Как только IDE/ATAPI
драйвер захватывает устройство, SCSI драйвер (поверх эмуляции SCSI адаптера) не сможет это
сделать. Пожалуйста, перекомпилируйте ядро с модульной поддержкой CD-ROM, как показано
выше.
С 2.2 и выше, Вы можете управлять прожорливостью ide-cd драйвера параметром "ignore=". Если
Вы используете это, драйвер не захватит указанное устройство, таким образом оно будет доступно,
когда активируется эмуляция адаптера SCSI. Например: используйте "modprobe ide-cd ignore=hdb",
если Ваше ATAPI устройство записи - hdb и Вы хотите, чтобы ide-scsi драйвер работал с hdb как
со scsi устройством [обычно sr0]. Нет пути указать это в командной строке ядра (как в ядре 2.0).
До версии 2.2.9, не включайте CONFIG_SCSI_MULTI_LUN (’probe for multiple luns’) и ide-scsi под-
держку вместе, существует ide-scsi ошибка которая мешает этому.
Некоторые пользователи сообщают о конфликтах с предкомпилированными бинарниками и 2.2-
релизом. Это проблемы ядра Linux. Решения:
• можно перекомпилировать cdrecord, таким образом включить действительные значения в
linux/include/scsi/sg.h Эти значения должны быть значениями запущенного ядра из-за немого
(dump) sg пользовательского интерфейса.
8
2. Готовим ваш Linux к записи CD-ROM
• Это может быть вызвано загружаемым sg драйвером, который не может получить достаточно
памяти для DMA (релизы ядра до 2.2.5)
2.1.2 Специальные подсказки для ядра 2.2.10 и выше
Мне сообщили, что ядра начиная с 2.2.10 продвинулись предоставляя обе опции из 2.0.x серии и
2.2.x серии. Автор рекомендует стратегию сообщения ядру, какое устройство ядра будет управ-
ляться каким драйвером, как в 2.0.37. Следующее описывает этот метод.
2.1.3 Специальные подсказки для 2.0 серии
Ядра до 2.0.31 имеют несколько ошибок и не могут считать последний файл на CD-ROM. По-
жалуйста обновите до 2.0.37 или выше. Для этой версии, свойство, которое называлось "SCSI
emulation"было переименовано в "SCSI host adapter emulation".
С 2.0.37 и выше Вы можете выбрать какой драйвер (IDE или SCSI) использовать с каким ATAPI
устройством. Чтобы быть более точным, Вы можете добавить свойство "SCSI hostadaptor emulation"в
Ваше ядро и активировать эмуляцию для указанных устройств в командной строке ядра (при загруз-
ке). Например, если Ваш CD-writer на устройстве /dev/hdb, тогда добавьте выражение hdb=ide-scsi.
Следующая распечатка показывает эти установки применимо к менеджерам загрузки LILO и chos.
image=/boot/zImage-2.0.37
label=Linux
read-only
append="hdb=ide-scsi"
Листинг 2: Пример конфигурации для lilo (/etc/lilo.conf)
linux "Linux 2.0.37" {
image=/boot/zImage-2.0.37
cmdline= root=/dev/hda5 readonly hdb=ide-scsi
}
Листинг 3: Пример конфигурации для chos (/etc/chos.conf)
2.2 Аппаратура и устройства
После установки всех необходимых драйверов, загрузите новое ядро. Оно должно содержать все
необходимые Вам свойства для следующий секций.
[Пользователи 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 # загрузить модуль loop
shell> ./MAKEDEV loop
Листинг: команды для создания петлевых устройств
9
2. Готовим ваш Linux к записи CD-ROM
Последняя команда выполняется правильно, если у Вас есть loop-модуль в ядре. Что Вы читали о
loop-файлах устройств может быть применимо ко всем другим файлам устройств (sg*, pg*, hd*, ...)
и это не явно указано далее в документе.
В случае, если Ваш дистрибутив Linux не содержит сценария /dev/MAKEDEV, создайте файлы
устройств вручную этим циклом:
for i in 0 1 2 3 4 5 6 7
do
mknod /dev/loop$i c 7 $i
done
2.2.1 IDE/ATAPI CD-writers
ATAPI - расширение для IDE устройств, которые существуют во всех новых IDE устройствах. Рас-
ширения позволяют использовать SCSI-протокол по IDE шине. Вместе с модулем ide-scsi, который
превращает Ваш IDE-контроллер частично в SCSI-контроллер, Вы можете обращаться с Вашими
IDE/ATAPI устройствами, как со SCSI. Таким образом просто загрузите этот модуль и продолжай-
те, как будто у Вас есть SCSI устройство.
2.2.2 SCSI-writers
Пожалуйста убедитесь, что Ваше устройство записи распознается BIOSом Вашего компьютера. Не
имеет смысла продолжать, если компьютер не принял аппаратуру (факт что она не разговаривает
не должен пониматься как подтверждение; требуется сообщение на экране).
Если Вы планируете соединять Ваше SCSI устройство к параллельному порту (не путайте с IDE
устройством для параллельного порта), Вам нужен специальный кабель и специальный драйвер
ядра. Прочтите <http>, чтобы узнать больше об
этой опции.
Обобщенные SCSI устройства. Файлы устройств /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
10
3. Создание CD
2.2.3 CD-writer-ы для параллельного порта
Извините, но у меня нет догадок относительно этого. Пожалуйста, читайте <http> или ваш локальный файл /usr/src/linux/Documentation/paride.txt.
2.3 Получение программного обеспечения для создания компакт-дисков
Более детальный обзор инструментов связанных с созданием CD-ROM-ов имеется на <http>.
2.3.1 Утилиты командной строки
Один из следующих пакетов нужен, для создания образов CD-R: (требуется только для CD-ROM с
данными)
<ftp> (mkisofs) <ftp> (mkhybrid)
Для записи образов на CD-R, Вам нужен один из следующих программных пакетов:
<ftp> (cdrecord) <http> (cdrdao)
Не доверяйте странице руководства (старой) mkisofs, которая заявляет, что Вам нужна версия 1.5
cdwrite. Используйте только cdrecord, и все будет в порядке. Пожалуйста, заметьте, новые версии
cdrecord поставляются с расширенной версией mkisofs и некоторыми дополнительными утилитами
в каталоге misc/ (readcd,isosize).
2.3.2 Графический интерфейс пользователя (опционально)
Оболочки являются действительно оболочками под Linux. Это означает, Вы должны установить
утилиты командной строки, но доступ к ним лучше выглядит.
X-CD-Roast - программный пакет посвященный простому созданию CD под Linux. Она объединяет
инструменты командной строки, такие как cdrecord и mkisofs, в хороший графический интер-
фейс.
<http>
BurnIT - JAVA оболочка к cdrecord, mkisofs и cdda2wav-0.95, создающая полный пакет для создания
CD на UNIX платформе. Она доступна по
<http>
XDaodio
Это графическая оболочка к cdrdao. Главная ее цель - 1:1 копирование аудио CD.
<http>
3 Создание CD
"If to smoke you turn I shall not cease to fiddle while you burn." (Император Нерон
о рождении его собственных классических-CD AD64. Он не понимал это полностью и
сжег Рим.)
Обычно запись CD под Linux выполняется в 2 шага:
11
3. Создание CD
• упаковка желаемых данных (файлы, музыка или и то, и другое) в файлы в специальном фор-
мате
• запись файлов на CD-R с помощью cdrecord
Эта глава описывает шаги для data-CD и audio-CD более детально.
3.1 Запись CD-ROM (чистые данные)
Обычно это занимает больше времени, чем Вы ожидаете. Не забудьте, что отсутствующие файлы
не могут быть добавлены, как только CD записан и зафиксирован.
Также напомните, что некоторое количество дискового пространства CD используется для помеще-
ния информации о ISO-9660 файловой системе (обычно несколько мегабайт). 620Мб данных всегда
поместится на 650Мб CD-R.
3.1.1 Создание образа последующего CD-ROMа
Перед использованием любого носителя (например гибкого диска, жесткого диска или 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
• Вы можете захотеть протестировать образ перед записью.
• На медленных машинах это было бы не надежно (см. секцию 4.)
Метод записи CD-R за один проход описан ниже.
Можно было подумать о создании дополнительного раздела для этого и записывать изображения
на тот раздел взамен файла. Я против такой стратегии, потому что, если Вы записываете на непра-
вильный раздел (из-за ошибки при наборе команды), Вы можете полностью потерять Linux-систему
12
3. Создание CD
(читайте: это уже со мной случалось). Кроме того, это - трата дискового пространства, потому что
CD-изображение - временные данные, которые могут быть удалены после записи CD. Однако ис-
пользование сырого раздела сохраняет время при удалении файла размером 650Мб.
3.1.2 Проверка образа CD
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 был бы намного больше и тяжелее для чтения.
3.1.3 Запись CD образа на CD
Больше ничего не осталось делать. Если Вы не устали, лучшее время для команды
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) и в конце наберите: (прим. пер.: вовсе не обязательно выполнять все эти
религиозные темочки :)
13
3. Создание CD
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 не обязательна, но это дает создать команд-
ную строку подобную той, которая используется для записи 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, соединенные в поток.
3.2 Запись audio-CD
Запись 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...
14
4. Dear Winfried,...
Специальный случай 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, которые имеют двухсекундные паузы между треками.
3.2.1 DAO
Если Вы хотите избежать пауз между звуковыми треками, вы должны использовать disk-at-once
(DAO) вместо track-at-once (TAO) записи описанной выше. В настоящее время DAO поддержива-
ется в основном в cdrdao. Пожалуйста смотрите ее домашнюю страницу для подробностей.
Используя параметр read-cd, Вы также можете создавать 1:1 копии audio-CD.
3.3 Mixed mode CD-ROM
Осталось немного сказать. Просто укажите типы (последовательно) образов с опцией -data и -audio.
Пример:
cdrecord -v dev=0,6,0 -data cd_image -audio track*.cdr
4 Dear Winfried,...
Другими словами , эта секция обычно известна как "часто задаваемые вопросы и ответы". Если у
Вас проблемы с Вашим партнером, детьми или собакой, просто отвлекитесь, на запись CD-R или
другое развлечение.
4.1 Насколько чувствителен процесс создания?
Протестируйте это. Используйте опцию -dummy для выполнения холостого запуска cdrecord. Де-
лайте все, что хотите делать и посмотрите, выживет ли процесс записи.
Если вы пускаете cdrecord прямо из mkisofs, тогда интенсивные дисковые процессы, такие как
обновление locale-базы данных понижают максимальную скорость обработки и могут повредить
CD. Вы лучше проверьте такие процессы в cron, at или anacron, на то время в которое Вы
создаете CD-ROM.
4.2 Отражается ли фрагментация на производительности?
Фрагментация - обычно настолько низкая, что не отражается. Однако, Вы можете просто создать
паталогические случаи фрагментации, которые понижают производительность вашего диска до
100кб/с. Не делайте так. :-)
15
4. Dear Winfried,...
Да, файлы на диске фрагментировались на диске в течение двух лет. Файловая система быстрая и
полная. Всегда оставляйте 10 или 20 процентов свободного пространства, и Вы должны подходить
с уважением к записи CD-R.
Если вы неуверенны, рассмотрите сообщения, при загрузке, процент от фрагментации сообщается
при проверке файловых систем. Вы можете проверить эту величину опасной командой
bash> e2fsck -n /dev/sda5 # ’-n’ обязательно
[stuff deleted - ignore any errors]
/dev/sda5: 73/12288 files (12.3% non-contiguous)
В этом примере фрагментация, кажется, очень высокая - но только 73 очень маленьких файла на
этой файловой системе (используемые в /tmp) так что величина - НЕ сигнал тревоги.
Существует экспериментальная утилита называемая e2defrag для дефрагментации extended-2 фай-
ловой системы. Текущая версия пока еще не работает надежно, даже для личного использования.
Если Вы действительно хотите дефрагментировать Вашу файловую систему, создайте резервную
копию (лучше две копии), попрактикуйтесь восстанавливать данные, затем создайте новую файло-
вую систему (с уничтожением старой) и восстановите данные с копии. В нескольких словах, это
на данный момент наиболее безопасный способ.
4.3 Возможно ли сохранять образ CD на файловой системе UMSDOS?
Да. Единственная файловая система, которая не надежна и не достаточно быстра для записи -
сетевая файловая система (NFS).
Я сам использую UMSDOS, чтобы совместно использовать дисковое пространство между Linux и
DOS/Win на PC (486/66), специально для записи CD.
4.4 Возможно ли обойти iso9660 ограничения?
Да. Вы можете помещать любую файловую систему на CD. Но другие операционные системы не
смогут работать с этим CD.
Приводится рецепт:
• Создается пустой файл размером 650МБ.
dd if=/dev/zero of="empty_file" bs=1024k count=650
• Создается ext2 файловая система в этом файле
bash> /sbin/mke2fs empty_file
empty_file is not a block special device.
Proceed anyway? (y,n) y
• Монтируется этот пустой файл через петлевое устройство
mount -t ext2 -o loop=/dev/loop1 empty_file /mnt
• Копируются файлы на /mnt и де-монтируется впоследствии.
• Используется cdwrite или cdrecord для empty_file (который больше не пустой) как будто
это образ iso9660.
Если Вы хотите сделать запись в /etc/fstab для такого CD, отключите его проверку, например:
/dev/cdrom /cdrom ext2 defaults,ro 0 0
Первый 0 подразумевает "не включать в дампы", второй (важный) подразумевает "не проверять
ошибки при запуске"(fsck не в состоянии проверять CD на ошибки).
16
4. Dear Winfried,...
4.5 Как читать и записывать звуковые КОМПАКТ-ДИСКИ?
Для этого есть несколько программных пакетов. Один из новейших, "cdparanoya", может быть
загружен с:
<http>
Или Вы можете попробовать комбинацию "cdda2wav"и "sox", доступные на sunsite, и его зеркалах:
<ftp> <ftp>
cdda2wav позволит Вам получать указанный интервал (или целый трек) с вашего звукового CD и
преобразовать его в a . wav-файл. sox преобразовывает wav-файлы обратно в cdda-формат (Audio-
CD), т.о. они могут быть записаны на CD-R, используя cdrecord. Вам не обязательно нужен "sox",
если Вы используете последнюю версию cdrecord, потому что в него встроена поддержка для .au и
.wav файлов.
4.6 Как исследовать SCSI устройства после начальной загрузки?
Файл drivers/scsi/scsi.c содержит информацию
/*
* Использование: echo "scsi add-single-device 0 1 2 3" >/proc/scsi/scsi
* С " 0 1 2 3 " замененным на ваш "Id Lun главного канала".
* Рассматривайте это свойство как BETA.
* ПРЕДОСТЕРЕЖЕНИЕ: Это не для hotplugging периферии. Так как
* SCSI не был разработан для этого, Вы можете повредить вашу
* аппаратуру!
* Однако это допускается включать для
* уже подсоединенного устройства. Это, возможно, не
* гарантирует, что устройство не исказит продолжающуюся передачу данных.
*/
В оригинале:
/*
* Usage: echo "scsi add-single-device 0 1 2 3" >/proc/scsi/scsi
* with "0 1 2 3" replaced by your "Host Channel Id Lun".
* Consider this feature BETA.
* CAUTION: This is not for hotplugging your peripherals. As
* SCSI was not designed for this you could damage your
* hardware !
* However perhaps it is legal to switch on an
* already connected device. It is perhaps not
* guaranteed this device doesn’t corrupt an ongoing data transfer.
*/
Пожалуйста заметьте, что это используется, если вы добавляете SCSI-устройства в конец цепи.
Вставка новых SCSI устройств в существующую цепь нарушает именование устройств (каталог
/dev) и может полностью разрушить содержимое вашего жесткого диска.
4.7 Возможно ли делать 1:1 копию данных CD?
Да. Но Вы должны знать, что любые ошибки при чтении оригинала (из-за пыли или царапин)
приведут к дефектной копии. заметьте, что оба метода не будут работать с аудио CD.
Первый случай: у Вас CD-writer и отдельный привод CD-ROM. Выдавая команду
17
4. Dear Winfried,...
cdrecord -v dev=0,6,0 speed=2 -isosize /dev/scd0
Вы читаете поток данных из привода CD-ROM, присоединенного как /dev/scd0 и записываете его
непосредственно на CD-R.
Второй случай: у Вас нет отдельного привода CD-ROM. В этом случае Вы должны использовать
устройство записи, чтобы считать CD-ROM:
dd if=/dev/scd0 of=cdimage
Эта команда считывает содержимое CD-ROM с устройства /dev/scd0 и записывает в файл cdimage.
Содержимое файла эквивалентно тому, что выдает mkisofs, так что Вы должны продолжать как
описано в начале этого документа (где дается файл cdimage на вход cdrecord). Если Вы хотите
видеть шкалу прогресса и другие модные вещи, ВЫ можете использовать JЖrg Schillings sdd.
В случае ошибок, установите последнюю версию cdrecord которая поставляется с утилитой
"readcd"(расположена в misc/). Это даст Вам тот же результат, что и dd, но читает сектора на
CD-ROM несколько раз в случае ошибок.
4.8 Может ли Linux читать Joliet CD?
Да. Новые ядра (2.0.36 и до 2.2) имеют встроенную поддержку joliet формата. Запомните, что Вы
должны использовать обе опции в вашем /etc/fstab: ключевое слово iso9660 и joliet, для больших
подробностей см. <http>.
4.9 Как я могу читать/монтировать CD-ROMы на устройстве записи CD?
Точно так, как Вы делаете с обычными приводами CD-ROM. Никаких хитростей. Обратите внима-
ние, что Вы должны использовать scd-устройства (SCSI CD-ROM) чтобы монтировать CD для чте-
ния, аналогично если у Вас ATAPI CD-ROM (помните вы конфигурировали ваши ATAPI-устройства
как SCSI). Примерная запись в /etc/fstab:
/dev/scd0 /cdrom iso9660 ro,user,noauto 0 0
4.10 Как поместить больше данных на CD-R?
Используйте bzip2 вместо любого компрессора, подобного gzip или pkzip. Это сохранит до 30%
дискового пространства для больших (>100kb) файлов. Вы можете загрузить его с:
<http>
Вместо записи истинного аудио CD, Вы можете конвертировать ваши wav-файлы в mp3-аудио
файлы и поместить их на ISO-9660 файловую систему как обычные файлы. Обычно MPEG III
дает компрессию 1:10. Конечно, большинство CD проигрывателей не способны читать файлы...
это недостаток. С другой стороны, почему не играть музыку на следующей вечеринке с жесткого
диска? 18Гбайт хватит на 3000-4000 наименований. :-)
Программный MPEG III кодировщик доступен по
<http>
MPEG III проигрыватель доступен по
<http>
Для записи голоса, вы можете попробовать уменьшить размер используя shorten или "GSM lossy
speech compression":
<ftp> <http>
18
4. Dear Winfried,...
4.11 Как создать загрузочный CD-ROM?
У Вас должна быть 1.44Мб загрузочная дискета. Создайте точный образ дискеты командой:
dd if=/dev/fd0 of=boot.img bs=18k
Поместите этот образ в каталоге содержащем коллекцию Ваших файлов (или в подкаталоге ее,
как Вам нравится). Скажите mkisofs о этом фале используя опцию ’-b’ и еще используйте ’-c’. Для
подробностей читайте файл README.eltorino в дистрибутиве mkisofs.
Интересное применение загрузочных CD - вирусобезопасные DOS или Windows системы. Они
сэкономят Вам деньги на жестком диске, (если у Вас есть сеть и Вы используете samba для поме-
щения пользовательских фалов на файл-сервере). Однако, это чисто теоретически, т.к. никто еще
мне не сообщал действующий рецепт.
4.12 Как создать CD-ROM что-то записывающий?
Существует overlay-filesystem имеющаяся для Linux, которая монтируется на CD-ROM и перехва-
тывает все операции записи. Новые или модифицированные файлы помещаются в другом ме-
сте, но для пользователя CD-ROM выглядит модифицированным. Для большей информации см.
<http>.
Если этого Вам не достаточно: подождите поддержки UDF-файловой системы под Linux или помо-
гите ее разработке (см. <http>).
4.13 Возможно ли использовать несколько устройств записи одновременно?
Да. Однако, тестировалось пока только с двумя устройствами. Вам нужна одна из последних версий
ядра (2.2.10) или патч ядра для большего буфера SCSI-generic драйвера ( <ftp>; работает до 2.2.5).
4.14 Какой носитель наилучший?
Немецкий компьютерный журнал "c’t"издал список подсказок относительно чистых CD в ноябре
1996:
• "no-name"(неизвестного производителя) диски не самого высокого качества лучше не исполь-
зовать
• если recordable CD дефектен, это, вероятно, применимо ко всей партии дисков (если Вы купи-
ли более одного в одно время); возможно Вам повезло и можете по крайней мере использовать
первые 500МБ таких CD ...
• не касайтесь переливающейся стороны CD перед записью
4.15 Как насчет Solaris, * BDS,AIX, HP_UX, и т.д.?
Только глава 2 специфична для Linux. Вы можете применить главу 3 и 4 даже если у Вас запущена
операционная система не Linux семейства. Пожалуйста смотрите README.NetBSD, README.aix,
README.hpux, README.next, README.solaris, README.sunos, README.vms or README.xxxBSD
из cdrecord-дистрибутива.
4.16 Где помещать локальную конфигурацию постоянно?
У Вас есть два варианта. Либо Вы используете встроенный конфигурационный файл для cdrecord,
либо используете shell-оболочку, как показано ниже. Этот shell-скрипт читает конфигурационный
файл, который содержит опции и параметры для cdrecord строка за строкой. Имена такие-же как
в командной строке, но без начального -. Комментарии разрешены. Например:
19
4. Dear Winfried,...
# be verbose
v
# set the speed of the writer
speed=2
# the device-coordinates in the form BUS,ID,LUN
dev=0,6,0
Конфигурационные файлы для оболочки принадлежат /etc/cdrecord и должны указываться в ко-
мандной строке. Пример: Если Вы хотите использовать конфигурацию /etc/cdrecord/mywriter.cfg,
то Вы можете выдать команду "cdrecord.sh mywriter.cfg -audio track1...". Все послеmywriter.cfg пере-
дается cdrecord
#! /bin/bash
CFGDIR="/etc/cdrecord"
CFG="$1"
shift
ARGS_LEFT="$@"
if [ ! -f "$CFGDIR/$CFG" ]
then
echo "Configuration file $CFGDIR/$CFG not found. Exiting."
exit 1
fi
while read LINE
do
case $LINE in
\#*|"") continue;;
esac
old_IFS="$IFS"
IFS="$IFS="
set -- $LINE
IFS="$old_IFS"
O_NAME="$1"
O_VALUE=""
while shift
do
case $1 in
"") continue;;
esac
O_VALUE="$1"
done
if [ -z "$O_VALUE" ]
then
O_CDRECORD="$O_CDRECORD -$O_NAME "
continue
fi
O_CDRECORD="$O_CDRECORD $O_NAME=$O_VALUE "
done <CFGDIR> /dev/null‘#"
done
4.18 Как насчет перезаписи?
Когда перезаписывается CD-RW носитель, указывается параметр blank=fast для cdrecord. Это все.
См. man-страницу cdrecord для подробностей о этом параметре.
4.19 Как создать multi-session CD?
Прежде всего, образ мульти-сессионного CD должен быть отформатирован используя ISO9660-
файловую систему с RockRidge-расширением. И Вы должны использовать cdrecord опцию -multi
пока хотите добавлять следующие сессии. Т.е. по крайней мере для первой сессии, Вы должны
использовать -multi.
Образы второй и последующих сессий немного сложнее в создании. mkisofs должен знать где на-
чинается свободное пространство на CD-R диске. Эта информация может быть получена используя
cdrecord опцию -msinfo (см. пример ниже)
shell> NEXT_TRACK=‘cdrecord -msinfo dev=0,6,0‘
shell> echo $NEXT_TRACK
shell> mkisofs -R -o cd_image2 -C $NEXT_TRACK -M /dev/scd5
private_collection/ \
Для большей информации, пожалуйста читайте файл README.multi, который распространяется с
cdrecord.
5 Поиск неисправностей
Всегда помните, что Вы можете использовать испорченные CD-ROMы как подставки. :-)
5.1 Не работает: под Linux
Пожалуйста проверьте сначала, что устройство записи работает с поставляемым программным
обеспечением (=под другой операционной системой). А именно:
• контроллер распознает устройство записи как SCSI устройство?
• драйвер распознает устройство записи?
21
6. Использование символов национального алфавита в именах файлов
• возможно ли создать CD, используя прилагаемое программное обеспечение?
Если "не работает"даже под другими операционными системами - у Вас аппаратный конфликт или
дефектные аппаратные средства. Если работает и Вы использовали loadlin для загрузки Linux, тогда
это может быть проблема. Loadlin делает "мягкую"загрузку с инициализированной аппаратурой, что
может сбить с толку ядро Linux.
5.2 Ошибка: No read access for ’dev=0,6,0’.
Под Linux, некоторые версии С-библиотеки несовместимы, т.о. приложения собранные с одной
версией не будут работать с другой. Например ошибки работы предкомпилированых бинарников
следующие:
[root@Blue /dev]# cdrecord -eject dev=0,6,0
cdrecord: No such file or directory. No read access for ’dev=0,6,0’.
5.3 Не работает: под DOS
Пробуйте использовать Linux. Установка и конфигурация SCSI-ДРАЙВЕРОВ для DOS - ад. Linux
слишком сложен? Ха!
5.4 SCSI ошибки в течение фазы записи
Наиболее вероятно ошибки вызваны
• пропущенным dis-/reconnect свойством на SCSI шине
• недостаточным охлаждением аппаратных средств
• дефектными аппаратными средствами (должны быть обнаружены 5.1.)
При различных обстоятельствах SCSI устройства отсоединяются и повторно соединяются (электри-
чески) от SCSI шины. Если это свойство не доступно (проверьте контроллер и параметры ядра), у
некоторых устройств записи возникают проблемы при выжигании или фиксации CD-R.
Особенно в NCR 53c7,8xx SCSI драйвере это свойство выключено по умолчанию, так что Вы про-
верьте его сначала:
NCR53c7,8xx SCSI support [N/y/m/?] y
always negotiate synchronous transfers [N/y/?] (NEW) n
allow FAST-SCSI [10MHz] [N/y/?] (NEW) y
allow DISCONNECT [N/y/?] (NEW) y
6 Использование символов национального алфавита в именах
файлов
Заметка: Данная секция этого HOWTO отсутствует в англоязычном варианте. Все дополнения и
исправления присылайте на адрес переводчика.
Использование имен файлов содержащих символы русского языка под Linux, как и во многих
других вещах осложняется наличием трех кодировок, а также тем, что иногда программы вообще
не содержат поддержки символов национального алфавита.
При использовании русских символов в именах файлов нужно учесть следующие обстоятельства:
• для обеспечения совместимости записанных дисков с DOS кодировка символов в ISO9660
должна быть CP866 и имена файлов в формате 8.3 (8 символов - имя, 3 символа - расширение)
22
6. Использование символов национального алфавита в именах файлов
• некоторые DOS драйвера CDROM приводов могут не поддерживать не ASCII символов в
именах файлов
• для обеспечения совместимости записанных дисков с Windows необходимо добавлять расши-
рение JOLIET, которое использует UNICODE кодировку имен файлов.
• некоторые версии UNIX систем не поддерживают JOLIET расширение (Linux поддерживает
при включении соответствующей опции в при сборке ядра) и если требуется совместимость
с ними должно использоваться RockRidge расширение.
Родная файловая система Linux - ext2 не делает никаких предположений о кодировке символов, она
просто хранит имена файлов в 8-битном представлении. Правильность интерпретации кодировки
имени файла зависит от настроек locale программы которая его создала и программы которая
выводит его пользователю. Так как Linux способен работать со всеми русскими кодировками (cp866,
cp1251, koi8-r, iso8859-5), то вполне возможен случай, когда пользователь создаст файл в терминале
с cp866 настройками, а затем попытается его считать его (возможно на другом компьютере) в
терминале с koi8-r настройками, и будет озадачен.
Текущая версия mkisofs-1.12.1 при составлении имен файлов в ISO9660 заменяет все не ASCII
символы (в том числе и русские) на знак ’_’(подчеркивание). Таким образом без применения патчей
к mkisofs невозможно записать диск совместимый с DOS. Мне пока не удалось отыскать такой патч,
если у кого-то есть положительный опыт записи таких дисков - пришлите мне информацию и я
включу ее сюда.
Универсальный метод - включить оба расширения JOLIET и RockRidge на записываемый диск,
причем RockRidge будет содержать символы в 8 битном представлении, как и в файловой системе,
а для указания кодировки символов файловой системы при преобразовании в Joliet UNICODE,
программа mkisofs поставляемая в комплекте с cdrecord, начиная с версии cdrecord-1.8.1 содержит
опцию -jcharset. Список доступных кодировок можно получить, запустив
mkisofs -jcharset help
В этом списке присутствуют cp866 и koi8-r но (пока?) отсутствует cp1251.
Если Ваша система использует кодировку koi8-r в качестве основной, что обычное дело под Linux,
то команда создания образа диска может быть такой
mkisofs -r -J -jcharset=koi8-r <путь к каталогу с файлами> <путь к образу диска>
Если файлы для создания диска находятся не на разделе с ext2 файловой системой, то возможно по-
требуется указать опции codepage и iocharset перед монтированием файловой системы. Например
при монтировании раздела с FAT/VFAT и выбранной кодировке koi8-r необходимо указать:
mount -o codepage=866,iocharset=koi8-r /dev/hdc1 /mnt/dos
при монтировании NTFS:
mount -o iocharset=koi8-r /dev/hdc2 /mnt/ntfs
Тогда будет осуществляться правильная трансляция имен файлов из файловой системы в желаемую
кодировку.
При монтировании компакт-диска с Joliet расширением для правильной трансляции имен файлов
из UNICODE необходимо также указывать с опцией iocharset желаемую кодировку для отображе-
ния.
mount -o iocharset=koi8-r /dev/cdrom /mnt/cdrom
23
7. Благодарности
7 Благодарности
Многочисленные благодарности читателям этого HOWTO, кто активно влиял на его содержимое.
Так как у меня не было доступа к устройству записи CD несколько лет, сообщения о реальных
установках и опыте всегда большая ценность для меня.
Doug Alcorn <doug>
помогал улучшил представление нового ядра
Kalle Andersson <kalle>
Как записать audio-cd прямо с mp3
Kalle Andersson <kalle>
Rick Cochran <rick>
подсказал о выключенном dis-/reconnect по умолчанию в ncr драйвере
Robert Doolittle <bob>
хорошие аргументы, чтобы выбросить cdwrite из этого HOWTO
Markus Dickebohm <m>
Jos van Geffen <jos>
отметил проблему в 4.9.
Bernhard Gubanka <beg>
отметил потребность недавней версии монтирования, чтобы использовать петлевое устройство
Stephen Harris <sweh>
поделился подсказкой относительно записи звукового CD
Janne Himanka <shem>
указал на заплату ядра, для чтения Joliet CD
Stephan Noy <stnoy>
информация и опыт относительно записи звукового CD
"Don H. Olive"<don>
URL mkhybrid инструмента
Jesper Pedersen <jews>
Pierre Pfister <pp>
помог в разработке рецепта 1:1 копии.
Daniel A. Quist <dquist>
информация о IDE CD-R и новых версиях ядра
Martti.Rahkila@hut.fi
отметил проблему с пре-инициализацией writer-ов при загрузке с loadlin
Dale Scheetz <dwarf>
Joerg Schilling <schilling>
информация относительно cdrecord
24
7. Благодарности
Martin Schulze <joey>
дал информацию относительно cdwrite- списка рассылки
Gerald C Snyder <gcsnyd>
проверял запись ext2 на CD-ROM (см. 4.4)
Art Stone <stone>
подал идею как поместить не-iso9660 файловые системы в CD
The Sheepy One <kero>
предложил использовать дефектные CD как подставки для напитков
Erwin Zoer <ezoer>
Я хочу поблагодарить следующих людей за сообщения о ошибках правописания: Bartosz
Maruszewski <B>, Ian Stirling <ian>, Brian H. Toby.
Конец Linux CD-Writing mini-HOWTO (Вы можете прекратить читать тут.)

_________________
Моя характеристика с детского сада: Хорошо кушает, спит, гуляет! Прошло много лет, ничего не изменилось.
Изображение


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти: