Tutorial Gravando CDs no Linux - parte I

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Tutorial Gravando CDs no Linux - parte I

Mensagem por Pandora em Seg Mar 10, 2008 6:15 pm

Introdução

Esta série de artigos tem como objetivo ensinar o be-a-bá dos gravadores de CDROM. Aprenderemos como configurar drives CD-RW, queimar CDs de áudio e de arquivos, apagar e regravar dados em mídias regraváveis.

Daremos enfoque aos programas mkisofs e cdrecord, que são essenciais para realizarmos nossas tarefas com as famosas mídias virgens.

No decorrer dos artigos, citaremos ainda alguns softwares que podem ser integrados com a dupla dinâmica de programas acima citados, como o xcdroast, que é um front-end para os mesmos, o cdparanoia, que extrai musicas de CDs de audio e os converte para WAV, bladeenc, que converte arquivos WAV pra MP3 e finalmente o mpg123, que converte arquivos MP3 para arquivos CDA (CD de audio).

Configurando o drive de CDROM

O programa responsável pela comunicação com sua gravadora é o cdrecord. Por padrão, o cdrecord trabalha apenas com drives CD-R ou CD-RW em interfaces SCSI. Ok, vamos lá, todos nós temos drives de CD-R em interfaces IDE, certo? Pois bem, existe uma forma de mascarar nosso drive para que o mesmo funcione como um drive SCSI e então, burlar o cdrecord.

A primeira informação a se ter em mente é em qual dispositivo se encontra o seu drive CD-R. Antes de informarmos ao Linux que existe uma gravadora de CDs no sistema, o mesmo trata o dispositivo como um simples drive de CDROM.

No caso do meu sistema, a gravadora de CDs corresponde a /dev/hdc, que equivale a interface secondary master em minha placa-mãe. Usualmente seu drive pode estar em /dev/hdb (secondary slave), isso vai depender da forma como o seu equipamento foi jumpeado.

Você pode descobrir onde se encontra seu drive de CDROM emitindo o seguinte comando:

#ls -l /dev/cdrom

Como saída teremos algo parecido com:

lrwxrwxrwx 1 root root 3 Sep 21 13:46 /dev/cdrom -> hdc

Neste caso, o dispositivo associado a gravadora de CDROM é /dev/hdc, como mostrado na última coluna da saída do comando.

Agora que descobrimos onde se encontra o CDROM, vamos informar ao kernel que /dev/hdc será o "dispositivo-alvo" do modulo ide-scsi*. Para que a configuração da gravadora seja algo permanente, é interessante fazermos com que os parâmetros e os módulos envolvidos sejam carregados durante a fase de inicialização do sistema. Sendo assim, usaremos o lilo para passar parâmetros ao kernel. Mas porque o lilo? Ora, é o lilo quem carrega a imagem do kernel na memória do computador, nada melhor do que ele para se passar parâmetros ao kernel.

* se o seu Linux não encontrar o módulo ide-scsi, será necessário recompilar o kernel com suporte a "SCSI emulation", porém essa parte está fora do escopo do artigo.

Edite o arquivo /etc/lilo.conf e insira a seguinte linha:

append="hdc=ide-scsi"

(lembre-se de substituir hdc pelo dispositivo acusado pelo link /dev/cdrom)

Feitas as alterações em lilo.conf, digite o comando "lilo" para atualizar o novo lilo na MBR.

O próximo passo será o de fazer com que o módulo ide-scsi seja carregado durante a fase de inicialização do sistema. Toda distribuição tem um script de inicialização local, o problema é que o nome do arquivo varia de uma para outra. Usuários de Debian deverão usar o arquivo /etc/init.d/bootmisc.sh (ou /etc/modules), usuários de Slackware o arquivo /etc/rc.d/rc.modules, enquanto que usuários de Red Hat e derivados usarão /etc/rc.d/rc.local. Edite o script de inicialização local de sua distribuição e insira a seguinte linha:

insmod ide-scsi

Reinicie o computador para que as alterações surtam efeito. Assim que o lilo carregar a imagem do kernel, será exibida uma mensagem de detecção do drive SCSI correspondente a sua gravadora de CDs. Guarde na memória o nome do dispositivo encontrado, que será algo parecido com scd0*. Você pode pressionar a tecla Scroll Lock durante a inicialização do sistema para congelar as mensagens na tela e identificar o dispositivo.

Dispositivos SCSI variam de máquina para máquina. Existem casos em que o dispositivo pode ser scdX, srX, sdaX (onde X é o número do dispositivo).

Efetue login no sistema como usuário root e atualize o link /dev/cdrom para o novo dispositivo SCSI:

#rm /dev/cdrom

-> remova o link simbólico /dev/cdrom

#ln -s /dev/scd0 /dev/cdrom

-> crie o link /dev/cdrom apontando para /dev/scd0

Se você perder a mensagem que aponta o dispositivo SCSI da gravadora de CDs, não se preocupe. Insira um CDROM qualquer no drive e digite:

#mount /dev/scd0 /mnt -t iso9660

Substitua o "0" de /dev/scd0 por 1,2,3... até que o CDROM seja encontrado e montado adequadamente, ou então substitua "scd" por "sr" e "sda".

Uma vez configurado nosso drive CD-R, vamos aprender como gerar nossas próprias imagens ISO e como gravá-las em CDs. Usaremos o programa mkisofs para gerar as imagens e o cdrecord para gravá-las.

