Este método de boot via rede requer:
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).
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/
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.
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.
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
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
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
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