Estou tentando criar um ISO personalizado a partir de um disco de instalação do rhel-8 que pode inicializar em um BIOS ou em um servidor EFI. Tudo vai bem até eu tentar criar a iso. Se eu executar o seguinte comando:
mkisofs -J -R -T -V "NGS-8.4-0 Server" \
-o ngs-8.4-0.iso \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
--no-emul-boot \
--boot-load-size 4 \
--boot-info-table \
--eltorito-alt-boot \
-e images/efiboot.img \
-m TRANS.TBL \
ngs-dvd
Eu recebo a seguinte saída:
Creating NGS iso...I: -input-charset not specified, using iso-8859-1 (detected in locale settings)
(bunch of TRANS.TBL output deleted)
Size of boot image is 4 sectors -> No emulation
Size of boot image is 19612 sectors -> genisoimage: Error - boot image '/NGS/ngs-dvd/images/efiboot.img' has not an allowable size.
No entanto, se eu excluir duas opções ( --eltorito-alt-boot
& -e images/efiboot.img
), ele criará um iso inicializável. O que estou fazendo de errado?
Responder1
Parece que precisei da -no-emul-boot
opção duas vezes. Um para cada imagem de inicialização (BIOS e EFI). A configuração final de trabalho foi:
/usr/bin/mkisofs -J -R -T -V "NGS-8.4-0 Server" \
-o ngs-8.4-0.iso \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-e images/efiboot.img \
-no-emul-boot \
-m TRANS.TBL \
ngs-dvd
Responder2
Da página de manual:
-eltorito-alt-boot Comece comum novo conjuntoda bota El Toritoparâmetros. Até 63 entradas de inicialização do El Torito podem ser armazenadas em um único CD.
Portanto, descobrir em sua resposta que você precisa adicionar -no-emul-boot
novamente depois -eltorito-alt-boot
significa que a imagem EFI adicionada -e
também precisa -no-emul-boot
funcionar corretamente e, como é a próxima entrada do El Torito e começa com um novo conjunto de parâmetros, os parâmetros necessários precisam ser listados explicitamente novamente.
Da pergunta:
No entanto, se eu excluir duas opções (--eltorito-alt-boot & -e images/efiboot.img), ele criará um iso inicializável.
Eu também fiz isso inicialmente, criei iso que resultou apenas em inicialização legada (sem EFI, -e
adiciona parte que se torna partição EFI no USB posteriormente).
BTW, antes de gravar no isohybrid --uefi new.iso
comando USB é necessário.
Parece haver uma boa postagem + discussão relacionadaAnatomia de uma imagem ISO do Fedora 17, ainda não li tudo.
PS: por que muitas outras opções são críticas (por exemplo, nenhum tamanho exceto 4 parece funcionar) não consegui descobrir (até agora). -e
opção parece estar ausente nas páginas de manual do meu sistema, mas funciona.https://wiki.osdev.org/Mkisofs:
-e ISOPATH anuncia um arquivo de dados como imagem de inicialização El Torito para EFI. Esta não é uma opção do mkisofs original, mas é entendida por algumas variantes do genisoimage e por xorriso -as mkisofs.