Полезная информация

Next Previous Contents

2. Готовим ваш Linux к записи CD-ROM

Если Вы правильно установили вашу аппаратуру и 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.

2.1 Установка ядра Linux

Ядро 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 серии

До версии 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 серии

Ядра до 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)

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
shell> ./MAKEDEV loop
Листинг: команды для создания петлевых устройств

Последняя команда выполняется правильно, если у Вас есть loop-модуль в ядре. loop-файлы устройств могут быть применены ко всем другим файлам устройств (sg*, pg*, hd*, ...) и это не явно указано в следующем.

IDE/ATAPI CD-writers

ATAPI подразумевает "SCSI-команды по IDE шине". Другими словами, Ваши устройства IDE/ATAPI говорят по SCSI протоколу (с некоторыми ограничениями) и таким образом могут работать как будто они SCSI устройства.

Под Linux вы можете сделать, чтобы ваш IDE-writer появлялся, как SCSI устройство, используя свойство ядра "SCSI (hostadaptor) emulation". Т.о. активируйте соответствующий ide-scsi модуль, как описано выше, и продолжайте как будто у Вас SCSI-writer.

SCSI-writers

Пожалуйста убедитесь, что Ваш writer распознался BIOSом Вашего компьютера. Не имеет смысла продолжать, если компьютер не принял аппаратуру (требуется сообщение на экране).

Если Вы планируете соединять Ваше SCSI устройство к параллельному порту, Вам нужен специальный кабель и специальный драйвер ядра. Прочтите http://www.torque.net/parport/parscsi.html, чтобы узнать больше об этой опции.

Обобщенные 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

CD-writer-ы для параллельного порта

Извините, но у меня нет догадок относительно этого. Пожалуйста, читайте http://www.torque.net/parport/paride.html или ваш локальный файл /usr/src/linux/Documentation/paride.txt.

2.3 Получение программного обеспечения для создания компакт-дисков

Более детальный обзор инструментов связанных с созданием 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/


Next Previous Contents