Red Hat Training
A Red Hat training course is available for RHEL 8
8.3.3. Configuração de um servidor TFTP para clientes baseados em UEFI
Use este procedimento para configurar um servidor TFTP e DHCP e iniciar o serviço TFTP no servidor PXE para sistemas AMD64, Intel 64 e ARM de 64 bits baseados em UEFI.
- Todos os arquivos de configuração nesta seção são exemplos. Os detalhes de configuração variam e dependem da arquitetura e dos requisitos específicos.
-
A inicialização do Red Hat Enterprise Linux 8 UEFI PXE suporta um formato de arquivo em minúsculas para um arquivo de menu grub baseado em MAC. Por exemplo, o formato de arquivo de endereço MAC para o grub2 é
grub.cfg-01-aa-bb-cc-dd-ee-ff
Procedimento
Como raiz, instale os seguintes pacotes. Se você já tem um servidor DHCP configurado em sua rede, exclua os pacotes dhcp-server.
# yum instalar tftp-server dhcp-server
Permitir conexões de entrada para o
tftp service
no firewall:# firewall-cmd --add-service=tftp
Nota-
Este comando permite o acesso temporário até o próximo reinício do servidor. Para permitir o acesso permanente, adicione a opção
--permanent
ao comando. - Dependendo da localização do arquivo ISO de instalação, você pode ter que permitir conexões de entrada para HTTP ou outros serviços.
-
Este comando permite o acesso temporário até o próximo reinício do servidor. Para permitir o acesso permanente, adicione a opção
Configure seu servidor DHCP para usar as imagens de inicialização empacotadas com shim como mostrado no arquivo
/etc/dhcp/dhcpd.conf
do exemplo a seguir. Observe que se você já tiver um servidor DHCP configurado, então execute esta etapa no servidor DHCP.option space pxelinux; option pxelinux.magic code 208 = string; option pxelinux.configfile code 209 = text; option pxelinux.pathprefix code 210 = text; option pxelinux.reboottime code 211 = unsigned integer 32; option architecture-type code 93 = unsigned integer 16; subnet 10.0.0.0 netmask 255.255.255.0 { option routers 10.0.0.254; range 10.0.0.2 10.0.0.253; class "pxeclients" { match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"; next-server 10.0.0.1; if option architecture-type = 00:07 { filename "BOOTX64.efi"; } else { filename "pxelinux/pxelinux.0"; } } }
Acesse o arquivo
BOOTX64.efi
do pacoteshim
, e o arquivogrubx64.efi
do pacotegrub2-efi
no arquivo de imagem ISO do DVD Binário onde my_local_directory é o nome do diretório que você cria:# montagem -t iso9660 /caminho_para_imagem/nome_da_imagem.iso /ponto_de_montagem -o loop,ro
# cp -pr /mount_point/BaseOS/Packages/shim-version-architecture.rpm /my_local_directory
# cp -pr /mount_point/BaseOS/Packages/grub2-efi-version-architecture.rpm /my_local_directory
# umount /mount_point
Extrair as embalagens:
# rpm2cpio shim-version-architecture.rpm | cpio -dimv
# rpm2cpio grub2-efi-version-architecture.rpm | cpio -dimv
Copie as imagens de inicialização da EFI a partir de seu diretório de inicialização. Substitua ARCH por calço ou grub seguido da arquitetura, por exemplo,
grubx64
.# cp my_local_directory/boot/efi/efi/EFI/redhat/ARCH.efi /var/lib/tftpboot/uefi/
# cp my_local_directory/boot/efi/EFI/redhat/ARCH.efi /var/lib/tftpboot/uefi
Adicione um arquivo de configuração chamado
grub.cfg
ao diretóriotftpboot/
, como mostrado no exemplo a seguir:set timeout=60 menuentry 'RHEL 8' { linuxefi images/RHEL-8.1/vmlinuz ip=dhcp inst.repo=http://10.32.5.1/RHEL-8.1/x86_64/iso-contents-root/ initrdefi images/RHEL-8.1/initrd.img }
Nota-
O programa de instalação não pode inicializar sem sua imagem em tempo de execução. Use a opção de inicialização
inst.stage2
para especificar a localização da imagem. Alternativamente, você pode usar a opçãoinst.repo=
para especificar a imagem, bem como a fonte de instalação. -
O local da fonte de instalação utilizado com
inst.repo
deve conter um arquivo.treeinfo
válido. -
Quando você seleciona o DVD de instalação RHEL8 como fonte de instalação, o arquivo
.treeinfo
aponta para os repositórios BaseOS e AppStream. Você pode usar uma única opçãoinst.repo
para carregar os dois repositórios.
-
O programa de instalação não pode inicializar sem sua imagem em tempo de execução. Use a opção de inicialização
Criar um subdiretório para armazenar os arquivos de imagem de inicialização no diretório
/var/lib/tftpboot/
, e copiar os arquivos de imagem de inicialização para o diretório. Neste exemplo, o diretório é/var/lib/tftpboot/images/RHEL-8.1/
:# mkdir -p /var/lib/tftpboot/images/RHEL-8.1/ # cp /path_to_x86_64_images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/images/RHEL-8.1/
No servidor DHCP, inicie e habilite o serviço
dhcpd
. Se você tiver configurado um servidor DHCP no localhost, então inicie e ative o serviçodhcpd
no localhost.# systemctl start dhcpd # systemctl enable dhcpd
Inicie e habilite o serviço
tftp.socket
:# systemctl start tftp.socket # systemctl enable tftp.socket
O servidor de inicialização PXE está agora pronto para atender os clientes PXE. Você pode iniciar o cliente, que é o sistema para o qual você está instalando o Red Hat Enterprise Linux, selecionar PXE Boot quando solicitado a especificar uma fonte boot, e iniciar a instalação da rede.
Recursos adicionais
-
Para mais informações sobre
shim
, consulte a documentação a montante: Usando o Programa Shim.