4.3. Preparando os arquivos para inicialização via rede usando TFTP

Caso sua máquina esteja conectada a uma rede de área local, é possivel inicia-la através da rede a partir de outra máquina usando o servidor TFTP. Se tem a intenção de iniciar o sistema de instalação para outra arquitetura, os arquivos de inicialização precisarão ser colocados em localizações específicas da máquina e a máquina configurada para suportar inicialização em sua máquina específica.

Você precisará configurar um servidor TFTP e para muitas máquinas um servidor BOOTP , ou um servidor DHCP.

O DHCP (Dynamic Host Configuration Protocol) é uma extensão mais flexível, compatível com versões mais antigas do BOOTP. Alguns sistemas somente podem ser configurados via DHCP.

O protocolo Trivial File Transfer Protocol (TFTP) é usado para servidor uma imagem de inicialização ao cliente. Teoricamente, qualquer servidor, em qualquer plataforma que implementa estes protocolos poderá ser usados. Nos exemplos desta seção, nós mostraremos comando para o SunOS 4.x, SunOS 5.x (a.k.a. Solaris), e para o GNU/Linux.

4.3.1. Configurando um servidor DHCP

Um servidor DHCP livre é o ISC dhcpd. Na Debian GNU/Linux, ele está disponível no pacote dhcp. Aqui está um modelo de configuração deste pacote (normalmente /etc/dhcpd.conf):

option domain-name "exemplo.com";
option domain-name-servers ns1.exemplo.com;
option subnet-mask 255.255.255.0;
default-lease-time 600;
max-lease-time 7200;
server-name "servername";

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.200 192.168.1.253;
  option routers 192.168.1.1;
}

host clientname {
  filename "/tftpboot/tftpboot.img";
  server-name "servername";
  next-server servername;
  hardware ethernet 01:23:45:67:89:AB;
  fixed-address 192.168.1.90;
}

Nota: O novo (e preferido) pacote dhcp3 utiliza o arquivo de configuração /etc/dhcp3/dhcpd.conf.

Neste exemplo, existe somente um servidor servername que faz todo o trabalho do servidor DHCP, servidor TFTP e gateway de rede. Você precisará modificar as opções domain-name assim como o nome do servidor e endereço de hardware do cliente. A opção filename deve ter o nome do arquivo que será baixado via TFTP.

Após editar o arquivo de configuração dhcpd, reinice-o com /etc/init.d/dhcpd restart.

4.3.2. Ativando o servidor TFTP

Para ter um servidor TFTP funcionando, primeiro deverá ter certeza que o tftpd está ativado. Ele normalmente é ativado através da seguinte linha no seu arquivo /etc/inetd.conf:

tftp dgram udp wait nobody /usr/sbin/tcpd in.tftpd /tftpboot

Os pacotes da Debian geralmente configurarão isto corretamente por padrão quando forem instalados.

Olhe neste arquivo e lembre-se do diretório que é usado como argumento para o in.tftpd; você irá precisa dele mais abaixo. O argumento -l permite que alguns tipos de versões do in.tftpd registrem todas as requisições para os logs do sistema; isto é mais útil para diagnosticar erros de inicialização. Se você tiver que mudar o /etc/inetd.conf, você terá que notificar o processo em execução inetd de que o arquivo foi modificado. Em máquinas Debian, execute /etc/init.d/inetd reload; em outras máquinas, encontre o ID do processo do inetd e execute o comando kill -HUP inetd-pid.

Se tiver a intenção de instalar a Debian em uma máquina SGI e seu servidor TFTP é uma máquina GNU/Linux executando o kernel do Linux 2.4, você precisará configurar o seguinte em seu servidor:

# echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc

para desligar a descoberta de caminho MTU, caso contrário o PROM do Indy não poderá baixar o kernel. Além disso, tenha certeza que os pacotes TFTP são enviados de uma porta de origem que não seja maior que 32767 ou o download irá parar após o primeiro pacote. Novamente o Linux 2.4.x causando bugs na PROM você poderá evitar isto fazendo

echo "2048 32767" > /proc/sys/net/ipv4/ip_local_port_range

para ajustar a faixa de portas de origem que o servidor TFTP do Linux utilizará.

4.3.3. Movendo as imagens TFTP para o Local

Como próximo passo, coloque a imagem de inicialização TFTP que precisa, como encontrada no Seção 4.2.1, “Aonde achar as imagens de instalação” no diretório de imagens de inicialização do tftpd. Geralmente este diretório será /tftpboot. Você tera que fazer um link deste arquivo para o arquivo que o tftpd usará para inicializar em cliente em particular. Infelizmente, o nome do arquivo é determinado pelo client e TFTP e não existem padrões rígidos.

4.3.3.1. Inicialização TFTP nos Indys SGI

Nos Indys SGI você poderá usar o bootpd para fornecer o nome do arquivo TFTP. Ele poderá ser fornecido na forma bf= no /etc/bootptab ou como opção filename= no arquivo /etc/dhcpd.conf.

4.3.3.2. Inicialização através de TFTP na Broadcom BCM91250A

Você não precisa configurar o DHCP de uma forma especial porque você passará o caminho completo do arquivo que será carregado para o CFE.