erro mkisofs - imagem de inicialização ... efibot.img não é um tamanho permitido

erro mkisofs - imagem de inicialização ... efibot.img não é um tamanho permitido

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-bootopçã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-bootnovamente depois -eltorito-alt-bootsignifica que a imagem EFI adicionada -etambém precisa -no-emul-bootfuncionar 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, -eadiciona parte que se torna partição EFI no USB posteriormente).

BTW, antes de gravar no isohybrid --uefi new.isocomando 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). -eopçã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.

informação relacionada