O 'mkisofs' modifica a imagem de inicialização e / ou o catálogo de inicialização?

2

Eu tenho brincado com o Kickstart no RHEL 6.2, e isso envolve re-masterizar a instalação do ISO. Eu notei algo estranho, no entanto. Se eu emitir o seguinte comando uma vez (onde diskFiles é o diretório que eu mantive os arquivos de DVD) ...

mkisofs -o file.iso -b isolinux/isolinux.img -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T diskFiles/

... Eu não posso criar um ISO de trabalho novamente, a menos que eu use uma cópia nova dos arquivos de DVD. Erros podem variar do isolamento falhando ao boot para o Anaconda não encontrar a imagem de instalação do RHEL. Então, aqui estão minhas perguntas:

  1. Os arquivos isolinux no diretório diskFiles estão sendo modificados quando eu crio o ISO?
  2. Em caso afirmativo, quais arquivos devo substituir sempre que tento criar outro ISO? Eu sei que copiar todo o DVD funciona de novo, mas parece desnecessário.
  3. Se não, há algo que eu possa estar faltando no processo que explicaria isso?

Essencialmente, minha pergunta é: como o mkisofs faz sua mágica e o que ele faz com a imagem de inicialização no processo?

    
por Vishal Kotcherlakota 29.05.2012 / 20:58

2 respostas

3

1) Se os arquivos no diretório diskFiles estiverem sendo modificados, isso será mostrado com ferramentas simples como ls . Se você tiver muitos arquivos e / ou sub-diretórios, encontrar é seu amigo.

2) O rsync de um backup do DVD será muito mais rápido. Eu não recomendo isso porque é uma solução alternativa. Encontrar o que causa o problema é quase sempre melhor. No entanto, reconheço que às vezes é necessária uma solução para que as coisas sejam feitas AGORA . Minha experiência é que essa solução alternativa permanece para sempre, portanto, evitá-las quando possível é melhor.

(pular o item 3 porque não tenho resposta para isso).

    
por 29.05.2012 / 21:39
0

Para adicionar à resposta eu aceitei, havia uma maneira simples para eu descobrir isso - gerar uma soma de verificação MD5! (duh.)

md5sum diskFiles/isolinux/isolinux.bin

Se você executasse esse comando antes e depois de invocar mkisofs , veria que o arquivo está realmente mudando, devido ao seguinte motivo (graças ao @Hennes):

-boot-info-table Specifies that a 56-byte table with information of the CD-ROM layout will be patched in at offset 8 in the boot file. If this option is given, the boot file is modified in the source filesystem, so make sure to make a copy if this file cannot be easily regenerated!

Para superar isso, estou usando o seguinte comando:

rsync -rv /home/derp/diskBackup/isolinux diskFiles/isolinux

O comando rsync é muito parecido com cp , mas é muito mais inteligente e flexível. O uso desse comando "limpará" os arquivos de imagem de inicialização no sistema de arquivos de origem, para que mkisofs possa corrigir a tabela de 56 bytes novamente sem corromper o arquivo isolinux.

Eu provavelmente poderia fazer isso para todo o conteúdo do DVD, mas eu estava com preguiça de copiar tudo novamente do disco, e isolinux é o único diretório impactado por mkisofs . : -)

    
por 31.05.2012 / 09:41