Preparación de los ficheros para el arranque a través de red usando TFTP
Si su máquina está conectada a una red de área local, podría tener la
posibilidad de arrancarla a través de la red desde otra máquina, usando
TFTP. Si pretende arrancar el sistema de instalación desde otra máquina,
debe ubicar los ficheros de arranque necesarios en lugares específicos
en esa máquina, y debe configurarla para soportar el arranque desde ella.
Necesita configurar un servidor TFTP, y, en caso de que tenga muchas máquinas, un
servidor DHCP
, o un servidor RARP
, o un servidor BOOTP.
El protocolo de resolución reversa de
dirección (RARP) es una forma de decirle al cliente que dirección IP
debe usar. Otra forma es usar el protocolo BOOTP.
BOOTP es un protocolo IP que informa al
ordenador de su dirección IP y desde dónde puede obtener una imagen de arranque
en la red.
Existe otra alternativa más en los sistemas VMEbus:
Se puede configurar manualemnte la dirección IP en la ROM de arranque.
DHCP («Dynamic Host Configuration Protocol», o protocolo de
configuración dinámica de equipos) es una extensión de BOOTP
compatible con éste, pero más flexible. Algunos sistemas solamente se
pueden configurar a través de DHCP.
Para PowerPC, si tiene una máquina Power Macintosh NewWorld, es una
buena idea utilizar DHCP en lugar de BOOTP. Algunos de los modelos más
recientes solamente pueden arrancar usando BOOTP.
A diferencia del «Open Firmware» encontrado en máquinas Sparc y PowerPC,
la consola SRM no usará RARP para obtener su
dirección IP, y por consiguiente deberá usar BOOTP para el arranque
a través de red en su sistema Alpha
Los sistemas Alpha también se pueden arrancar usando DECNet MOP
(Protocolo de operaciones de mantenimiento), pero esto no se detalla
aquí. Presumiblemente, su operador de OpenVMS local estará gustoso de
asistirlo, deberá tener alguna razón de peso si quiere usar MOP para
arrancar Linux en su Alpha.
. También puede ingresar la configuración de las interfaces
de red directamente en la consola SRM.
Algunas máquinas HPPA antiguas (como 715/75) usan RBOOTD en lugar de
BOOTP. Existe un paquete llamado rbootd disponible
en Debian.
El protocolo de transferencia trivial de ficheros (TFTP) se usa para
servir la imagen de arranque al cliente. Teóricamente, se puede
usar cualquier servidor, en cualquier plataforma, que implemente este
protocolo. En los ejemplos de esta sección, mostraremos órdenes para
SunOS 4.x, SunOS 5.x (conocido también como Solaris) y GNU/Linux.
Para usar el método de arranque de TFTP llamado
«Pre-boot Execution Environment» (PXE) tiene que utilizar un servidor
de TFTP con soporte de tsize. En el caso de que
esté utilizando un servidor &debian; los paquetes
atftpd y
tftpd-hpa ofrecen dicho soporte; le recomendamos
que utilice tftpd-hpa.
&tftp-rarp.xml;
&tftp-bootp.xml;
&tftp-dhcp.xml;
Habilitar el servidor TFTP
Para tener listo el servidor TFTP, primero deberá asegurarse de que
tftpd está habilitado. Generalmente se hace
añadiendo a /etc/inetd.conf algo
similar a lo siguiente:
tftp dgram udp wait nobody /usr/sbin/tcpd in.tftpd /tftpboot
Cuando se instalan los paquetes de Debian, por lo general, lo configuran
correctamente de forma predeterminada.
Los servidores de TFTP utilizan /tftpboot como
directorio del que servir las imágenes por motivos históricos. Sin
embargo, algunos paquetes &debian; puede utilizar otros directorios
para cumplir con el estándar de jerarquía
de sistemas de ficheros. Por ejemplo,
tftpd-hpa utiliza, por omisión,
/var/lib/tftpboot. Puede tener que ajustar los
ejemplos de configuración en esta sección si la ubicación varía.
Busque en el fichero /etc/inetd.conf y recuerde
el directorio que usa como argumento de
in.tftpd
El argumento -l hace que algunas
versiones de in.tftpd registren todas las peticiones en los
registros del sistemaes útil para diagnosticar fallos de arranque
, lo necesitará más adelante. Si ha tenido que cambiar
/etc/inetd.conf, deberá notificar al proceso
inetd en ejecución que el fichero ha cambiado. En
un sistema Debian, ejecute /etc/init.d/inetd
reload; en otros sistemas, busque el ID del proceso
inetd, y ejecute kill -HUP
id-de-inetd.
Si pretende instalar Debian en una máquina SGI y su servidor TFTP es una máquina
GNU/Linux ejecutando Linux 2.4 necesitará configurar en su servidor lo siguiente:
# echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc
para desactivar el descubrimiento de ruta MTU, de otro modo el PROM
de Indy no podrá descargar el núcleo. Adicionalmente, asegúrese de que los
paquetes de TFTP se envían desde un puerto origen inferior al 32767,
o la descarga se interrumpirá después del primer paquete. Nuevamente, es Linux
2.4.x el que presenta este fallo en la PROM, y puede evitarlo configurando
# echo "2048 32767" > /proc/sys/net/ipv4/ip_local_port_range
para ajustar el rango de puertos origen que usa el servidor TFTP.
Mover las imágenes TFTP a su ubicación
Seguidamente, ubique la imagen TFTP de arranque que necesita, como se
describe en la , en el directorio de
imagen de arranque de tftpd. Tendrá que hacer un
enlace desde este fichero hacia el fichero que usará
tftpd para arrancar un cliente en específico.
Desafortunadamente, el nombre del fichero es determinado por el
cliente TFTP, y no existe un estándar definido.
En máquinas Power Macintosh NewWorld, necesitará configurar
el gestor de arranque yaboot como la imagen de
arranque de TFTP. Entonces yaboot obtendrá las
imágenes del núcleo y del disco RAM a través del propio TFTP. Para el
arranque a través de red, use yaboot-netboot.conf.
Simplemente renómbrelo a yaboot.conf en el
directorio de TFTP.
Para arranque PXE, todo lo que necesitará es colocar el fichero tar
netboot/netboot.tar.gz. Simplemente
extraiga este fichero tar en el directorio de imágenes de arranque de
tftpd. Asegúrese de que su servidor DHCP está configurado
para pasar pxelinux.0 a tftpd como
el nombre del fichero a arrancar.
Para arranque PXE, todo lo que necesitará es colocar el fichero tar
netboot/netboot.tar.gz. Simplemente
extraiga este fichero tar en el directorio de imágenes de arranque de
tftpd.
Asegúrese de que su servidor DHCP está configurado para pasar
/debian-installer/ia64/elilo.efi a
tftpd como el nombre del fichero a arrancar.
Imágenes TFTP para DECstation
Para DECstations existen ficheros «tftpimage» para cada subarquitectura
que contienen tanto el núcleo como el instalador en un solo fichero. Por convención
los nombres son del tipo
subarquitectura/netboot-boot.img.
Copie el fichero «tftpimage» que desee usar a
/tftpboot/tftpboot.img si está usando la configuración
BOOTP/DHCP de ejemplo descrita anteriormente.
El firmware de DECstations se arranca por TFTP con la orden
boot #/tftp, donde
# es el número del dispositivo TurboChannel
desde el cual arrancar. En la mayoría de DECstations es «3». Si el servidor
BOOTP/DHCP no provee el nombre del fichero o necesita pasar parámetros adicionales,
éstos se pueden añadir opcionalmente con la siguiente sintaxis:
boot #/tftp/fichero param1=valor1 param2=valor2 ...
Varias revisiones del firmware de DECstations presentan un problema
respecto al arranque a través de red: la transferencia se inicia, pero después
de algún tiempo se para mostranto el mensaje a.out err.
Esto puede deberse a diversas razones:
El firmware no responde a solicitudes ARP durante una transferencia
TFTP. Esto lleva a que expire el tiempo máximo de ARP y a la paralización de la
transferencia. La solución es añadir la dirección MAC de la tarjeta
Ethernet de la DECstation estáticamente a la tabla ARP del servidor
TFTP. Esto se hace ejecutando
arp -s
Dirección IP
Dirección MAC
como superusuario en la máquina que actúe como servidor TFTP. La dirección
MAC de la DECstation puede obtenerse con la orden
cnfg en el cursor del firmware de la DECstation.
El firmware tiene un límite de tamaño para los ficheros que pueden
arrancarse a través de TFTP.
También existen revisiones de firmware que no pueden arrancar
en absoluto a través de TFTP. Puede encontrar una descripción sobre las
diferentes revisiones de firmware en las páginas web de NetBSD:
.
Arranque de TFTP en Alpha
En Alpha, debe especificar el nombre del fichero (como una ruta relativa
al directorio de imagen de arranque) usando el argumento
-file a la orden boot de SRM,
o definiendo la variable de entorno BOOT_FILE.
Alternativamente, se puede dar el nombre del fichero a través de BOOTP
(en la versión de dhcpd de ISC,
use la directiva filename). A diferencia de
«Open Firmware», en SRM no existe ningún nombre de fichero
predeterminado, de modo que debe especificar
un nombre de fichero por cualquiera de estos métodos.
Arranque de TFTP en SPARC
Algunas arquitecturas SPARC añaden los nombres de las subarquitecturas,
como «SUN4M» o «SUN4C» al fichero. Esto es, si la subarquitectura
de su sistema es «SUN4C» y su IP es 192.168.1.3, el nombre del fichero será
C0A80103.SUN4C. Hay algunas arquitecturas para las que el
cliente busca simplemente el fichero
ip-del-cliente-en-hex. Una forma sencilla de determinar
el código hexadecimal del cliente es usar la siguiente orden en un línea de
órdenes (asumiendo que la IP sea 10.0.0.4).
$ printf '%.2x%.2x%.2x%.2x\n' 10 0 0 4
Esto mostrará la IP en hexadecimal, para obtener el nombre correcto, necesita
cambiar todas las letras a mayúsculas y añadir, si es necesario, el nombre de la
subarquitectura.
Se cargará la imagen si introduce la orden boot net
en OpenPROM si ha hecho todo esto correctamente. Intente comprobar los
registros de su servidor tftp para ver el nombre de la imagen que se está
solicitando si el cargador no encuentra la imagen.
También puede forzar algunos sistemas sparc para que busquen un fichero
en específico al añadirlo al final de la orden boot de OpenPROM, como
boot net mi-imagen.sparc. Éste deberá
encontrarse en el directorio en el que busca el servidor TFTP.
Arranque TFTP de BVM/Motorola
Para sistemas BVM y Motorola VMEbus copie los ficheros
&bvme6000-tftp-files; a /tftpboot/.
Seguidamente, configure sus ROMs de arranque o servidor BOOTP para cargar
inicialmente los ficheros tftplilo.bvme o
tftplilo.mvme desde el servidor TFTP. Véase el fichero
tftplilo.txt para información adicional sobre
configuraciones específicas para su subarquitectura.
Arranque TFTP en SGI
En Indys SGI puede confiar en la orden bootpd para proveer
el nombre del fichero TFTP. Éste se señala o bien como
bf= en /etc/bootptab o como
la opción filename= en
/etc/dhcpd.conf.
Arranque TFTP en Broadcom BCM91250A y BCM91480B
No necesita configurar DHCP de forma especial debido a
que pasará la ruta completa del fichero a cargar en el «CFE».