Preparando os arquivos para inicialização via rede usando TFTP
Caso sua máquina esteja conectada a uma rede de área local, é possivel
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 RARP
, ou um servidor DHCP.
O Reverse Address Resolution Protocol (RARP) é
o único método para dizer aos clientes qual endereço IP usar para si mesmo.
Outro método é usar o protocolo BOOTP.
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.
Outra alternativa ainda existe nos sistemas
VMEbus: o endereço IP pode ser manualmente configurado na ROM 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.
Para o PowerPC, se tiver uma máquina Power Macintosh NewWorld,
será uma boa idéia de usar o DHCP ao invés do BOOTP. Algumas das
últimas máquinas sã incapazes de inicializar usando o BOOTP.
Ao contrário do Open Firmware encontrado em máquinas Sparc e PowerPC,
o console SRM não usará RARP para obter seu
endereço IP, e então você deverá usar o BOOTP para inicializar via
rede seu Alpha
Os sistemas Alpha também podem ser inicializados via rede usando o
DECNet MOP (Maintenance Operations Protocol), mas isto nao será
discutido aqui. Presumivelmente, seu
operador local do OpenVMS estará satisfeito em ajuda-lo se você
tiver que esquentar a cabeça para usar o MOP para inicializar o
Linux em seu Alpha.
. Você também poderá entrar com a configuração IP de suas
interfaces de rede diretamente no console SRM.
Algumas máquinas HPPA antigas (e.g. 715/75) usarão o RBOOTD ao invés do BOOTP.
Há um pacote rbootd disponível no Debian.
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.
Para utilizar o método Pre-boot Execution Environment (PXE) de inicialização
através de TFTP, você precisará configurar um servidor TFTP coom suporte a
tsize. Em um servidor &debian; os pacotes
atftpd e tftpd-hpa se
qualificam; nós recomendamos o pacote tftpd-hpa.
&tftp-rarp.xml;
&tftp-bootp.xml;
&tftp-dhcp.xml;
Ativando o servidor TFTP
Para ter um servidor TFTP funcionando, primeiro deverá 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.
Se tiver a intenção de instalar a Debian em uma máquina SGI e seu servidor
TFTP é uma máquina GNU/Linux executando o kernel do 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, 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 irá parar após o
primeiro pacote. Novamente o Linux 2.4.x causando bugs na PROM
você poderá 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 utilizará.
Movendo as imagens TFTP para o Local
Como próximo passo, coloque a imagem de inicialização TFTP
que precisa, como encontrada no
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.
Em máquinas Power Macintosh NewWorld, você precisará configurar
o gerenciador de partida yaboot
como a imagem de inicialização do TFTP.
O Yaboot então copiará as imagens de kernel e disco
em RAM via TFTP. Para a inicialização via rede, use o
yaboot-netboot.conf. Apenas renomeie este arquivo
para yaboot.conf no diretório do TFTP.
Para a inicialização usando o PXE, tudo que precisa fazer já está feito no
arquivo tar netboot/netboot.tar.gz. Simplesmente
descompacte este arquivo no diretório de imagem de inicialização do
tftpd. Tenha certeza que seu servidor DHCP está configurado
para passar o arquivo /pxelinux.0 através do
tftpd para inicializar através dele.
Para inicialização através do PXE, tudo que precisa fazer já está feito
no arquivo tar netboot/netboot.tar.gz. Simplesmente
descompacte este arquivo para o diretório de imagem de tftpd.
Tenha certeza que seu servidor dhcp está configurado para passar o arquivo
/debian-installer/ia64/elilo.efi para o
tftpd para inicializar através dele.
Imagens TFTP do DECstation
Para as DECstations, existem arquivos tftpimage para cada
sub-arquitetura. que contém ambos os kernels e o programa de
instalação em um arquivo. A convenção de nomes é
subarquitetura/netboot-boot.img.
Copie o arquivo tftpimage que deseja usar para
/tftpboot/tftpboot.img caso você utilize o
exemplo BOOTP/DHCP descritos acima.
A firmware do DECstation é inicializada pelo TFTP com o comando
boot#/tftp, onde
# é o número do dispositivo TurboChannel
que será inicializado. Na maioria das DECstations este número é
o 3
. Se o servidor BOOTP/DHCP não fornecer o nome de arquivo
ou você precisar passar parâmetros adicionais, eles poderão
ser opcionalmente adicionados com a seguinte sintaxe:
boot #/tftp/filename param1=value1 param2=value2 ...
Diversas revisões da firmware da DECstation mostram um problema
se tratanto com a inicialização via rede: a transferência
inicia, mas após algum tempo ela para com o erro
a.out err. Isto pode ter diversas
razões:
A firmware não responde a uma requisição ARP durante uma
transferência TFTP. Isto leva a um timeout de ARP e a transferência é
interrompida. A solução é adicionar o endereço MAC da
placa ethernet na DECstation estaticamente para a tabela ARP do
servidor de TFTP. Isto é feito rodando arp -s
IP-address
MAC-address como root na
máquina que atua como servidor TFTP. O endereço MAC da DECstation
pode ser lido entrando com o comando cnfg
no aviso da firmware da DECstation.
A firmware tem o limite de tamanho nos arquivos que podem ser
inicializados através do TFTP.
Existem também revisões de firmware que não permitem inicializações
através do TFTP. Uma visão sobre as diferentes revisões de firmware
podem ser encontradas nas páginas web do NetBSD:
.
Inicialização através de TFTP no Alpha
No Alpha, você deverá especificar um nome de arquivo (como um
caminho relativo ao diretório da imagem de inicialização)
usando o argumento -file ou o comando
boot do SRM ou definindo a variável de
ambiente BOOT_FILE. Alternativamente, o nome
do arquivo deverá ser fornecido via BOOTP (no dhcpd da ISC,
use a diretiva filename). Ao contrário da
Open Firmware, não existe nome padrão no SRM, assim
você deverá especificar um nome de arquivo
usando um destes métodos.
Inicialização através TFTP no SPARC
Algumas arquiteturas SPARC adicionaram nomes de sub-arquiteturas, tais como
SUN4M
ou SUN4C
, ao nome de arquivo. Assim, se a
sub-arquitetura do seu sistema é SUN4C e, seu endereço IP é 192.168.1.3, o
nome do arquivo deverá ser C0A80103.SUN4C. Contudo,
existem ainda sub-arquiteturas onde o 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
interpretador de comandos (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 sub-arquitetura.
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 my-sparc.image. Este arquivo também
deverá residir no diretório que o servidor TFTP procura.
Inicialização TFTP no BVM/Motorola
Para os sistemas BVM e Motorola VMEbus copie os arquivos
&bvme6000-tftp-files; para /tftpboot/.
A seguir, configure o servidor BOOTP ou boot ROMs para
carregar inicialmente o arquivo tftplilo.bvme ou
tftplilo.mvme a partir do servidor TFTP. Veja o
arquivo tftplilo.txt de sua sub-arquitetura para
informações adicionais específicas de sistema.
Inicialização TFTP nos 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.
Inicialização através de TFTP nas Broadcom BCM91250A e BCM91480B
Você não precisa configurar o DHCP de uma forma especial porque você
passará o caminho completo do arquivo que será carregado para o CFE.