4.3. Preparando os arquivos para inicialização via rede usando TFTP
Anterior | Capítulo 4. Obtendo a Mídia de instalação do Sistema | Próxima

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

Caso sua máquina esteja conectada a uma rede de área local, você poderá ser capaz de 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 BOOTP é um protocolo IP que informa um computador de seu endereço IP e onde na rede será obtida a imagem de inicialização. 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.

Algumas máquinas HPPA antigas (e.g. 715/75) usarão o RBOOTD ao invés do BOOTP. Um pacote RBOOTD está disponível na página internet parisc-linux.

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 BOOTP

Existem dois servidores BOOTP disponívies para o GNU/Linux o CMU bootpd e o outro atualmente é o servidor DHCP, ISC dhcpd, que estão disponíveis nos pacotes `bootp` e `dhcp` na Debian GNU/Linux.

Para usar o CMU bootpd você deverá primeiro descomentar (ou adicionar) a linha relevante em `/etc/inetd.conf`. Na Debian GNU/Linux, você poderá executar `update-inetd --enable bootps` então o comando `/etc/init.d/inetd reload` para fazer isto. Em todo caso, a linha em questão deverá se parecer com:

    bootps  dgram  udp  wait  root  /usr/sbin/bootpd  bootpd -i -t 120

Agora, você deverá criar um arquivo `/etc/bootptab`. Este terá a mesma quantidade de formato criptico e familiar como o bom e antigo `printcap` do BSD, `termcap`, e `disktab`. Veja a página de manual do `bootptab` para mais informações. Para o CMU bootpd você precisará conhecer o endereço de hardware (MAC) do cliente. Aqui está um exemplo de arquivo `/etc/bootptab`:

    client:\
      hd=/tftpboot:\
      bf=tftpboot.img:\
      ip=192.168.1.90:\
      sm=255.255.255.0:\
      sa=192.168.1.1:\
      ha=0123456789AB:

Você pelo menos precisará mudar a opção "ha", que especifica o endereço de hardware do cliente. A opção "bf" especifica o arquivo que o cliente deverá baixar via TFTP; veja Seção 4.3.4, “Mover as imagens TFTp para o Local” para mais detalhes.

Em contraste, a configuração de um BOOTP com o ISC dhcpd é realmente fácil, por causa que ele trata clientes BOOTP de uma forma especial como clientes DHCP. Algumas arquiteturas requerem uma configuração complexa para a inicialização dos clientes via BOOTP. Caso a sua seja uma destas, leia a seção Seção 4.3.2, “Configurando um servidor DHCP”. Caso contrário, você será provavelmente capaz de adicionar a diretiva `allow bootp` no bloco de configuraçào de sub-rede de seu cliente e reiniciar o servidor dhcp dhcpd com o comando `/etc/init.d/dhcpd restart`.

### 4.3.2. 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 "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/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 DHCP, servidor, 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.3. Ativando o servidor TFTP

Para ter o servidor TFTP pronto, você terá primeiro que 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``.

### 4.3.4. Mover 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, “Adonde 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.

Anterior | Acima | Próxima
4.2. Baixando os Arquivos através de espelhos (mirrors) da Debian | Principal | 4.4. Instalação Automática