Francisco Villalobos (@belhor) pregunta en Twitter ¿Cómo instalar GNU/Linux en una pc, notebook sin CD, ni pendrive?.
Buscando encontré un tutorial en linuxcaceres que explica como hacerlo, pero se necesita otra pc para montar un servidor PXE.
Si bien la mayoría de las distros son híbridas (Se pueden grabar en un CD o cargar en un pendrive), diversos son los motivos por los que necesites recurrir a este método: No tienes CD, no tienes pendrive, están dañados, tu pc no bootea por USB, necesitas instalar Linux en una gran cantidad de máquinas en poco tiempo y bla, bla, bla, la razón que sea, vamos al grano.
Lo primero de todo es montar el servidor (en la pc con este fin) para crear una red y arrancar la instalación por PXE. Para ello instalar los siguientes paquetes:
apt-get install dhcp3-server tftpd-hpa tfpt-hpa
Ahora configuraremos el fichero del dhcp3-server -> /etc/dhcp3-server/dhcpd.conf. Vamos a crear una red sobre 192.168.1.X donde el 1 será el router, y ahí conectaremos tanto nuestro equipo servidor (5) como el equipo donde vamos a hacer la instalación (rango de 10 – 100); aunque aquí casi no importa el rango que le demos para dhcp ya que pondremos en el fichero que coja la dirección 10.
ddns-update-style none;
option domain-name-servers 192.168.1.1; #servidor dns
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100; #rango dhcp
option routers 192.168.1.1; #salida inet
filename “pxelinux.0″;
}
host apex {
hardware ethernet xx:xx:xx:xx:xx:xx; #mac del cliente
fixed-address 192.168.1.10; #cliente
next-server 192.168.1.5; #servidor
filename “pxelinux.0″;
}
Hay que tener en cuenta que si nuestro router es servidor dhcp debemos desactivarlo temporalmente hasta que realicemos la instalación. Además debemos identificar la MAC del equipo donde vamos a hacer la instalación y ponerla en el fichero de configuración en “hardware ethernet xx:xx:xx:xx:xx:xx;”.
Una vez hecho esto debemos configurar el fichero /etc/inet.conf y añadir la línea:
tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot
Para que acepte los cambios en los ficheros de configuración reiniciamos los servicios. En este caso se quería instalar un sistema ubuntu (pero todo esto también se puede hacer con debian); accedemos a su web y bajamos el sistema pero en su versión “alternate”, donde ya viene por defecto el netboot para arrancar la instalación en un cliente; todo el contenido de la carpeta netboot debemos copiarlo a /var/lib/tftpboot.
Una vez realizado los pasos anteriores, arrancar el cliente y comenzar la instalación. Durante la instalación se pide un servidor de réplica para bajar los datos, yo lo intenté desde varios y siempre me acabó fallando; como realmente el sistema lo tenemos en el cd no es necesario servidores de réplica, pero para que todo funcione en local podemos montar el cd como un servidor de réplica; para ello tendremos que tener montado en el servidor un servidor apache para que puede acceder via web a los datos que vamos a montar.
mkdir /var/www/ubuntu
mount -o loop ubuntu-8.10-alternate-i386.iso /var/www/ubuntu
Con esto, cuando se pida un servidor de réplica, escogeremos la primera opción “Introducir datos manualmente” y pondremos los datos del servidor.
Terminar instalación y voilá, equipo funcionando.
