martes, 18 de noviembre de 2008

Instalacion de Linux por PXE

Un dia se me acerca un compañero de informática de 2do año y me dice si podía ayudarle con una instalacion de linux. Aun soy un novato, llevo 2 años usando linux como estación de trabajo, pero igual puedo compartir la poca experiencia con alumnos de cursos menores. Decidí ayudar, total era una instalación... Lo que no sabia era que....

... La instalación tenía las siguientes condiciones:
  • Booteo por LAN
  • Instalar un FEDORA o un REDHAT (la misma hierba...)

Básicamente, querian que un PC sirviera de fuente de instalacion de un fedora o redhat y uno (o mas PCs), pudieran instalarse desde ese equipo.

Primeramente, Nunca en mi vida habia hecho una instalación de un sistema operativo boteandolo por LAN; además, la rama red-hat no es de mi agrado (gustos personales, nada mas...).

Bueno, ya me habia comprometido asi que... a documentarse. Leyendo en algunos blogs, la solución era realizar una instalacion por PXE. No voy a explicar con detalle que es PXE, puesto que no manejo el tema, pero si voy a explicar los pasos que yo seguí para que esto fuera posible.

Maquina servidor: Compaq v3117la corriendo Zenwalk
Distribucion a servir: Fedora (DVD)

Primero preparamos el lugar que contendrá los archivos que permitiran el booteo, por ende creamos una carpeta de nombre "tftpboot" en el directorio raiz:

# cd /
# mkdir tftpboot

Ahora, monten DVD y copien los archivos initrd.img y vmlinuz que se encuentran en la carpeta images en la carpeta que acabamos de crear. Para mi caso personal, el DVD lo asigno a /dev/dvd y lo montaré sobre la carpeta /media/dvd

# mount /dev/dvd /media/dvd
# cd /media/dvd/images
# cp initrd.img /tftpboot
# cp vmlinuz /tftpboot

Listo, copiapos el archivo pxelinux.0 la carpeta /tftpboot. Este archivo pueden encontrarlo en la carpeta /usr/lib/syslinux/ (si lo tienen instalado) o bien pueden descargarlo de aqui:

http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-3.11.tar.gz

Yo lo tenia instalado, asi que: lo copio:

# cd /usr/lib/syslinux
# cp pxelinux.0 /tftpboot

Luego, creamos una carpeta llamada pxelinux.cfg dentro de la carpeta tftpboot. Posteriormente en la carpeta que acabamos de crear añadimos un archivo llamado default y escribiremos en el algunas instrucciones:

# cd /tftpboot
# mkdir pxelinux.cfg
# cd pxelinux.cfg
# vim default

Las instrucciones son:

prompt 1
default fedora
timeout 1000
label fedora
kernel vmlinuz
append initrd=initrd.img ramdisk_size=9216 noapic acpi=off


Luego, se deben configurar algunos servicios en la maquina que hará de servidor. Uno de ellos es DHCP (recuerden que la maquina cliente hará booteo por red y este servicio ayudará en la configuracion de la red), con ésto le daremos ip dinamicamente a la maquina cliente. Obviamente, deben asegurarse de que los paquetes correspondientes a dhcp (dhcpd) esten instalados. Para configurar el servicio editarmeos el archivo dhcpd.conf que (en la mayoria de las distribuciones) se encuentra en la carpeta /etc. Usen el editor que mas les acomode, yo usare vim.

vim /etc/dhcpd.conf

El archivo de configuracion de este servicio deberá contener las siguientes lineas:

default-lease-time 2592000;
max-lease-time 2592000;
ddns-update-style ad-hoc;
ddns-updates on;
allow bootp;
allow booting;
subnet 192.168.2.0 netmask 255.255.255.0
{
range 192.168.2.2 192.168.2.5;
option routers 192.168.2.1;
option broadcast-address 192.168.2.255;
option domain-name-servers 192.168.2.1;
option root-path "/tftpboot";
filename "pxelinux.0";
}

Como tenemos el DVD montado ya, podemos crear un enlace simbolico desde el dvd hasta la carpeta /tftpboot. Lo otro sería crear una ISO del DVD y crear un enlace simbolico de la ISO, asi la lectora de Disco se los agradecera =P.

# cd /media
# ln -s DVD /tftpboot/DVD

Y para simplificarnos la vida, compartiremos el DVD por http. Nomas necesitan instalar el servidor web apache y editar su archivo de configuracion que se encuentra en /etc/apache/ y se llama httpd.conf, agregando las siguientes lineas:


Options Indexes FollowSymLinks
AllowOverride none
Allow from all

Alias /fedora/ /tftpboot/DVD/

Listo, inicien todos los servicios: http, dhcpd,etc.

Con esto, deberian poder ver los archivos del DVD accediendo via web a la maquina. En este caso, estaba configurado con la IP 192.168.2.1 y deberian verse los archivos escribiendo en un navegador "http://192.168.2.1/fedora/"

Bueno, a mi me funcionó probando con un cable cruzado entre la maquina servicor y la cliente donde está última debia tener habilitado el booteo por red.


Espero les sirva, en caso contrario, les de los links en los que encontre la informacion:

http://p0ns.org/blog/2006/05/09/instalar-fedora-core-5-por-red-local-sin-utilizar-los-cds/


http://www.uberum.com/informatica/instalacion-remota-de-un-fedora-via-dhcpd-tftp-apache


http://www.opensourcehowto.org/how-to/tftp/tftp--pxe--syslinux--fedora-install.html

Es todo por hoy, se cuidan

atte

Ker


EDITADO!: Hoy acabo de hacer la misma configuracion en una maquina que corria fedora, y no hubo caso que pudiera servir la instalacion. La maquina se conectaba al servidor, pero no podía iniciar la instalacion debido a "un problema de configuración de tftp"... raro...


0 Objeciones: