Table of Contents

PXE

Boot via PXE

Este método de boot via rede requer:

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).

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/:

# echo "dhcp-boot=gpxe.pxe" >> /tmp/dnsmasq.conf
# /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