Translation(s): Brasileiro - English
Carregar o sistema operacional pela rede é uma comodidade que tem sido utilizada nos ?PCs durante vários anos, então sua máquina tem chances também de fazer isso. O método mais fácil de boot proporciona um método livre da mídia do Instalador Debian, e também pode ser utilizado para facilitar a gestão de cluster sem disco (DebianBeowulf ou uma coleção de trabalho)
Para iniciar a partir da rede, você precisa configurar sua BIOS para isso, então prepare uma imagem de kernel especial que será utilizada nesse método e configure um software apropriado em seu servidor que mande o kernel para a máquina cliente. O hardware e a BIOS dos PCs são muito diversificados, logo você não irá encontrar muita ajuda nessa página. Essa página mostra como executar esse processo em dois passos.
Também, devido a certo visionário de software, há muitos anos disse: "Nenhum computador pessoal jamais irá precisar de mais que 640K" (Valeu, Bill!) No entanto, um processo baseado em dois passos são necessários envolvendo a ferramenta e ?EtherBoot.
Preparando uma Imagem de Kernel Netboot
Uma imagem de kernel netbook (NBI) pode ser preparada utilizando o comando mknbi-linux em mknbi. Exemplo:
% mknbi-linux vmlinuz initrd.img > vmlinuz-initrd.nbi
onde vmlinuz é o binário do kernel, a imagem ramdisk initrd.img é opcional, e vmlinuz-initrd.nbi é o arquivo de saída, ou seja, a imagem netbook. Esse último arquivo é baixado pelo cliente no momento do boot do computador.
Preparando o Servidor
Para o servidor, dois software devem ser instalados: um servidor DHCP e um servidor TFTP. Para o servidor DHCP, o dhcp já resolve o problema se o arquivo .nbi for menor que 640K. No entanto, se for maior, você precisa do dhcp3-server para mandar dois arquivos diferentes: o carregador ?EtherBoot será enviado para o cliente quando o mesmo for iniciado, então o ?EtherBoot baixará a imagem bootável vmlinuz-initrd.nbi para concluir o processo de boot.
Um exemplo do arquivo de configuração do servidor DHCP, /etc/dhcp3/dhcpd.conf, que atende isso segue abaixo:
# Configuration file for ISC dhcpd v3.0
not authoritative; ddns-update-style none; # required for ISC v3.0
shared-network testingnet { subnet 10.0.0.0 netmask 255.255.255.0 { } }
group { default-lease-time 21600; max-lease-time 21600; use-host-decl-names on;
option domain-name "mydomain.edu"; option subnet-mask 255.255.255.0; option broadcast-address 10.0.0.255; option root-path "/var/lib/diskless/default/";
Este cabeçalho possui entradas por cada host de cliente individualmente, segue o exemplo abaixo:
host node2 { hardware ethernet 00:ab:cd:ef:12:34; fixed-address 10.0.0.2; if substring (option vendor-class-identifier, 0, 9) = "PXEClient" { filename "e1000-ecop.lzpxe"; } else if substring (option vendor-class-identifier, 0, 9) = "Etherboot" { filename "vmlinuz-initrd.nbi"; option vendor-encapsulated-options 3c:09:45:74:68:65:72:62:6f:6f:74:ff; } }
Nesse exemplo, o arquivo e1000-ecop.lzpxe é o carregador ?EtherBoot oferecido quanto a BIOS faz uma requisição do arquivo "PXEClient". Então o ?EtherBoot faz um requisição do arquivo "Etherboot" que por sua vez baixa a imagem vmlinuz-initrd.nbi para terminar o processo de boot
Após um certo número de entradas por máquinas de cliente, o arquivo dhcpd.conf finaliza com:
} # group
Se você tiver o UpdateCluster instalado, essas entradas podem ser geradas automaticamente pelo script http://lyre.mit.edu/~powell/cluster/dhcpd.updatelist .
O segundo servidor que deve ser instalado é o TFTP server. Esse último é muito simples, você pode usar o tftpd e depois de sua instalação, edite o arquivo /etc/inetd.conf removendo o caractere "#" do início da linha que tiver tftp e modificando o diretório do qual possui a localização dos arquivos (etherboot e o .nbi).