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 o servidor TFTP, e para muitas máquinas, um servidor BOOTP , ou um servidor 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.
Um software livre de servidor DHCP é o dhcpd do ISC. Em Debian GNU/Linux, isto está disponível no pacote dhcp
. Aqui está um exemplo de um ficheiro de configuração para ele (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 preferêncial) pacote dhcp3
utiliza /etc/dhcp3/dhcpd.conf
.
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/dhcpd restart
.
Para ter o servidor TFTP pronto a funcionar, deve primeiro certificar-se que é permitido executar tftpd. Isto é usualmente permitido tendo algo como a seguinte linha em /etc/inetd.conf
:
tftp dgram udp wait nobody /usr/sbin/tcpd in.tftpd /tftpboot
Os pacotes Debian em geral irão configura-lo correctamente, por omissão, quando são instalados.
Procure nesse ficheiro e lembre-se da directoria que é utilizada como argumento do in.tftpd; que irá necessitar abaixo. O argumento -l
permite que algumas versões registem todos os pedidos aos logs de sistema; isto é útil para diagnosticar erros de arranque. Se tiver de alterar o /etc/inetd.conf
, terá de notificar o processo inetd que o ficheiro foi alterado. Numa máquina Debian, execute /etc/init.d/inetd reload
; noutras máquinas, procure o ID do processo de inetd, e execute kill -HUP
. inetd-pid
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 Indy's PROM 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.
Em seguida, coloque a imagem de arranque do TFTP, conforme encontrada na Secção 4.2.1, “Onde Encontrar Imagens de Instalação”, no directório de imagem de arranque tftpd. Por norma este directório será /tftpboot
. 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.
Em Indys da 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
.