CD-R (CD-RW)
FAQ и копия
список, поддерживаемых устройств
Я пробовал на HP CD-Writer Plus 8100 , IDE/ATAPI (24/4/2, в действительности скорость чтения не выше 12x) и Mitsumi CR-4804TE, IDE/ATAPI (24/4/4).
Особенности конфигурации ядра (IDE CD-RW), шаг влево, шаг вправо - и работать не будет:
- SYSCTL=y
- автоматическая загрузка модулей (kerneld)
- IDE=y
- IDECD=m, модуль - ide-cd
- SCSI hostadaptor emulation (ибо ATAPI - это эмуляция SCSI на IDE/ATA), IDESCSI=m, модуль - ide-scsi
- Loopback device (файловая система внутри файла), BLK_DEV_LOOP=m, модуль - loop
- SCSI=m, модуль - scsi
- SCSI CDROM, BLK_DEV_SR=m, модуль - sr
- BLK_DEV_SR_VENDOR=y
- SCSI generic, CHR_DEV_SG = m, модуль - sg
- ни в коем случае SCSI_MULTI_LUN в версиях ядра до 2.2.10 (Up to kernel-version 2.2.10, don't enable CONFIG_SCSI_MULTI_LUN ('probe for multiple luns') and ide-scsi support at the same time)
- SCSI драйвер
- FAT_FS=m, MSDOS_FS=m, VFAT_FS=m, UMSDOS_FS=m
- ISO 9660 CDROM filesystem (включает RockRidge), обязательно встроенный в ядро.
- Microsoft Joliet cdrom
- mkisofs (ISO 9660, RockRidge, El torito, Juliet, HFS, мультисессии), пакет mkisofs-1.8-2 в RedHat 6.2 или mkisofs-1.9-2 в RedHat 7.0.
- простейший случай: mkisofs -r [ -P имя-публикатора ] [ -V имя-тома ] -v [-o образ-CD] исходная-директория ... (ISO9660 и RockRidge со сброшенными правами доступа к файлам)
если -o опущен, то выводится на stdout
-R (вместо -r, если надо сохранять права доступа в RockRidge)
-M исходный-образ-CD (позволяет добавлять файлы к ранее созданному образу)
-J (делает вдобавок оглавление Juliet, который не переносит несколько файлов с одним и тем же именем, получающиеся после слияния нескольких исходных директорий)
-m шаблон-имени-файла (не записывать эти файлы) - тестирование полученного:
mount -t iso9660 -o ro,loop=/dev/loop0 образ-CD /cdrom
- cdwrite - старая, заброшенная программа
- cdrecord-1.9. Пакет cdrecord-1.9-2 в ReDHat 7.0.
- загрузить ide-scsi (после этого надо обращаться не к /dev/hd?, а к /dev/scd?)
modprobe ide-scsi (нужны права root)
он должен найти CD-ROM и все про него рассказать (на syslog), создать sr-устройство (у меня sr0 на scsi0 (chanel 0, id 0, lun 0), даже оказался scsi3-mmc drive: 24x/24x writer cd/rw xa/form2 cdda tray) - появились устройства (/proc/devices): char 21 (sg) и block 11 (sr)
- cdrecord -scanbus находит устройство (scsibus0, 0)
- появились модули: ide-scsi, sg, scsi_mod
- после доступа к CD появились модули: cdrom, sr_mod
- запись обычного диска с данными в одну сессию
cdrecord -v speed=скорость dev=номер-шины,номер-устройства,lun-data образ-CD
для CD-RW надо добавить опцию: blank=fast (полторы минуты)
используйте имя файла "-" для обозначения stdin - ключ -dummy имитирует процесс записи, что позволяет проверить ее возможность на указанной скорости
- ключ -multi не закрывает диск, что позволяет в дальнейшем дописывать на него
- ключ -prcap рассказывает очень много интересной информации об устройстве
- ключ -force позволяет иногда вернуть к жизни CD-RW
- fs=размер задает размер буфера (более 16m не выносит Linux, а больше 4m не выносит HP 8100 )
- X-CD-Roast - интерфейс к mkisofs и cdrecord
- BurnIT - интерфейс (на Java) к mkisofs, cdrecord и cdda2wav
- XDaodio - интерфейс (Tcl/Tk) к cdrdao для копирования audio CD 1:1