Эта секция применима ко всем типам CD-writer-ов, включая устройства SCSI,
IDE/ATAPI и для параллельного порта. Последние два типа устройств
требуют драйверов совместимости, производя впечатление реальных SCSI устройств.
С одной строны такая унифицикация проста ("все есть SCSI"), потому что
на уровне приложений Вы можете разделять знания с другими пользователями не взирая
на свойства CD-writer-а. С другой стороны, Вы можете реконфигурировать приложения
подобные проигрывателям музыкальных CD или утилиту монтирования для
отражения изменения имени драйвера. Например, Ваш ATAPI CD-writer
доступен через фал устройства /dev/hdc, Вы можете иметь доступ
посредством /dev/scd0 после активизации драйверов SCSI совместимости.
Если Вы правильно установили вашу аппаратуру и Linux, команда cdrecord -scanbus
покажет вам список устройств имеющихся для записи. Цель этой главы - полностью
установить вашу Linux систему, т.о. в конце Вы должны получить что-то вроде:
Листинг 1: Обнаружение устройств на вашей SCSI-шине
Пример предоставлен JЖrg Schilling и показывает всего четыре CD-writers. Заметьте,
что -scanbus также показывает другие устройства, такие как CD-ROM и жесткие диски.
Последний столбец дает 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/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 предоставляют путь для создания опций для постоянной загрузки
модуля, таким образом Вы можете успешно использовать их с 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.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
пользовательского интерфейса.
Это может быть вызвано загружаемым sg драйвером, который не может получить
достаточно памяти для DMA (релизы ядра до 2.2.5)
Специальные подсказки для ядра 2.2.10 и выше
Мне сообщили, что ядра начиная с 2.2.10 продвинулись предоставляя обе опции из 2.0.x
серии и 2.2.x серии. Автор рекомендует стратегию сообщения ядру, какое устройство
ядра будет управляться каким драйвером, как в 2.0.37. Следующее описывает этот метод.
Специальные подсказки для 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.
После установки всех необходимых драйверов, загрузите новое ядро. Оно должно
содержать все необходимые Вам свойства для следующий секций.
[Пользователи devfs могут не беспокоится о следующих шагах ручной установки файлов
устройств. Если Вы используете devfs, все будет автоматически появляться в нужном
месте.]
Войдите в /dev-каталог и проверьте петлевые устройства
Это не критично, если у Вас нет этих устройств, но удобнее если есть. (см. 3.5).
Если они у Вас есть , то ls -команда должна показать
loop0-loop7:
shell> cd /dev
shell> ls loop*
loop0 loop1 loop2 loop3 loop4 loop5 loop6 loop7
Листинг: файлы устройств для обратной связи
Если у Вас нет этих устройств, создайте их, используя /dev/MAKEDEV-скрипт:
Последняя команда выполняется правильно, если у Вас есть 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
IDE/ATAPI CD-writers
ATAPI - расширение для IDE устройств, которые существуют во всех новых IDE
устройствах. Расширения позволяют использовать SCSI-протокол по IDE шине.
Вместе с модулем ide-scsi, который превращает Ваш IDE-контроллер частично в
SCSI-контроллер, Вы можете обращаться с Вашими IDE/ATAPI устройствами, как со
SCSI. Таким образом просто загрузите этот модуль и продолжайте, как будто у Вас
есть SCSI устройство.
SCSI-writers
Пожалуйста убедитесь, что Ваше устройство записи распознается BIOSом Вашего
компьютера. Не имеет смысла продолжать, если компьютер не принял аппаратуру
(факт что она не разговаривает не должен пониматься как подтверждение;
требуется сообщение на экране).
Если Вы планируете соединять Ваше SCSI устройство к параллельному порту (не
путайте с IDE устройством для параллельного порта), Вам нужен специальный кабель и
специальный драйвер ядра.
Прочтите
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.
Не доверяйте странице руководства (старой) mkisofs, которая заявляет, что
Вам нужна версия 1.5 cdwrite. Используйте только cdrecord, и все будет в
порядке. Пожалуйста, заметьте, новые версии cdrecord поставляются с расширенной
версией mkisofs и некоторыми дополнительными утилитами в каталоге misc/ (readcd,isosize).
Графический интерфейс пользователя (опционально)
Оболочки являются действительно оболочками под Linux. Это означает, Вы должны
установить утилиты командной строки, но доступ к ним лучше выглядит.
X-CD-Roast - программный пакет посвященный простому созданию CD под Linux.
Она объединяет инструменты командной строки, такие как cdrecord и
mkisofs, в хороший графический интерфейс.
Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!