Introducciónya sea por que nos falta la unidad óptica o por que no podemos hacer un buen booteo por usb, o simplemente no siempre podemos disponer de un usb y hacer una instalación exitosa desde el .. para esos casos, tenemos la opción del boot PXE.
Ahora, ¿qué es el boot PXE? PXE proviene de "Preboot eXecution Enviroment" o "Ambiente de ejecución prebooteo, esta es una característica en BIOs no muy viejas que permiten bootear descargando un Kernel + RAMDisk de la red vía TFTP , contactando al servidor DHCP que implemente este protocolo (también llamado bootp)
Instalando un servidor PXEAntes de proceder, revisamos nuestros requisitos, que serían una tarjeta de red y BIOS que soporten PXE.
El resto lo cubrimos en las siguientes secciones : un servidor DHCP con soporte de bootp habilitado y un servidor TFTP para descargar el Kernel y el RAMDisk, donde van a estar los módulos y archivos de instalación
desde ya, todos los comandos son ejecutados como superusuario (el usuario "root"), para ello podés iniciar como tal escribiendo "su" en la consola y escribiendo la contraseña del mismo [Escribir artículo sobre privilegios y enlazar]
Servidor DHCP/DNSDependiendo de cómo tengamos configurada la red, quizá necesitaremos deshabilitar el servidor DHCP que viene incorporado en nuestra router, yo voy a ejemplificar como sería con mi router :
(en mi caso toca destildar el servidor y guardar cambios)
Usando dhcpdUsando el gestor de paquetes de nuestra distribución, Instalamos dhcpd (ver Instalacion de Software bajo Linux), salvo que ya venga de serie, como es el caso de SlackwareLuego, pasamos a editar con el editor preferido /etc/dhcpd.conf ejecutando el mismo como el superusuario (o root) [Escribir artículo sobre privilegios y enlazar]
yo tomé como base el archivo de ejemplo que viene en Slackware
Como verán, las linea
s destacadas son las que requieren nuestra especial atención.
esto debería ir out-of-the box (sin tocar mucho) pero prestando atención a lo que está resaltado, especialmente a routers, que es donde declaramos gateways, y domain-name-servers que es donde declaramos el servidor dns (cosa que está integrada en los mismos routers, así que podemos poner su dirección aquí), y next-server, que es la ip del servidor tftp ... hecho esto, tenemos el servidor dhcp configurado, pero todavía no vamos a iniciar/reiniciar el servicio, ya que nos quedan otros detalles para pulir .... Usando dnsmasqCon dnsmasq la historia es más simple : lo instalamos y simplemente ejecutamos el comando siguiendo este protocolo : dnsmasq dhcp-boot={pxeboot file}, {hostname of tftp server}, {ip address of tftpserver}dnsmasq dhcp-boot=/slackware-13.0/pxelinux.0,Symphony,192.168.0.100 tenemos que fijarnos que Symphony resuelva a una IP, caso que no, podemos modificar nuestro /etc/hosts [agregar un how-to para esto]
Nota : si usás este método y querés usar dnsmasq como servidor tftp, prestá atención a la sección de Servidor TFTP ya que hay que agregar dos cositas al comando !
Servidor TFTPEn esta sección nos encargaremos de tener el servidor TFTP armado y de tener la estructura de directorios necesaria, nótese que si usaste el método de dhcpd, al finalizar este capítulo tendrás que reiniciar el servicio! (en algunas distros es /etc/rc.d/rc.dhcpd restart o /etc/init.d/dhcpd restart | te toca fijarte) Usando inetd/xinetdEste método es bastante sencillo y como buena parte de los sistemas *NIX viene con este daemon, es el más práctico (para información de inetd ver Referencias)
Para indicarle a inetd que queremos lanzar un servidor tftp, editamos /etc/inetd.conf usando nuestro editor favorito como superusuario [Escribir artículo sobre privilegios y enlazar]
y buscamos una linea similar a esta :
#tftp dgram udp wait root /usr/sbin/in.tftpd in.tftpd -v -s /tftpboot -r blksize
y le sacamos el caracter de comentario '#' para habilitarlo ...
nótese que el parámetro a -s es /tftpboot, el cual es la ruta al directorio donde van a servirse los archivos mediante tftp
para nuestro ejemplo, lo dejamos como está (asegurate que ese directorio exista ! - podés crear el mismo ejecutando 'makedir /tftpboot' como superusuario)
dnsmasq --enable-tftp --tftp-root=/tftpboot dhcp-boot=/slackware-13.0/pxelinux.0,Symphony,192.168.0.100
y listo, servidor dhcp+dns+tftp todo en uno !
Esta sección es muy específica de cada distribución, ya que cada de distribución a distribución cambia como se distribuye y usan su Imagen PXE/Kernel(s) y RAMDisk, y aún así, estos exigen su propia estructura de directorios, en esta sección se citan ejemplos de como armar dicha estructura ... SlackwareEn el caso de Slackware los archivos necesarios están en el DVD de instalación, un script que nos arma rápidamente la estructura leyendo desde /media/SlackDVD y copiando a /tftpboot sería este : export Slack=/media/SlackDVD con esto finalizaríamos la configuración del server PXE en slackware, y dependiendo si usaste o no el método de inetd/xinetd, tendrías que reiniciarlo, de esta forma : /etc/rc.d/rc.inetd restart un detalle en la instalación es la detección de la red, hay que fijarse de la forma más tradicional : un ping en este caso podemos hacer un ping a google.com y confirmar si disponemos de conexión, caso que no, ejecutar : network # fijate si sabes el modulo de tu placa, o apretá enter para que se trate de detectar y desde acá en adelante el terreno es familiar, podemos elegir un mirror de internet, una compartición samba/nfs, etc ... CentOS NetInstallEn este caso procedemos montando la iso del netinstall en /media/mount para proceder a armar los directorios (podés elegir otra ruta y cambiar el script) : #Parámetros básicos y la instalación lanza sin problemas, también, como con slackware, si usamos inetd/xinetd, a reiniciarlo ! /etc/rc.d/rc.inetd restart Referencias
|
Sistemas Operativos > GNU/Linux >