div.main {margin-left: 20pt; margin-right: 20pt}
Жжем диски под Linux Автор: Федор Сорекс, sorex@softerra.ru Опубликовано:
02.03.2002 Оригинал: http://www.softerra.ru/freeos/16379/
Желание еще раз обратиться к теме настройки
CD-R/CD-RW под линуксом у меня возникло давно. И по ряду, как мне кажется,
веских причин. Во-первых, с выходом ядер ветки 2.4.x процедура настройки
изменилась и упростилась. Во-вторых, хотелось бы поговорить о графических
средствах записи и перезаписи дисков под линуксом. Ну и наконец, следует сказать
несколько слов о записи файлов с русским буквами и прочих необходимых мелочах.
Итак, возмем самый обычный CD-R/RW привод. Лично
я использую Teac CD-W58E, но все сказанное ниже должно работать и с подавляющим
большинством CD-R/RW приводов (оговорюсь сразу, что и с CD-R, т.е. просто
пишущими CD, без возможности перезаписи, кроме тех случаев, где явным образом
идет речь именно о RW).
Настройка системы
Для работы с CD-RW нам понадобятся минимум три
вещи:
настроенное ядро linux
программа для создания образов – mkisofs
собственно утилита для записи – cdrecord
О дополнительных утилитах для записи, а так же о
графических интерфейсах мы поговорим чуть позже и в следующих статьях.
Настройка ядра
Подробнее о настройке ядра в целом можно
почитать в одноименной статье и несколько устаревшем Kernel-HOWTO. Свежую информацию о настройке и установке ядра
всегда можно почитать в файле /usr/src/linux/README.
А конкретнее о тех пунктах ядра, которые
необходыми для записи, а так же замечания для ядер 2.0.x и ранних 2.2.x читайте
соответствующий раздел CD-Writing-HOWTO.
Для ядер 2.4.x обычно ничего писать в
/etc/modules.conf не нужно (ядро «само» разберется, что ему нужно), а вот для
серии 2.2.x нужно добавить следующие строки в вышеуказанный файл: alias scd0 sr_mod
alias scsi_hostadapter ide-scsi
options ide-cd ignore=hdc
В любом случае случае ядру нужно сообщить, какое
IDE устройство у нас теперь SCSI. Для LILO нужно добавить следующую строчку в
/etc/lilo.conf: append=" hdc=ide-scsi "
где hdc – это /dev/hdc – т.е. ваше устройство
CD-R. Не забудьте перезапустить lilo после этой операции.
Если у вас привод SCSI, а не ATAPI, то ничего
писать ни в /etc/modules.conf, ни в /etc/lilo.conf не нужно.
Программы Сейчас практически в любом
дистрибутиве есть программы cdrecord и mkisofs. Если же их у вас нет или вы
хотите получить более новые версии, то можно обратиться к официальной странице cdrecord, а за новой версией mkisofs
заглянуть на страницу производителя вашего дистрибутива.
После установки вышеозначенных утилит и
перезагрузки системы с новым ядром вы должны получить примерно такой вывод
команды cdrecord -scanbus: Cdrecord release 1.10 Copyright (C) 1995-2001 JЖrg Schilling
Linux sg driver version: 3.1.22
Using libscg version 'schily-0.5'
scsibus0:
0,0,0 0) 'TEAC ' 'CD-W58E ' '1.0A' 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 – это
идентификатор вашего привода, ниже я буду заменять их на x,x,x. После
всех этих действий, обращение к /dev/hdc уже невозможно, а новое обозначение
вашего устройства чаще всего – /dev/scd0. Так что не пугайтесь если обращение к
привычному /dev/cdrom, которое указывало на /dev/hdc даст сбой.
Создание образов:
mkisofs -R -J -jcharset koi8-r -o ourimage.iso /path/our_dir/
Здесь мы создаем образ используя Rock Ridge
(опция -R). Это позволяет обойти некоторые ограничения файловой системы iso9660,
– такие как ограничение на размер собственно файловой системы (650 mb), длин
имен файлов («формат 8.3») и ряд других. Для того, что бы и под windows можно
было комфортно читать диски, используется опция -J, создающая этот образ и в
т.н. Joliet-формате тоже. Если у вас файлы имеют русские имена в кодировке
koi8-r, то это учитывается опцией -jcharset koi8-r и в дальнейшем можно
будет читать записанные диски с корректным отображением русских названий файлов.
Ну а ourimage.iso - это, собственно, и есть образ диска, который мы создаем,
/path/our_dir/ – источник файлов для этого образа.
Я предпочитаю проверить образ, перед записью:
(ведь неприятно потерять болванку, особенно, какую-нибудь дорогую или редкую –
на 80 или 90 минут, например) mount -o loop ourimage.iso /mnt/iso
Собственно процесс:
Очистка диска для перезаписываемых (RW): cdrecord -v blank=fast dev=x,x,x
опция blank=fast указывает на то, что
произойдет быстрая очистака диска (т.е. очистка оглавления) и после этого можно
записывать вновь. Если вы хотите очистить диск полностью, то вам поможет
опция blank=all.
Команда для записи проста: cdrecord dev=x,x,x speed=8 -v ourimage.iso
Здесь все предельно ясно – speed=8 это
скорость записи болванки. Я обычно использую максимальную допускаемую моим
приводом и болванкой.
можно добавить опцию -eject: cdrecord -eject dev=x,x,x speed=8 -v ourimage.iso
в этом случае лоток привода выдвинется после
записи.
Для мультисессионного диска, необходимо добавить
опцию -multi. Тогда для следующей сессии нужно будет узнать, где
закончилась предыдущая запись: cdrecord -msinfo dev=x,x,x
Выводом будет число вида 12345,09876. С него мы
и начнем следующую запись: mkisofs -R -o cd_image2 -C 12345,09876 -M /dev/scd0 /path/our_dir/
Немного GUI
Одной из самых популярных графических утилит для
записи является X-CD-Roast.
Фактически это только надстройка над все теми же cdrecord и mkisofs, но
позволяющая в ряде случаев сделать процесс записи более быстрым и/или удобным.
Настройка X-CD-Roast
При первом запуске программы ее нужно настроить.
Указать желаемое устройство для записи, его скорость чтения/записи и т.п.
Процедура же непосредсвенно создания и записи
дисков, мне кажется, в известной степени, интуитивно понятной (на сколько, это
вообще можно достигнуть средствами GUI). Поэтому описание работы с X-CD-Roast я
считаю возможным опустить.
Создание дисков
На этом я заканчиваю наш краткий обзор и надеюсь
продолжить эту тему в дальнейшем. Так же смею надеяться, что данная заметка вам
пригодится, а если у вас остались вопросы, появились предложения или замечания –
я с удовольствием их выслушаю, пишите.
|