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. 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.
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 configurar RARP, necesita saber las direcciones Ethernet (también
conocidas como direcciones MAC) de los ordenadores cliente a instalar.
Si no conoce esta información, puede
tomarla de los mensajes iniciales de arranque de
OpenPROM, use la orden .enet-addr
de OpenBoot,
o
arrancar en modo “Rescue” (p. ej. desde el disquete de rescate) y usar la
orden /sbin/ifconfig eth0
.
En un servidor RARP con un núcleo Linux 2.4 o 2.6, o en el caso
de Solaris/SunOS, debe utilizar el programa
rarpd.
Necesita asegurarse de que la dirección hardware Ethernet
del cliente está en la base de datos “ethers” (ya sea
en el fichero /etc/ethers
, o a través de NIS/NIS+) y
el la base de datos “hosts”. Después necesita iniciar el demonio RARP.
Para la mayoría de los sistemas Linux y para SunOS 5 (Solaris 2)
debe ejecutar, como superusuario la orden
/usr/sbin/rarpd -a
.
En algunos otros sistemas Linux deberá utilizar
/usr/sbin/in.rarpd -a
y en SunOS 4 (Solaris 1) utilice
/usr/etc/rarpd -a
.
Existen dos servidores BOOTP disponibles para GNU/Linux, el
bootpd de CMU. El otro que en realidad es un servidor DHCP,
el dhcpd de ISC. En Debian GNU/Linux se pueden encontrar en los
paquetes bootp
y dhcp3-server
respectivamente.
Para usar el bootpd de CMU, primero debe comentar
(o añadir) la línea relevante en /etc/inetd.conf
. En
Debian GNU/Linux, puede ejecutar update-inetd --enable
bootps
, y luego /etc/init.d/inetd
reload
para hacerlo. En caso de que su servidor de BOOTP
no se esté ejecutando en un sistema Debian GNU/Linux, la línea en cuestión
deberá ser como sigue:
bootps dgram udp wait root /usr/sbin/bootpd bootpd -i -t 120
Ahora, debe crear el fichero /etc/bootptab
.
Tiene el mismo tipo de formato familiar y críptico que los ficheros
antiguos de BSD printcap
, termcap
,
y disktab
. Vea la página de manual de
bootptab
para más información. Para el
bootpd de CMU, necesitará conocer la dirección de
hardware (MAC) del cliente. Este es un /etc/bootptab
de ejemplo:
client:\ hd=/tftpboot:\ bf=tftpboot.img:\ ip=192.168.1.90:\ sm=255.255.255.0:\ sa=192.168.1.1:\ ha=0123456789AB:
Necesitará cambiar por lo menos la opción “ha”, que especifica la dirección hardware del cliente. La opción “bf” especifica el fichero que el cliente debe recuperar a través de TFTP; para más detalles vea Sección 4.3.5, “Mover las imágenes TFTP a su ubicación”.
En contraste, configurar BOOTP con dhcpd de ISC
es realmente fácil, porque trata los clientes BOOTP como casos moderadamente
especiales de clientes DHCP. Algunas arquitecturas necesitan una configuración
compleja para arrancar clientes a través de BOOTP. Si la suya es una de
estas, lea la sección Sección 4.3.3, “Configuración del servidor DHCP”. En este caso, probablemente
pueda continuar con sólo añadir la directiva
allow bootp
al bloque de configuración
para la sub-red donde se ubique el cliente, y reiniciar
dhcpd con /etc/init.d/dhcpd3-server
restart
.
Un servidor DHCP de software libre es el dhcpd de
ISC. Se recomienda el uso del paquete
dhcp3-server
en Debian GNU/Linux. A continuación se
muestra una configuración de ejemplo para él (consulte
/etc/dhcpd3/dhcpd.conf
):
option domain-name "ejemplo.com"; option domain-name-servers ns1.ejemplo.com; option subnet-mask 255.255.255.0; default-lease-time 600; max-lease-time 7200; server-name "nombredeservidor"; 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 nombredecliente { filename "/tftpboot/tftpboot.img"; server-name "nombredeservidor"; next-server nombredeservidor; hardware ethernet 01:23:45:67:89:AB; fixed-address 192.168.1.90; }
En este ejemplo, hay un servidor
nombredeservidor
que hace el trabajo de
DCHP, servidor, servidor TFTP y puerta de enlace de la red.
Ciertamente necesitará cambiar las opciones de nombre de dominio, así
como la dirección hardware del servidor y del cliente. La opción
filename
debe ser el nombre del fichero que
se recuperará a través de TFTP.
Después de editar el fichero de configuración de dhcpd,
reinícielo con /etc/init.d/dhcpd3-server restart
.
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 GNU/Linux 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[2], 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
Seguidamente, ubique la imagen TFTP de arranque que necesita, como se describe en la Sección 4.2.1, “Dónde encontrar las imágenes de instalación”, 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.
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.
[2]
Todas las alternativas de in.tftpd en Debian
deberían almacenar las solicitudes TFTP en la registro del sistema
de forma predeterminada. Algunas de ellas cuentan con el argumento
-v
para ofrecer más información.
Se recomienda revisar todos los mensajes de la bitácora en caso de
problemas al arrancar puesto que son un buen punto de partida para
diagnosticar la causa de los errores.