Tanto o mkisofs quanto o cdrecord já vem instalados por padrão na maioria das distribuições Linux. Caso sua distribuição não tenha os programas incluídos, podemos encontrá-los em www.freshmeat.net. Leia a documentação encontrada nas páginas dos softwares para saber como instalá-los, pois isto vai além do escopo deste artigo.

Gravando CDs no Linux - parte I
Por: Fábio Berbert de Paula

Imagens ISO

Muito se ouve falar de imagem ISO pra cá, imagem ISO pra lá, mas que diabos vem a ser uma imagem ISO? Bom, todo sistema operacional utiliza de uma lógica nativa para armazenar arquivos em dispositivos de armazenamento (discos rígidos, disquetes, zip drives, fitas, etc). Denominamos essa lógica nativa como o sistema de arquivos suportado pelo sistema operacional. O Linux, por exemplo, usa o sistema de arquivos (ou file system) ext2 para armazenar arquivos em disco.

Tudo bem, até aqui estou me fazendo de entendido, mas o que uma imagem ISO tem a ver com um sistema de arquivos? Vamos lá, um CDROM é um tipo de mídia que armazena dados e esses dados devem usar algum tipo de sistema de arquivos para serem manipulados. Ao contrário de outras mídias, como o disco rígido por exemplo, não é o sistema operacional quem decide que sistema de arquivos usar para manipular os dados do CDROM. Vale lembrar que o CDROM é uma mídia que armazena dados permanentemente, ou seja, uma vez gravados dados nele, estes dados jamais serão alterados (a não ser que você esteja usando uma mídia regravável, mas isso é outra história). Já que o sistema operacional não pode formatar um CDROM para organizá-lo com seu sistema de arquivos nativo, foi determinado que drives de CDROM usariam o sistema de arquivos iso9660 para manipular arquivos de CDs. Sendo assim, uma imagem ISO é um arquivo que contém informações sobre todos os arquivos que serão gravados no CDROM em formato iso9660.

Quando queremos gravar um CD, passamos uma imagem ISO para o programa cdrecord, que a decodifica e grava os arquivos para a mídia destinada.

O programa mkisofs

Agora que sabemos o que é uma imagem ISO, vamos usar o programa mkisofs para gerar uma brincadeirinha dessas.

A sintaxe do programa é:

mkisofs [opções] -o imagem.iso [lista de arquivos]

Vamos supor que eu queira gravar os diretórios /mp3 e /home/fotos para um CD virgem. A primeira tarefa a se realizar é a de gerar a imagem dos diretórios. Digite:

mkisofs -o minhas_coisas.iso /mp3 /home/fotos

Por padrão, o sistema de arquivos iso9660 não suporta nome de arquivos longos e com caracteres especiais. Para contornar a situação, surgiu um protocolo denominado Rock Ridge. Se não quisermos que os nomes de nossos arquivos sejam truncados quando gravados para o CD, devemos usar a opção -r para gerar nossa imagem ISO:

mkisofs -r -o minhas_coisas.iso /mp3 /home/fotos

Se você pretende usar os CDs gravados no Linux em sistemas operacionais da Microsoft, é aconselhável usar a opção -J, que gera diretórios com nomes no padrão prioritário Joilet. Logo, para termos uma imagem compatível com outros sistemas operacionais, usar:

mkisofs -r -J -o minhas_coisas.iso /mp3 /home/fotos

Neste artigo foram citadas as opções que considero as mais importantes do mkisofs, mas o mesmo possui dezenas de outras opções. Sugiro uma boa leitura na página de manual do software, que pode ser acessada com o comando:

man mkisofs

O programa cdrecord

O programa cdrecord é usado para gravar dados em CDs. Existem 3 tipos de CD:

* CD de dados: armazenam arquivos que podem ser manipulados pelo sistema operacional.
* CD de audio: armazena faixas musicais e pode ser reproduzido por qualquer aparelho de som.
* CD de audio e dados: é uma mistura dos dois tipos de CDs acima descritos.

Antes de usarmos o cdrecord para gravar imagens, precisamos descobrir em quais endereços de barramento se encontra nosso drive "SCSI". Digite o comando:

cdrecord -scanbus

Como saída teremos algo como:

Cdrecord 1.8 (i686- pc- 1 -gnu) Copyright (C) 1995-2000 Jörg
Schilling
Using libscg version 'schily-0.1'
scsibus0:
0,0,0 0) 'HP ' 'CD-Writer+ 9300 ' '1.0b' 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) *

Notem que, neste caso, a gravadora de CDs encontra-se no endereço 0,0,0. Memorizem o endereço retornado pelo comando emitido em seu sistema, pois o usaremos daqui em diante.

Agora que sabemos o que precisávamos sobre a gravadora, vamos finalmente gravar a imagem minhas_coisas.iso para um CD.

Insira uma mídia virgem no seu drive CD-R(W) e digite:

cdrecord -v dev=0,0,0 -data minhas_coisas.iso

Onde a opção -v informa ao cdrecord para mostrar o andamento da gravação na tela, dev=0,0,0 informa o endereço de barramento da gravadora, -data especifica que este é um CD de dados e minhas_coisas.iso é a imagem ISO que geramos a pouco.

Muitas vezes o cdrecord não é capaz de determinar automaticamente a velocidade de gravação de sua gravadora. É extremamente recomendável passar essa informação manualmente, sendo assim, se temos uma gravadora com velocidade de 8x para gravação, podemos usar:

cdrecord -v dev=0,0,0 speed=8 -data minhas_coisas.iso



Por: Fábio Berbert de Paula

flower
avatar
Pandora
Col
Col

Mensagens : 400
Data de inscrição : 09/01/2008
Idade : 29
Localização : Dentro de uma Bomba

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum