Como fazer netboot usando o ELILO
Como obter o EFI para o netboot?
Você não precisa de nenhum software adicional para fazer com que a EFI inicie uma sessão de inicialização pela Internet. Qualquer máquina EFI pode ser configurada para iniciar uma sessão PXE / DHCP SE tiver um adaptador de rede que tenha suporte para o protocolo UNDI / PXE. A maioria dos cartões modernos tem esse suporte.
Para ativar a inicialização pela rede, você precisa entrar no menu de manutenção do gerenciador de inicialização EFI e 'Adicionar uma opção de inicialização'. Na tela, você vê a lista de dispositivos para inicializar. Pelo menos um deles deve ter a seguinte forma:
Load File [Acpi(PNP0A03,0)/Pci(5|0)/Mac(00D0B7A6FC25)]
que representam placa Ethernet (endereço Mac). Se você não tiver essa opção, significa que você não possui um adaptador de rede em sua máquina ou não possui o suporte a UNDI / PXE em sua opção ROM.
Você precisa selecionar essa opção e atribuir um nome lógico como 'netboot', por exemplo. Em seguida, você sai do menu de manutenção e volta ao menu principal. Agora você tem uma nova opção de menu de inicialização. Se você selecionar 'netboot', a EFI iniciará a solicitação de descoberta PXE / DCHP e procurará um servidor para obter um endereço IP.
No lado do servidor, você pode usar um servidor DHCP padrão.
Netbooting usando PXE
A EFI tem suporte embutido para o PXE. Na verdade, ele primeiro tenta o PXE e, em seguida, usa o DHCP como padrão quando não encontra um servidor PXE válido.
Existe um pacote de servidor PXE disponível no Linux / ia32, mas este pacote não possui as extensões necessárias para falar com o lado da EFI.
Não há necessidade de opções especiais ou sinalizadores de tempo de compilação para que o elilo funcione com o PXE em vez do DHCP padrão. Quando iniciado pela rede, o elilo detectará automaticamente se ele foi baixado via PXE ou DHCP e indicará como os arquivos subseqüentes serão solicitados.
Você precisa de uma versão especial do servidor DHCPD desenvolvido pelo Internet Software Consortium ( link ) com um patch especial para adicionar as extensões PXE . Infelizmente, a partir da versão 3.0xx, o patch ainda não entrou na árvore oficial. Ele deve aparecer na versão 3.1 do servidor dhcpd.
Em qualquer caso, o pacote elilo contém um exemplo simples de como você pode configurar o arquivo /etc/dhcpd.conf
para um servidor DHCP com reconhecimento de PXE usando as extensões fornecidas no patch. Você pode procurar em examples/dhcpd-pxe.conf
. A sintaxe é muito diferente de um servidor dhcpd padrão.
Os elementos-chave a serem lembrados são as camadas PXE usadas pelo elilo para solicitar as diferentes arquivos:
Layer 0 : to get the name of the boot loader (elilo.efi)
Layer 1 : to get the name of the elilo config file
Layer 2 : to get the name of the kernel image
Há uma distinção importante entre essas camadas. Os dois primeiros (0,1) e solicitados sistematicamente, enquanto o último é usado somente quando o arquivo de configuração não é encontrado, ou seja, qual é o kernel padrão para inicializar. Os arquivos reais ainda são baixados via TFTP. Portanto, o servidor TFTP também deve ser configurado (veja a seção anterior para saber mais sobre isso).
Obtendo o arquivo de configuração
Neste modo, o elilo usa a camada 1 do PXE para usar o arquivo de configuração. Portanto, isso deve ser definido no lado do servidor. O Elilo usará a seguinte sequência ao procurar por um arquivo de configuração:
- use the name provide by the PXE server Layer 1 or
- elilo-ia64.conf/elilo-ia32.conf/elilo-x86_64 or
- elilo.conf
Exemplo de arquivo elilo.conf
chooser=textmenu
default=install
delay=20
prompt
message=boot-screens/elilo_menu.msg
f1=boot-screens/general.msg
f2=boot-screens/params.msg
relocatable
image=vmlinuz
label=install
description="Install"
initrd=initrd.gz
append="--"
read-only
image=vmlinuz
label=expert
description="Install [Expert mode]"
initrd=initrd.gz
append="priority=low --"
read-only
image=vmlinuz
label=rescue
description="Rescue"
initrd=initrd.gz
append="rescue/enable=true --"
read-only
Outro
boot=/dev/sda1
delay=30
timeout=50
default=Gentoo
append="console=ttyS0,9600"
prompt
image=/vmlinuz
label=Gentoo
root=/dev/sda2
read-only
image=/vmlinuz.old
label=Gentoo.old
root=/dev/sda2
read-only
Dê uma olhada também em elilo.conf e < a href="http://www.rodsbooks.com/efi-bootloaders/elilo.html"> Gerenciando Carregadores de Inicialização EFI para Linux: Usando o ELILO
Elilo pára no primeiro jogo. Com o PXE, o elilo não tenta baixar um arquivo de configuração com o mesmo nome que o endereço IP atribuído, pois há flexibilidade suficiente na configuração do servidor PXE para isso.
Obtendo a imagem do kernel
Quando não houver arquivo de configuração, o elilo utilizará o nome do kernel retornado por PXE layer 2. Se não estiver especificado lá, então o padrão é 'vmlinux'.
Como obter o ramdisk inicial
O nome do arquivo para o disco em RAM DEVE vir do arquivo de configuração. O Elilo não usa uma camada PXE para solicitar um nome padrão.
Como obter informações de endereço IP
Quando o elilo é iniciado pela rede, o módulo do sistema de arquivos da rede inicializa algumas variáveis do elilo com as informações recebidas do servidor DHCP. No mínimo, recebeu o endereço IP.
As seguintes informações são armazenadas nas variáveis indicadas abaixo:
assigned IP address -> %I
assigned netmask -> %M
assigned domainname -> %D
assigned gateway -> %G
Estas variáveis podem ser usadas para ajustar dinamicamente os argumentos da linha de comando passados ao kernel.
Para mais informações, consulte PXE Linux e Implementando o Boot PXE
Fonte: HP