PXE inicializando o EFI Livecd - CentOS

1

Eu tenho um servidor PXE herdado que faz tudo o que precisamos na minha empresa e entradas que iniciam em um LiveCD do CentOS 7 (personalizado), novamente, no PXE herdado.

Gostaria de ter essas coisas funcionando no EFI PXE.

Até agora, dependendo do arquivo .efi especificado no meu dhcpd.conf , posso fazer com que coisas diferentes apareçam na tela do sistema de inicialização do EFI PXE para cargas diferentes; basicamente, eu sei que a inicialização do EFI PXE funciona na minha rede.

O problema que estou tendo é qual imagem de .efi usar que irá preencher a funcionalidade que eu preciso; Idealmente, eu teria todas as funcionalidades do meu menu PXE legado apenas na EFI, mas principalmente estou interessado em obter o meu CentOS 7 Livecd para inicializar a partir do EFI PXE.

Trabalhando com esta postagem no fórum e grubx64.efi , consegui chegar o mais longe possível como tendo o sistema de inicialização EFI PXE para carregar o grub e o conteúdo no arquivo grub.cfg .

Dentro do grub.cfg da postagem do fórum, modifiquei a entrada do menu para corresponder aos mesmos parâmetros que passo com a entrada do menu PXE legado (observe que a linha comentada é a linha "linuxefi" original da postagem):

menuentry 'Install CentOS 7' {
   #linuxefi /centos7-net/vmlinuz inst.repo=http://buildlogs.centos.org/centos/7/os/x86_64-latest/
   linuxefi /livecd/vmlinuz initrd=/livecd/initrd.img ksdevice=bootif lang=  root=live:/boot.iso kssendmac text  ks=http://XX.XX.24.21/cblr/svc/op/ks/profile/LiveCD
   initrdefi /livecd/initrd.img

Os arquivos vmlinuz e initrd.img que funcionam com o PXE herdado estão presentes e as permissões são definidas de forma que qualquer pessoa possa ler.

O que eu ganho com isso é um erro:

"Erro: não é possível carregar o initrd"

Mas não sei como remediar isso. O initrd está no caminho especificado nos parâmetros do kernel e na entrada de linha initrdefi .

Alguém já fez isso antes?

Como administrar um servidor PXE EFI em geral - gerenciamento de menus, sub-menus, instalações do sistema operacional, etc?

    
por Locane 15.06.2017 / 23:31

1 resposta

1

no PXE você pode carregar o kernel e o initrd pelo TFTP e pronto; O restante, ou seja, o arquivo de tamanho grande que implementa uma distro ativa será movido pelo HTTP ou por um compartilhamento SMB (o NFS também é uma opção).

então, além do erro de não conseguir carregar o initrd, você não poderá carregar a imagem ao vivo usando

root=live:/boot.iso 

que não possui as informações de rede necessárias. tente ver como a Serva faz isso aqui:

link

;-Serva v3.0 Non-Windows Asset Information File 
;-Boot/Install:
;  Red Hat Enterprise Linux / CentOS Linux
;-Tested on:
;  rhel-server-7.3-x86_64-dvd.iso
;  rhel-server-7.3-x86_64-boot.iso 
;  rhel-workstation-7.3-x86_64-dvd.iso
;  rhel-workstation-7.3-x86_64-boot.iso
;  rhel-client-7.3-x86_64-dvd.iso
;  rhel-client-7.3-x86_64-boot.iso
;
;  rhel-server-7.2-x86_64-dvd.iso
;  rhel-server-7.2-x86_64-boot.iso
;  rhel-workstation-7.2-x86_64-dvd.iso
;  rhel-workstation-7.2-x86_64-boot.iso
;  rhel-client-7.2-x86_64-dvd.iso
;  rhel-client-7.2-x86_64-boot.iso
;
;  rhel-atomic-installer-7.2-10.x86_64.iso
;
;  CentOS-7-x86_64-DVD-1611.iso
;  CentOS-Atomic-Host-7.1704-Installer.iso
;
;  rhel-workstation-6.5-x86_64-dvd.iso
;  rhel-server-6.5-x86_64-dvd.iso
;  CentOS-6.5-x86_64-bin-DVD1.iso
;
;-Require:
;  \SERVA_REPO\ offered as HTTP root
;-Notes:
; For KickStart
;  7.3 > Add to append  inst.ks=http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/images/pxeboot/ks.cfg
;  7.2 > Add to append  ks=http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/images/pxeboot/ks.cfg
[PXESERVA_MENU_ENTRY]
asset    = RHEL Server 7.3
platform = x86_64

kernel_bios    = /NWA_PXE/$HEAD_DIR$/images/pxeboot/vmlinuz
append_bios    = initrd=/NWA_PXE/$HEAD_DIR$/images/pxeboot/initrd.img inst.repo=http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/
;7.2 > append_bios    = initrd=/NWA_PXE/$HEAD_DIR$/images/pxeboot/initrd.img root=live:http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/LiveOS/squashfs.img ksdevice=bootif repo=http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/
;6.x > append_bios    = initrd=/NWA_PXE/$HEAD_DIR$/images/pxeboot/initrd.img method=http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$ noipv6 ksdevice=bootif
ipappend_bios   = 2

kernel_efi64   = /NWA_PXE/$HEAD_DIR$/images/pxeboot/vmlinuz
append_efi64   = initrd=/NWA_PXE/$HEAD_DIR$/images/pxeboot/initrd.img inst.repo=http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/
;7.2 > append_efi64   = initrd=/NWA_PXE/$HEAD_DIR$/images/pxeboot/initrd.img root=live:http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/LiveOS/squashfs.img ksdevice=bootif repo=http://$IP_BSRV$/NWA_PXE/$HEAD_DIR$/
ipappend_efi64 = 2

Estou relacionado ao desenvolvimento da Serva.

    
por 16.06.2017 / 00:57