Table of Contents
PXE
Boot via PXE
Este método de boot via rede requer:
- Um servidor para armazenar arquivos rodando DHCP e TFTP (cada um destes serviços também pode estar num servidor diferente).
- Um cliente com um carregador de boot PXE. Pode ser uma máquina sem discos.
Configuração do Servidor PXE
Servidor PXE = Servidor DHCP + arquivo de opções de boot DHCP + Servidor TFTP.
Demonstração utilizando um Live CD do SliTaz: Inicie o netbox (menu Ferramentas do Sistema → Configuração de Rede).
- Na aba IP Estático clique em Iniciar. Esta máquina será o servidor DHCP. Ela não pode usar um DHCP para obter o IP.
- Na aba Servidor / INETD certifique-se que a linha referente ao tftpd no arquivo /etc/initd.conf está desmarcada (opção padrão) e clique em iniciar (inicialização do servidor TFTP).
- Na aba Servidor / PXE configure e adicione suas opções de boot. Ao se fazer isto o servidor DHCP terá suas configurações atualizadas automaticamente (configuração do arquivo de opções de boot).
- Na aba Servidor / DHCP confira a configuração. Os passos anteriores adicionaram as linhas boot_file e siaddr. Então clique em iniciar (inicialização do servidor DHCP).
- Assegure-se de que os arquivos bzImage e rootfs.gz estão salvos no diretório /boot.
Carregador de boot do cliente PXE
A maiorias dos computadores atuais com ethernet onboard já traz uma BIOS PXE. Procure por esta função no menu da BIOS e no menu de boot da BIOS. Caso não haja esta opção, crie um cdrom ou disquete de boot utilizando Menu → Ferramentas do Sistema → Criação de disquete/cdrom de boot. Na aba Rede PXE clique em Gravar Disquete e use-o para dar o boot na máquina.
Se sua placa de rede não for reconhecida veja http://rom-o-matic.net/
Boot PXE sem um servidor PXE: Boot via WEB
Veja http://boot.slitaz.org/ Você vai precisar de um servidor DHCP para obter um endereço IP, máscara de rede e endereço do gateway.
Boot PXE sem um servidor PXE: Boot via WEB e linha de comando
Veja http://boot.slitaz.org/. Você precisará de um endereço IP, máscara de rede, endereço do gateway e opcionalmente um endereço DNS. Exemplo utilizando o GRUB:
title Slitaz Web kernel /boot/gpxe ip=192.168.0.12/24 gw=192.168.0.1 dns=192.168.0.1 url=http://mirror.slitaz.org/pxe/pxelinux.0
Pode-se alterar a url de boot:
Substitua
http://mirror.slitaz.org/pxe/pxelinux.0
Por
ip=192.168.0.12/24 gw=192.168.0.1 dns=192.168.0.1 url=http://mirror.slitaz.org/pxe/pxelinux.0
Somente os valores ip= gw= dns= url= and nodhcp são reconhecidos. O valor nodhcp é útil para evitar estouro de tempo do dhcp.
Boot via WEB com um prom de boot PXE embutido (redirecionador PXE)
Configure um servidor PXE com o arquivo http://download.tuxfamily.org/slitaz/boot/gpxe.pxe como arquivo de boot, um carregador secundário de 42Kb
Método testado com sucesso com o roteador http://openwrt.org/:
- Instale o arquivo http://mirror.slitaz.org/boot/mips/tftpd (versão mips) em /jffs/usr/sbin
- Instale o arquivo gpxe.exe em /jffs/boot
- Adicione a opção dhcp bootfile no arquivo de configuração do dnsmasq:
# echo "dhcp-boot=gpxe.pxe" >> /tmp/dnsmasq.conf
- Execute o servidor TFTP de sua rede (digamos 192.168.0.1/24):
# /jffs/usr/sbin/tftpd 192.168.0.1 /jffs/boot
Modifique a URL padrão do boot via WEB do gpxe
A URL é armazenada no setor 519 contendo no máximo 255 bytes.
Para mostrar a URL atual:
$ dd bs=1 skip=519 count=255 if=gpxe 2> /dev/null | strings
Para modificar a URL:
$ echo -n "http://myurl.org/myboot" | cat - /dev/zero | dd conv=notrunc bs=1 seek=519 count=255 of=gpxe
Para modificar a URL e dados relacionados a IP:
$ echo -n "ip=192.168.0.10/24 gw=192.168.0.1 dns=192.168.0.1 url=http://myurl.org/myboot" | cat - /dev/zero | dd conv=notrunc bs=1 seek=519 count=255 of=gpxe
Para remover a URL (passando a se comportar como um gpxe normal):
$ dd if=/dev/zero conv=notrunc bs=1 seek=519 count=255 of=gpxe
Modifique a URL padrão do boot via WEB no arquivo gpxe.pxe
A URL é armazenada no setor 5 contendo no máximo 255 bytes.
Para mostrar a URL atual:
$ dd bs=1 skip=5 count=255 if=gpxe.pxe 2> /dev/null | strings
Para modificar a URL:
$ echo -n "http://myurl.org/myboot" | cat - /dev/zero | dd conv=notrunc bs=1 seek=5 count=255 of=gpxe.pxe
Para remover a URL (passando a se comportar como um gpxe.exe normal):
$ dd if=/dev/zero conv=notrunc bs=1 seek=5 count=255 of=gpxe.pxe
Servidor de Boot via WEB redundantes
Lista de URLs separadas por vírgulas são suportadas.
O cliente PXE tentará carregar a primeira URL. Se o carregamento falhar, tentará a segunda, e assim por diante.
Exemplo utilizado no Servidor de Boot via WEB do SliTaz:
$ echo -n http://mirror.slitaz.org/pxe/pxelinux.0,http://mirror.switch.ch/ftp/mirror/pxe/pxelinux.0,http://download.tuxfamily.org/slitaz/pxe/pxelinux.0" | cat - /dev/zero | dd conv=notrunc bs=1 seek=519 count=255 of=gpxe