4.3. Preparar Ficheiros para Arrancar Através da Rede por TFTP

Se a sua máquina está ligada a uma rede local, pode ser capaz de a arrancar através da rede a partir de outra máquina, utilizando TFTP. Se tenciona iniciar a instalação do sistema a partir de outra máquina, será necessário colocar os ficheiros de arranque numa localização específica dessa máquina, e a máquina configurada para suportar o arranque da sua máquina especifica.

Precisa configurar um servidor de TFTP, e para muitas máquinas, um servidor de DHCP .

O DHCP (Dynamic Host Configuration Protocol) é mais flexível, compatível com extensões anteriores do BOOTP. Alguns sistemas apenas podem ser configurados via DHCP.

O Trivial File Transfer Protocol (TFTP) é utilizado para servir a imagem de arranque para o cliente. Teoricamente, qualquer servidor, em qualquer plataforma, que implemente estes protocolos, pode ser utilizado. Nos exemplos desta sessão, iremos disponibilizar comandos para for SunOS 4.x, SunOS 5.x (a.k.a. Solaris), e GNU/Linux.

4.3.1. Configurar um servidor DHCP

Um servidor DHCP de software livre é o ISC dhcpd. Para Debian GNU/Linux é recomendado o pacote dhcp3-server. Aqui está um exemplo de ficheiro de configuração para ele (veja /etc/dhcp3/dhcpd.conf):

option domain-name "example.com";
option domain-name-servers ns1.example.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.img";
  server-name "servername";
  next-server servername;
  hardware ethernet 01:23:45:67:89:AB;
  fixed-address 192.168.1.90;
}

Neste exemplo, existe um servidor servername que executa todo o trabalho de servidor DHCP, de servidor TFTP e gateway de rede. Vai precisar quase de certeza de alterar as opções de domain-name, tal como o nome do servidor e o endereço de hardware do cliente. A opção filename deve ser o nome do ficheiro obtido via TFTP.

Após ter editado o ficheiro de configuração dhcpd, reinicie-o com /etc/init.d/dhcp3-server restart.

4.3.2. Disponibilizar o Servidor TFTP

Para ter o servidor de TFTP pronto a utilizar, primeiro deve assegurar-se que o tftpd está activo.

No caso do tftpd-hpa o serviço pode ser corrido de duas formas. Pode ser iniciado a pedido pelo daemon inet do sistema, ou pode ser configurado para correr como um daemon independente. O método a utilizar é escolhido quando o pacote é instalado ou reconfigurado.

Nota

Historicamente os servidores TFTP utilizavam /tftpboot como directório para servir imagens. No entanto, os pacotes Debian GNU/Linux podem utilizar outros directórios para estarem de acordo com o Filesystem Hierarchy Standard. Por exemplo, tftpd-hpa por omissão utiliza /var/lib/tftpboot. Poderá ter de ajustar de acordo os exemplos de configuração nesta secção.

Todas as alternativas do in.tftpd disponíveis em Debian devem registar, por predefinição, os pedidos TFTP no registo do sistema. Algumas suportam um argumento -v para aumentar o detalhe. É recomendado verificar essas mensagens de registo no caso de ocorrerem problemas de arranque já que são um bom ponto de partida para diagnosticar a causa dos erros.

Se tenciona instalar Debian numa máquina SGI e o seu servidor é uma máquina GNU/Linux utilizando um Linux 2.4, necessitará de configurar o seguinte no servidor

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

para desligar o Path MTU discovery, caso contrário o PROM da SGI não consegue fazer o download do kernel. Além disso, assegure-se que os pacotes TFTP são enviados a partir de um source port não maior que 32767, ou o download irá ficar bloqueado após o primeiro pacote. Mais uma vez, o Linux 2.4.X despoleta este bug na PROM, pode evitá-lo configurando

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

para ajustar a gama de source ports que o servidor TFTP de Linux utiliza.

4.3.3. Mover Imagens TFTP Para o Lugar

Em seguida, coloque a imagem de arranque do TFTP que necessita, conforme encontrada na Secção 4.2.1, “Onde Encontrar Imagens de Instalação”, no directório de imagem de arranque tftpd. Terá de fazer um link a partir desse ficheiro para o ficheiro que o tftpd irá utilizar para iniciar um cliente em particular. Infelizmente, o nome do ficheiro é determinado pelo cliente TFTP, e não existem standards sólidos.

4.3.3.1. Arrancar por TFTP em SGI

Em máquinas SGI pode confiar em bootpd para fornecer o nome do ficheiro TFTP. É dado seja em bf= /etc/bootptab ou como opção filename= em /etc/dhcpd.conf.