O syslinux da UEFI não carrega o initrd sobre HTTP na inicialização do PXE

0

Estou tentando configurar uma inicialização do GParted Live PXE e siga as PXELINUX instruções para configurar a inicialização.

Eu tenho que trabalhar com o TFTP, mas agora eu quero mudar o carregamento de vmzlinuz , initrd e outros arquivos "grandes" para HTTP porque é lento.

No entanto, quando eu mudo, o initrd=/gparted/initrd (TFTP) para http://192.168.0.1/gparted/initrd na configuração pxe, a tela de carregamento trava indefinidamente em

Getting cached packet
My IP is 192.168.0.97
Loading vmlinuz... ok                         <-- that is still loadedvia TFTP)
Loading http://192.168.0.1/gparted/initrd...

Olhando para o tráfego de rede via wireshark, posso ver as transmissões relevantes para /gparted/syslinux.efi , /gparted/ldlinux.e64 , /gparted/pxelinux.cfg/default , /gparted/vmlinuz . Depois disso, há um silêncio mortal, então presumo que a pilha HTTP não esteja funcionando como pretendido.

A página PXELINUX diz:

Since version 5.10, a special PXELINUX binary, lpxelinux.0, natively supports HTTP and FTP transfers

No entanto, a seção UEFI diz:

The "(l)pxelinux.0" bootloaders are capable of netbooting BIOS-based clients. Hardware using UEFI has to use the adequate "syslinux.efi" (for EFI IA32 or for EFI X64, respectively) instead of using "(l)pxelinux.0".

Como você pode ver na lista de arquivos carregados com TFTP, depois da minha experiência em minha pergunta PXE anterior , eu fui com o carregador UEFI.

Existe também um extra "l" -version dos carregadores de inicialização UEFI que oferece suporte a HTTP? O que posso fazer para diagnosticar mais?

    
por Nobody 09.09.2016 / 19:55

1 resposta

2

De acordo com esta mensagem , o syslinux.efi deve suportar HTTP. Pode depender de algumas funções / serviços da UEFI para fazer isso. A implementação de UEFI específica da sua diretoria pode ser quebrada em relação a isso.

Então, realizei alguns testes usando meu PC e QEMU com o firmware OVMF, usando minha configuração PXELINUX existente. Eu observei os seguintes efeitos:

  • Quando eu tinha boot local como padrão e um tempo limite, ele saía imediatamente, retornando-me ao menu de seleção de inicialização (PC) ou reinicializando (QEMU).
  • Quando eu tinha qualquer interface do usuário (testado: vesamenu.c32 , menu.c32 ) ativado, ele travava (PC) ou reiniciava (QEMU).
  • Quando removi UI , DEFAULT e TIMEOUT , cheguei no prompt de modo de texto normal. Nada seria iniciado, no entanto, apenas reclamou que nem UI nem DEFAULT estava definido.

Essa experiência, combinada com o fato de que o GRUB2 funcionou perfeitamente, incluindo o modo gráfico no meu PC e no QEMU, leva-me a concluir que o SYSLINUX 6.03 não é adequado (ainda) para o netboot UEFI.

Infelizmente, o GRUB2 não foi feito para ser configurado "manualmente". Também é muito pesado, levando vários segundos para carregar o PXE (usando a versão modular regular). Eu não conheço nenhuma alternativa melhor, no entanto.

    
por 09.09.2016 / 22:38