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 varias máquinas, un servidor BOOTP , o un servidor DHCP.
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. El DHCP (Protocolo de configuración dinámica de sistema) es una extensión de BOOTP compatible con éste, pero más flexible. Algunos sistemas solamente se pueden configurar a través de DHCP.
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.
Existen dos servidores BOOTP disponibles para GNU/Linux, el
bootpd de CMU y el otro que en realidad es un servidor DHCP,
el dhcpd de ISC. En Debian GNU/Linux vienen en los paquetes
bootp
y dhcp
.
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 cualquier caso, la línea en cuestión
deberá ser como la siguiente:
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.4, “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.2, “Configuración del servidor DHCP”. De otro modo, 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/dhcpd
restart
.
Un servidor DHCP de software libre es el dhcpd de ISC.
En Debian GNU/Linux, está disponible en el paquete dhcp
.
A continuación se muestra una configuración de ejemplo para él (generalmente
/etc/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; }
Nota: el nuevo (y preferido) paquete dhcp3
usa
/etc/dhcp3/dhcpd.conf
.
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/dhcpd 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.
Busque en ese fichero y recuerde el directorio que usa como
argumento de in.tftpd; lo necesitará mas
adelante. El argumento -l
hace que algunas
versiones de in.tftpd registren todas las peticiones en los
registros del sistema; es útil para diagnosticar fallos de arranque. 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. Generalmente, este
directorio será /tftpboot
. 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.