HOWTO Запись CD
Материал из Gentoo Linux Wiki
- Вернуться в раздел руководства
Содержание |
[править] Основные программы
Для начала, убедитесь что у вас установлены программы cdrecord и mkisofs, которые входят в пакет cdrtools. Если нет -- установите его:
emerge cdrtools
[править] Конфигурация ядра и загрузчика
Убедитесь, что у вас ядро настроено соответствующим образом.
[править] Ядра серии 2.4.x
Для ядер серии 2.4.x в ядро необходимо включить поддержку SCSI эмуляции:
| Linux Kernel Configuration: Конфигурация ядра 2.4.x |
ATA/IDE/MFM/RLL Support -->
IDE, ATA, and ATAPI Block Devices -->
<M> SCSI Emulation Support
SCSI Support -->
<M> SCSI Support
<M> SCSI CDROM Support
<M> SCSI Generic Support
|
Теперь, еще необходимо ядру при загрузке передать параметр hdc=ide-scsi (в данном случае предполагается, что ваш CD привод - это hdc).
Т.е. если вы используете grub, то его конфиг должен выглядеть примерно так:
| Файл: /boot/grub/grub.conf |
title Gentoo Linux root (hd#,#) kernel (hd#,#)/YOUR_KERNEL_NAME_HERE root=/dev/hdx# hdc=ide-scsi ANY_OTHER_KERNEL_OPTIONS_NEEDED |
Если вы ипользуете lilo, то соответсвующая часть конфига:
| Файл: /etc/lilo.conf |
# Linux bootable partition config
image = /boot/YOUR_KERNEL_NAME_HERE
append = "hdc=ide-scsi"
root = /dev/hdx#
label = Gentoo
read-only
|
[править] Ядра серии 2.6.x
В ядрах серии 2.6.x вам уже нет необходимости включать SCSI (и, следовательно, не надо переконфигурировать загрузчик). Вместо этого, надо указать поддержку ATAPI CDROM:
| Linux Kernel Configuration: Конфигурация ядра 2.6.x |
Device Drivers -->
ATA/ATAPI/MFM/RLL support -->
<*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
<*> Include IDE/ATAPI CDROM support
|
[править] Подготовка ISO образа
Для начала, создайте папку: mkdir /tmp/iso
а затем скопируйте все файлы, которые вы хотите записать, в созданную папку. cp *.doc /tmp/iso
Затем создайте image.iso mkisofs -o /tmp/image.iso /tmp/iso
[править] Дополнительные опции при создании ISO образа
- -r : добавляет (частично) поддержку так называемых расширений Rock Ridge, т.е. сохраняет специфичные для unix аттрибуты файлов. Например, добавляет поддержку длинных имён (до 255 символов, но не для MS Windows), символических ссылок. В отличие от опции -R, которая полностью соответсвует Rock Ridge, права доступа на файлы не сохраняются, они становятся доступны для чтения любому пользователю.
- -jcharset=koi8-r : подразумевает под собой 2 опции: 1) -J включает поддержку Joliet, которая используется для распознавания длинных имён файлов под MS Windows; 2) -input-charset устанавливает перекодировку символов для корректного отображения русских имён файлов. ("koi8-r" здесь дано для примера - замените на кодироку, используемую в вашей системе)
- -joliet-long : Возможность использования имён в Joliet длиной до 103 юникодных символов. Это противоречит спецификации Joliet - но тем не менее работает. Используйте данную опцию с осторожностью.
- -f : следование символическим ссылкам. Если вместо копирования файлов в /tmp/iso, вы просто создаёте в этой директории симлинки на них, то вы должны включить эту опцию.
- -C : эта опция необходима, если вы хотите дописать мультисессионный диск (см. раздел [Как дописывать диски])
[править] Определение ATAPI-приводов
Выполните cdrecord --dev=ATAPI --scanbus
Вы должны увидеть нечто похожее на следующее:
Cdrecord-Clone 2.01a25 (i686-pc-linux-gnu) Copyright (C) 1995-2004 J?rg Schilling
scsidev: 'ATAPI'
devname: 'ATAPI'
scsibus: -2 target: -2 lun: -2
Warning: Using ATA Packet interface.
Warning: The related libscg interface code is in pre alpha.
Warning: There may be fatal problems.
Using libscg version 'schily-0.8'.
scsibus0:
0,0,0 0) 'SONY ' 'CD-RW CRX175A1 ' '5YS2' Removable CD-ROM
0,1,0 1) *
0,2,0 2) *
0,3,0 3) *
0,4,0 4) *
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
Здесь показано, что на шине 0,0,0 есть CD-RW привод.
| Предупреждение: В новых версиях cdrtools (2.01.01) и ядра 2.6.x надо писать cdrecord --dev=ATA --scanbus |
[править] Запись ISO образа
cdrecord --dev=ATA:0,0,0 /tmp/image.iso
(Замените шину 0,0,0 на необходимую)
| Примечание: Вместо dev=ATA:0,0,0 можно указывать просто имя устройства, напирмер, dev=/dev/cdrw |
[править] Дополнительные возможности
- Используйте опцию --speed=# для указания скорости записи
cdrecord --dev=ATAPI:0,0,0 --speed=4 /tmp/image.iso
- Используйте --blank=fast для быстрой очистки CD-RW диска.
cdrecord --dev=ATAPI:0,0,0 --blank=fast
- Большинство современных записывающих устройств поддерживает технологию BURN-free. К сожалению она не включена по умолчанию при запуске cdrecord. Для включения, добавьте опцию --driveropts=burnfree. Вы можете посмотреть, какие ещё опции поддерживает ваш CD-ROM посредством команды cdrecord dev=/dev/cdrw driveropts=help -checkdrive
- Если в файле /etc/default/cdrecord установить переменную CDR_DEVICE=ATAPI:0,0,0 (можно и CDR_DEVICE=/dev/hdc), то не придется каждый раз указывать устройство (ключ --dev=ATAPI:0,0,0) и тогда для очистки CD-RW диска понадобится набрать только следуюшее:
cdrecord --blank=fast
- Если нужно разрешить пользователю запись на CD, то включите его в группу cdrom.
[править] Копирование дисков
Если у вас всего один CD-ROM, то необходимо вначале создать файл-образ диска. Это можно сделать многими способами (с помощью dd, cat, cdrdao, readcd и т.д.). Лучше воспользоваться readcd, т.к. он уже входит в пакет cdrtools, и имеет множество интересных опций (смотри man readcd): readcd dev=/dev/cdrw -clone f=/tmp/image.iso
После этого запишем образ на болванку с помощью cdrecord: cdrecord -v -eject dev=/dev/cdrw -raw96r -clone /tmp/image.iso
ВАЖНО: Ключи -raw96r и -clone необходимы ТОЛЬКО если вы создавали файл-образ с помощью команды readcd -clone.
[править] Как дописывать диски
Прежде всего, при создании и последующем дописывании мульти-сессионных дисков, необходимо всегда для cdrecord указывать опцию -multi, а для mkisofs использовать ключ -r или -R (т.е. включать расширение Rock Ridge). Таким образом создание первой сессий будет выглядить примерно так:
| Code: Запись первой сессии |
|
mkisofs -r -f -jcharset=koi8-r -o /tmp/image.iso /tmp/iso/ cdrecord -v -multi driveropts=burnfree -eject dev=/dev/cdrw /tmp/image.iso |
Для создания последующих сессий, нам нужна информация о номере начального сектора последней сессии и о номере сектора с которого будет начинаться новая сессия. Эта пара чисел выводится командой cdrecord -msinfo dev=/dev/cdrw. После этого данные числа указываются в команде mkisofs в качетстве аргументов к опции -C. Также, чтобы были видны файлы из предыдущей сессии, необходим ключ -M, аргументом к ключу -М служит имя устройства вашего CD-ROM (т.е. в нашем примере - это /dev/cdrw). Команда cdrecord остаётся такой же. Резюмируя вышесказанное получаем для записи последующей сессии:
| Code: Запись последующих сессий |
|
mkisofs -r -f -jcharset=koi8-r -C $(cdrecord dev=/dev/cdrw -msinfo) -M /dev/cdrw -o /tmp/image.iso /tmp/iso/ cdrecord -v -multi driveropts=burnfree -eject dev=/dev/cdrw /tmp/image.iso |
[править] Полезные ссылки
- Классическое how-to по записи дисков на английском языке: http://www.tldp.org/HOWTO/CD-Writing-HOWTO.html
- То же самое на русском: http://www.opennet.ru/docs/HOWTO-RU/CD-Writing-HOWTO.html
- Создание аудио дисков (на английском языке): en:HOWTO Create an Audio CD
