Usando o mkisofs

Publicado por Roberson Carlos em 09/03/2005

[ Hits: 48.643 ]

Blog: http://carlrobers.wordpress.com

 


Usando o mkisofs



Para se criar uma imagem simétrica, ou seja, uma cópia exata de uma fonte, nós usaremos o comando mkisofs. Este comando é usado no Linux para que se criar imagens em múltiplos formatos, incluindo o ISO e o IMG, os dois muito divulgados em ambientes Windows.

Forma básica:

# mkisofs -o roberson.iso -r -J /root/arquivos/

Forma irreverente:

# mkisofs -pad -l -r -J -v -V "Genova" -o /saída.iso /diretório

Onde:
  • mkisofs é o programa que cria as imagens em diversos protocolos;
  • -R é o protocolo para o tipo de extensão Rock Ridge, comumente usado no Linux;
  • -J é o protocolo Joliet comumente usado no Windows;
  • -o indica o nome do arquivo de saída;
  • -l permite mais de 31 caracteres para o nome do arquivo, pode ser que o MS-DOS não consiga enxergar estes caracteres, já que ele trabalha com um protocolo 8.3;
  • -V especifica uma identificação para o CD (rótulo);
  • -v caso seja esta opção acionada, serão exibidas em seu vídeo todas informações que saírem do mkisofs;
  • -pad este parâmetro é necessário em muitos OSs, inclusive no Linux, ele é acionado para evitar erros de entrada e saída;
  • /root/a... é o diretório onde estão os arquivos que deverão ser comprimidos.

No caso especificado acima, todos os dados que estão dentro do diretório /root/arquivos/ serão colocados dentro da imagem roberson.img. Para saber se todos os arquivos foram adicionados à imagem, use o comando para montar a mesma:

mount -o loop imagem.iso /diretório/temporário

Um exemplo seria.

Se eu tivesse acabado de criar uma imagem do diretório denominada roberson.img e após a criação eu desejo verificar a integridade do arquivo, mas como você sabe, é meio que impossível ver sem algum comando ou programa específico um arquivo de imagem, no Linux nós podemos montar as imagens como se fossem blocos de dispositivos, para isso passe em um prompt o seguinte comando:

# mount -o loop roberson.iso /mnt/temp

Onde:
  • roberson.iso é o nome do arquivo de imagem que eu quero examinar;
  • /mnt/temp é o nome do diretório onde o arquivo será montado.

Caso você queira fazer alguns testes, pode simplesmente deixar ligada a opção DUMMY, que faz o cdrecord trabalhar normalmente, exceto é claro o gravador, que não irá ligar o laser, assim você não vai perder uma mídia a cada teste que fizer.

Outras dicas deste autor

Bloqueie conteúdo adulto sem instalação alguma em sua casa/escritório com o OpenDNS FamilyShield

Firefox 3.6 Tab Switching Preview

Baixando e compilando a última versão do Inkscape

Imprimindo arquivos em modo texto

Configurando banda larga no Linux

Leitura recomendada

Instalando Virtualbox na Solus

Instalar o compiz-fusion completo e sem conflito no Debian 5 Lenny

Instalando corretamente o Wine atualizado no Debian, Ubuntu, Linux Mint e derivados

Conky por cima das janelas? não é mais problema

Instalando o Google Earth no Linux (Debian / Ubuntu)

  

Comentários
[1] Comentário enviado por simpleminds em 10/03/2005 - 11:46h

como faço para fazer isso com uma particao montada em /part ???
estou executando corretamente ,pois consigo gerar iso de um diretorio avulso inteiro, mas nao de uma particao!!!
quando o mkisofs vai escanear o /dev ele entra em loop infinito por causa da quantidade de links simbólicos!! acusa o seguinte erro:
-------------------
mkisofs: Too many levels of symbolic links. File /debian/dev/fd/3/dev/fd/3/dev/fd/3/dev/fd/3/dev/fd/3/dev/fd/3/dev/fd/3/dev/fd/3/dev/fd/3/dev/fd/3/dev/fd/3/dev/fd/3/dev/fd/5/27/etc/rcS.d/S46setserial is not readable - ignoring
--------------------
existe algum parametro que conserte isso? ou existe uma outra serie de parametros a serem usados?
estou tentando customizar o debian e gerar um cd bootavel, poderia me ajudar? grato

[2] Comentário enviado por robersonfox em 02/04/2005 - 18:03h

