sábado, 5 de mayo de 2012

Live Netboot : Instalar ubuntu 12.04 (y cualquier otro) por red, usando la versión live y texto

Hola!

Hace un par de días me tuve que realizar una charla linux en un colegio y la instalación de alguna distribución, el problema era la gran gantidad de pc que necesitaban la versión live para poder enseñar, por lo que se me ocurrio dejar mi notebook como servidor de PXE para que los otros se conectaran y pudieran tomar la distribución y poder instalarla. Revisé miles de tutoriales y ninguno hablaba de poder dejar disponible además, la versión live de ubuntu, solamente hablaban de texto, por lo que mezcle información de todos lados hasta llegar a una forma de poder lograrlo a la perfección (exceptuando que eran tantos pc conectados al mío que terminaron colapsando la red xD), por lo que pude salir de apuros con un solo notebook y la red interna que existía.


Para comenzar debemos instalar los siguientes programas:

Pero primero vamos a estar en el supuesto de que nuestro pc no es un servidor DHCP, aún así se puede hacer , mezclando un poco con el tema anterior que publiqué.


He creado una Interfaz gráfica para que puedan instalar ubuntu por la red 

Continuemos ..

apt-get install dnsmasq atftp tftpd-hpa tftp-hpa xinetd nfs-kernel-server portmap
 
 
 
una vez instalados, comenzamos con la configuración:
 
abrimos en una terminal lo siguiente 
 
 sudo gedit /etc/dnsmasq.conf
 
 
y agregamos lo siguiente al final del documento.
 
dhcp-range=192.168.2.2,192.168.2.200,12h
enable-tftp
tftp-root=/var/lib/tftpboot
dhcp-boot=pxelinux.0
dhcp-option=3,192.168.2.1  
dhcp-option=6,192.168.2.1 
 
tftp-root, corresponde al directorio en donde estarán los archivos del disco. 
noten que pongo 2 veces 192.168.2.1 esta es la dirección del servidor DHCP en ambos

guardamos y cerramos.

 
configuramos este otro archivo:
 
sudo gedit /etc/xinetd.d/tftp 

y añadimos:

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

aquí solamente deben modificar lo que es el server_args con su directorio y
la interface, la cual es la  ip que tu pc tiene ahora
adicionalmente, pueden limitar añadiendo la ip de la máquina cliente poniendo 
only_from = 192.168.2.44/28 por ejemplo, en donde solamente ese pc podrá tener acceso
 
ahora bajamos desde la pagina de ubuntu los archivos necesarios 
dependiendo de la versión que quieran instalar
http://cdimage.ubuntu.com/netboot/

lo descomprimimos e instalamos en el directorio de tftpboot, 
luego hacemos lo mismo con todo el contenido del cd/imagen de ubuntu(inclusive la carpeta .disk)
 
y le damos permisos.
 
sudo chown -R nobody:nogroup /var/lib/tftpboot 
sudo chmod 777 -R /var/lib/tftpboot
 
 
hasta ahora todo eso es necesario para hacer uso de la instalación sin la versión live.
 
 
 
para añadir la versión live, hacemos lo siguiente:
 
 
modificamos nfs server, añadiendo nuestro directorio a compartir
 
sudo gedit /etc/exports
 
y añadimos al final del cocumento 
 
/var/lib/tftpboot 192.168.2.0/255.255.255.0(no_root_squash,async,no_subtree_check,ro) 


ahora añadir la entrada al menú:

abrimos(en mi caso haré una instalación de ubuntu de 32bits)

sudo gedit /var/lib/tftpboot/ubuntu-installer/i386/boot-screens/txt.cfg

y añadimos en el orden que queremos que aparezca en mi caso l puse de los primeros:
 
LABEL Probar ubuntu sin instalar
kernel casper/vmlinuz
append root=/dev/nfs boot=casper netboot=nfs 
nfsroot=192.168.2.125:/var/lib/tftpboot/ initrd=casper/initrd.lz quiet splash -- 


importante que la ip que sale ahí es la ip de su computador.

con esto ya tenemos todo configurado para hacer una versión live de ubuntu por red.
reiniciamos los servicio:

invoke-rc.d dnsmasq restart
sudo /etc/init.d/nfs-kernel-server restart
sudo /etc/init.d/xinetd restart

y bueno sería todo, basta reiniciar la máquinacliente y este recivirá la versión live. 
cualquier problema prueben reiniciar su máquina.
 
saludos. 

2 comentarios:

  1. Hola Daniel, estoy probando tu post pero no encuentro el directorio: /etc/xinetd.d/tftp a pesar de que he instalado todo lo que pides, lo estoy haciendo en ubuntu 11.04, me podrías ayudar diciéndome que estoy haciendo mal. Gracias de antemano.

    ResponderEliminar