JuanCri.com

jueves 29 de noviembre, 2007 a las 15:11

No me considero un experto en redes, pero he aprendido algunas cosas con el tiempo. Hoy necesitaba instalar Ubuntu (quería, en realidad) en un notebook sin lector de CD. Primero intenté estas instrucciones para arrancar desde un drive USB, pero no funcionó, incluso intentando actualizar las instrucciones para funcionar con Ubuntu 7.10 (la versión estable actual).

Mi segunda opción fue instalar Ubuntu en el pendrive, pero era sólo de 1GB y no es suficiente para la instalación estándar. Finalmente, el último recurso era el arrancar desde la red, pero nunca lo había hecho. Afortunadamente, existen estas instrucciones, aunque para la versión de hace dos años.

Uno de los problemas que tuve es el servicio TFTP, que se instala para correr sobre inetd, el cual a su vez está deshabilitado por defecto en versiones recientes, siendo reemplazado por xinetd. Tomé como referencia estas instrucciones para generar la configuración de xinetd.

En resumen, aquí van los pasos actualizados:

1.- Instalar los paquetes necesarios

sudo apt-get install tftpd-hpa apache2 dhcp3-server xinetd

2.- Descargar la última versión del netboot

Esto es del mirror chileno. Para otros, se puede reemplazar cl.archive.ubuntu.com por us.archive.ubuntu.com por ejemplo.

cd /var/lib/tftpboot
sudo wget http://cl.archive.ubuntu.com/ubuntu/dists/gutsy/main/installer-i386/current/images/netboot/netboot.tar.gz

3.- Descomprimir

Esto creará un directorio ubuntu-installer y otros archivos necesarios para la instalación.

sudo tar xvfz netboot.tar.gz

4.- Configurar el servicio DHCP

Editamos el archivo /etc/dhcp3/dhcpd.conf:

sudo nano /etc/dhcp3/dhcpd.conf

Y dejamos esto dentro:

ping-check = 1;
filename = "pxelinux.0";
subnet 192.168.0.0
netmask 255.255.255.0 {
  range 192.168.0.2 192.168.0.254;
}

Los datos de red dependen de nuestra configuración acual. Hay que tener cuidado de que no exista otro servidor DHCP en la red (como un router para conexión de banda ancha, por ejemplo).

5.- Configurar el servicio xinetd

Editamos el archivo /etc/xinetd.d/tftp

sudo nano /etc/xinetd.d/tftp

Y dejamos esto dentro:

service tftp
{
        socket_type     = dgram
        protocol        = udp
        wait            = yes
        user            = root
        server          = /usr/sbin/in.tftpd
        server_args     = -s /var/lib/tftpboot
        disable         = no
}

6.- Agregar contenido a Apache

Para que apache tenga estos archivos dentro, basta con crear un link simbólico

cd /var/www
sudo ln -s /var/lib/tftpboot/pxelinux.0
sudo ln -s /var/lib/tftpboot/pxelinux.cfg
sudo ln -s /var/lib/tftpboot/ubuntu-installer

 7.- Reiniciar xinet e iniciar dhcpd

sudo /etc/init.d/xinetd restart
sudo /etc/init.d/dhcp3-server start

8.- Fin

Ya podemos iniciar el computador de destino, conectado a la red. Tuve un par de problemas porque originalmente estaba apuntando el archivo de configuración de DHCP a ubuntu-installer/i386/pxelinux.0, en vez de utilizar el enlace simbólico. Si el computador de destino reclama por algún archivo faltante, bastará con crear un enlace simbólico a él. Cuando arranque el instalador de ubuntu, podemos configurar manualmente el gateway y el servidor de nombres, los cuales yo no puse en el archivo de configuración DHCP.

Creative Commons License
Blog JuanCri.com por Juan Cristóbal Olivares licenciado bajo la Creative Commons Attribution 2.0 Chile License.
Mono PostgreSQL Firefox Gratis

© JuanCri.com