# simpleminds
--------------------
Perdoe minha falta de companheirismo ao deixá-lo a tantos esperando meu caro amigo, não postei. Sua resposta antes, pois somente há poucos dias eu vi meu e-mail. Eu não possuo internet em minha Casa então eu passo horas e horas em lanhouses no centro de BH ou no centro da minha cidade (ibirité), e somente faço isto quando vou atualizar minha página.


A primeira pergunta
--------------------
A respeito de sua primeira pergunta, eu imagino que você quer criar uma ISO de um local onde você Deixou seu debian customizado? Quando eu estava trabalhando no Genova Linux também tinha que Fazer tal coisa, eu havia definido uma partição somente para ele (/dev/hda3 montada em /mnt/lfs_G3) assim como imagino que você o Tenha feito, pois bem, quando eu ia criar a imagem eu passava o seguinte comando:

$ mkisofs -V -R "Genova_Linux" -hide-rr-moved -pad /mnt/lfs_G3/

Se você tem uma versão do knoppix faça da seguinte forma:
Instale um programa chamado create_compressed_fs este programa era usado para compactar o Genova e é usado para compactar o Kurumin Linux de Morimoto e também o Knoppix de Knopper, a sintaxe deverá ficar assim:


$ mkisofs -V "Genova_Linux" -J -R -hide-rr-moved -pad /mnt/lfs_G3/ | /usr/bin/create_compressed_fs - 65536 > /mnt/Genova_Linux


Você deve claro substituir Genova_Linux pelo nome da sua compilação, o diretório lfs_G3 vem da Idéia tirada de um sujeito chamado Gerard Beekmans que mostrava como fazer um linux a partir do zero, eu não contarei a estória deste, mas se você estiver interessado visite este site. <http://lfs-br.codigolivre.org.br>.

O que Acontece
--------------------

Quando o mkisofs capturar o diretório onde se encontra seu OS customizado ele vai ler os argumentos passados na linha de comando, são eles:


o -V "Genova_Linux" (Volume Label) Define um rótulo para a sua imagem, quando você gravar a imagem passando a sintaxe correta no cdrecord para que a imagem seja gravada em um CD, ao CD será atribuído este nome.

o -R Rock-Ridge, permite que nomes possam ter inúmeros caracteres e extensões maiores

o -J Permite que os nomes sejam interpretados pelo MS Windows(r).

o -hide-rr-moved Esconde o diretório rr-moved

o -pad Evita que a imagem não tenha um valor múltiplo de 32KB.


Se você notar no comando que eu mencionei acima está presente um '|'(pipe-cano), este caractere é encarregado de redirecionar para um determinado local alguma informação que a sua esquerda deve estar, assim como em:


$ ls | more


O '|', vai redirecionar toda a saída do 'mkisofs' para o 'create_compressed_fs' que compactará o arquivo final.

Caso isto não venha a dar certo aconselho instalar a ultima versão do mkisofs, ou senão, passe mais informações a respeito da sua produção, quem sabe você não só se esqueceu de alguma coisa que nem mesmo o 'mkisofs' seja.


A Segunda pergunta
--------------------

Eu posso até ajudá-lo a criar seu CD customizado, mas quero saber como?
Se for com informações como esta que você solicitou acima acho que tudo bem.
Ja deixo um links para você estudar uma outra rota para a criação de uma distribuição Linux/gnu, eu ja o havia mensionado assima, mas vale a pena mostrá-lo novamente:
<http://lfs-br.codigolivre.org.br>

[3] Comentário enviado por maluc0z em 04/04/2005 - 17:24h

bom dia.. estou com esse msm problema de fazer uma distro customizada.. soh q o problema é fazer o CD ser instalavel.. estou sutomisando o CentOS.. sera q alguem poderia me dar um help em relação a criar um cd instalavel da minha distro customizada?

grato desde já..

João Paulo

[4] Comentário enviado por robersonfox em 09/05/2005 - 14:41h

Eu encontrei algumas informações, veja se elas servem:

1______________________________
Este tutorial promete mostrar como criar um ISO bootável do Puffy (mascote do OpenBSD)

http://www.openbsd.underlinux.com.br/artigos/iso.htm

acredito que tenha nele algo interessante


2______________________________
Este explica como criar um sistema operacional

http://www.cs.utah.edu/flux/oskit/

não sei o idioma que eles se encontram não sei se o conteúdo é mesmo o que eles prometem, mas vale a pena dar uma olhada.


3______________________________
Este destina somente a criar cds bootáveis e multiboots, vale a pena.

http://bblcd.berlios.de/


Veja outros na área linux do meu site:
http://forum.genovaengine.com


Até mais.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts