Instalacion de Gnu/linux por PXE
Hola Amigos aquí os dejo un pequeño How to para la instalación por red
Necesitamos instalar tres pequeñas aplicaciones
tftpd, dhcp-server, y nfs-kernel-server
NOTA:La instalación de estos paquetes dependerá de la distribución que uses
configuramos nuestro DHCP- server para que nos de una IP automaticamente y nos capture pxelinux.0
vim /etc/dhcp3/dhcpd.conf
# Archvio para el uso de DHCP
ddns-update-style none;
# El servidor tftp, por supuesto eso varía según su configuración y topología.
next-server 192.168.0.1;
# Rango de direcciones que atenderé con este servidor
range 192.168.0.250 192.168.0.254;
option domain-name-servers 200.63.206.1;
# Como estoy usando NAT mando la ruta por defecto.
option routers 192.168.0.1;
# El archivo que manda enseguida para no tener que esperar tanto tiempo.
filename="pxelinux.0";
}
configuramos nuestro server tftp
Por defecto tftp-hpa3 quiere arrancar con inetd, pero nosotros lo configuramos par que arranque como demonio y lo configuremos así:
dpkg-reconfigure tftp-hpa
y editamos el siguiente archivo y lo dejamos así: /etc/default/tftpd-hpa:
RUN_DAEMON=”yes”
# La ruta donde descansan nuestros archivos
OPTIONS=”-l -s /var/lib/tftpboot”
Ahora configuremos nfs para que las maquinas puedan acceder a los directorios donde están montadas las isos
primero montamos la iso
mount -o loop /home/palichis/distros/debianETCH.iso /home/palichis/debian
ahora editamos /etc/exports que es donde ponemos los directorios a compartir por nfs
/home/palichis/debian 192.168.0.0/255.255.255.0(ro,no_root_squash,sync)
A continuación nos descargaremos netboot
y descomprimiremos el contenido en /var/lib/tftpboot
tar xjf netboot.tar.gz -C /var/lib/tftpboot
Ahora copiamos initrd.gz y vmlinuz de la carpeta casper de nuestra iso montada
cp /home/palichis/debian/casper/initrd.gz /var/lib/tftpboot/solidinitrd.gz
cp /home/palichis/debian/casper/vmlinux /var/lib/tftpboot/solidvmlinux
Ahora tenemos que hacer un pequeño cambio en la imagen initrd.gz para que nos pueda bootear por red
mkdir /var/lib/tftpboot/initrd
cd /var/lib/tftpboot/initrd
gzip -dc /home/palichis/debian/casper/initrd.gz | cpio -i
vim /var/lib/tftpboot/initrd/scripts/casper
aqui buscamos la función do_netmount() y cambiamos:
DE
if [ "${NFSROOT}" = "auto" ]; then
NFSROOT=${ROOTSERVER}:${ROOTPATH}
fi
POR
if [ "${NFSROOT}" = "auto" ]; then
ROOTSERVER="192.168.0.1"
ROOTPATH="/home/palichis/debian"
NFSROOT=${ROOTSERVER}:${ROOTPATH}
fi
guardamos y salimos
Luego de esto para crear una nueva imagen con los nuevos datos hacemos
find ./ | cpio -H newc -o > initrd
gzip initrd.gz
tenemos nuestra nueva imagen creada y lo que haremos es copiar de /var/lib/tftpboot/initrd a /var/lib/tftpboot/ reemplazando al initrd.gz anterior
ahora vamos a modificar nuestro boot para que arranque con los parámetros solicitados
vim /var/lib/tftpboot/pxelinux.cfg/default
DISPLAY ubuntu-installer/i386/boot-screens/boot.txt
F1 boot-screens/f1.txt
F2 boot-screens/f2.txt
DEFAULT install
LABEL install
kernel vmlinuz
append boot=casper initrd=solidinitrd.gz ramdisk_size=148576 netboot=nfs nfsdir=192.168.0.1:/var/lib/tftpboot/ubuntu-installer/xubuntu root=/dev/ram rw quiet splash --
PROMPT 1
TIMEOUT 10
y por último vamos a reiniciar los servicios instalados al inicio
/etc/init.d/dhcp3-server restart
/etc/init.d/nfs-kernel-server restart
/etc/init.d/tftpd restart
- Login to post comments
- 4878 reads
Comentarios recientes
8 years 31 weeks ago
9 years 3 weeks ago
9 years 3 weeks ago
9 years 3 weeks ago
10 years 18 weeks ago
11 years 26 weeks ago
11 years 26 weeks ago
11 years 27 weeks ago
12 years 23 weeks ago
12 years 30 weeks ago