Preparando os arquivos para inicialização via rede usando TFTP
Caso sua máquina esteja conectada a uma rede local, é possível
iniciá-la através da rede a partir de outra máquina usando o
servidor TFTP. Se você tem a intenção de iniciar o sistema de
instalação a partir de outra máquina, os arquivos de inicialização
precisarão ser colocados em locais específicos naquela máquina, que
precisará ser configurada para oferecer suporte à inicialização da
sua máquina específica.
Você precisará configurar um servidor TFTP e, para muitas máquinas, um
servidor DHCP, ou um servidor
RARP, ou um servidor
BOOTP.
O Protocolo de Resolução Reversa de
Endereços (RARP — Reverse Address Resolution Protocol
)
é o único método para dizer aos seus clientes qual endereço IP usar.
Outro método é usar o protocolo BOOTP.
O BOOTP é um protocolo IP que informa a
um computador 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 e retrocompatível do BOOTP. Alguns sistemas só podem ser
configurados via DHCP.
Para o PowerPC, se tiver uma máquina Power Macintosh NewWorld, é uma boa
ideia de usar o DHCP ao invés do BOOTP. Algumas das últimas máquinas são
incapazes de inicializar usando o BOOTP.
Algumas máquinas HPPA antigas (e.g. 715/75) usam o RBOOTD ao invés do BOOTP.
Há um pacote rbootd disponível no &debian;.
O protocolo de Transferência Trivial de Arquivo (TFTP — Trivial
File Transfer Protocol
) é usado para servir uma imagem de
inicialização ao cliente. Teoricamente, qualquer servidor, em qualquer
plataforma que implementa estes protocolos, poderá ser usado. Nos exemplos
desta seção, nós mostraremos comandos para o SunOS 4.x, SunOS 5.x (também
conhecido como Solaris) e para o GNU/Linux.
Para um servidor &debian-gnu; nós recomendados o pacote
tftpd-hpa. Ele é escrito pelo mesmo autor do
carregador de inicialização syslinux e portanto
é menos provável que cause problemas. Uma boa alternativa é o pacote
atftpd.
&tftp-rarp.xml;
&tftp-dhcp.xml;
&tftp-bootp.xml;
Habilitando o servidor TFTP
Para ter um servidor TFTP funcionando, primeiro você deverá certificar-se
de que o tftpd está habilitado.
No caso do tftpd-hpa há duas formas de executar o
serviço. Uma é iniciá-lo sob demanda através do daemon
inetd do sistema, a outra é configurá-lo para
ser executado como um daemon independente. Qual dos dois métodos será
usado é definido quando o pacote é instalado e pode ser modificado
reconfigurando-o.
Historicamente, servidores TFTP usavam /tftpboot como
diretório para servir imagens. No entanto, pacotes &debian-gnu; podem usar outros
diretórios para serem compatíveis com o Filesystem
Hierarchy Standard (Padrão de Hierarquia de Sistemas de Arquivos).
Por exemplo, o tftpd-hpa por padrão usa
/srv/tftp. Você pode ter que ajustar os exemplos
de configuração apresentados nesta seção.
Todas as alternativas in.tftpd disponíveis no &debian;
deveriam, por padrão, registrar nos logs do sistema todas as requisições
TFTP. Algumas delas dão suporte ao argumento -v
para aumentar o nível de detalhes (verbose
).
É recomendado verificar estas mensagens de log em caso de problemas
de inicialização pois elas são um bom ponto de partida para diagnosticar
a causa dos erros.
Se tiver a intenção de instalar o &debian; em uma máquina SGI e seu servidor
TFTP é uma máquina GNU/Linux executando o kernel 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 (Path MTU discovery
),
caso contrário o PROM do SGI 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 parará após o primeiro pacote. Novamente, é o
Linux 2.4.x causando bugs na PROM e você pode 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 usa.
Movendo as imagens TFTP para o local
Como próximo passo, coloque a imagem de inicialização TFTP que você
precisa, como encontrada no no diretório de
imagens de inicialização do tftpd. Você pode ter que
fazer um link deste arquivo para o arquivo que o tftpd
usará para inicializar um cliente em particular. Infelizmente, o nome do
arquivo é determinado pelo cliente TFTP e não existem padrões rígidos.
Em máquinas Power Macintosh NewWorld, você precisará configurar o
gerenciador de inicialização yaboot como a imagem de
inicialização do TFTP. O Yaboot copiará as imagens de
kernel e disco RAM via TFTP. Você terá que baixar os arquivos a seguir do
diretório netboot/:
vmlinux
initrd.gz
yaboot
yaboot.conf
boot.msg
Para a inicialização usando o PXE, tudo que você precisa já está configurado
no arquivo netboot/netboot.tar.gz. Simplesmente
descompacte este arquivo no diretório de imagem de inicialização do
tftpd. Certifique-se de que seu servidor DHCP está
configurado para passar o arquivo pxelinux.0 para o
tftpd como o nome de arquivo para inicialização.
Para inicialização através do PXE, tudo que você precisa já está configurado
no arquivo netboot/netboot.tar.gz. Simplesmente
descompacte este arquivo no diretório de imagem de inicialização do
tftpd. Certifique-se de que seu servidor DHCP está
configurado para passar o arquivo
/debian-installer/ia64/elilo.efi para o
tftpd como o nome de arquivo para inicialização.
Inicialização através de TFTP em SPARC
Algumas arquiteturas SPARC adicionaram nomes de subarquiteturas, tais como
SUN4M
ou SUN4C
, ao nome de arquivo. Assim, se a
subarquitetura do seu sistema é SUN4C e, seu endereço IP é 192.168.1.3, o
nome do arquivo deverá ser C0A80103.SUN4C. Contudo,
ainda existem subarquiteturas cujo arquivo que o cliente procura é apenas
ip-do-cliente-em-hexa. Um método fácil de determinar o
código hexadecimal para o endereço IP é executar o seguinte comando no
shell (assumindo que o IP da máquina é 10.0.0.4):
$ printf '%.2x%.2x%.2x%.2x\n' 10 0 0 4
Para obter o nome do arquivo correto, você precisará mudar todas as letras
para maiúsculo e, se necessário, adicionar o nome da subarquitetura.
Se você fez tudo isso corretamente, executar o comando boot
net a partir do OpenPROM deverá carregar a imagem. Se a
imagem não for encontrada, tente verificar os logs do seu servidor tftp
para ver qual nome de imagem está sendo requisitado.
Você também poderá forçar alguns sistemas sparc a procurar por
nomes de arquivos específicos adicionando-o no final da linha de
comando, por exemplo
boot net minha-sparc.imagem. Este arquivo também
deverá residir no diretório que o servidor TFTP consulta.
Inicialização através de TFTP em SGI
Nas máquinas 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.