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; 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; 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
/var/lib/tftpboot. 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.