Copyright © 2007 Minaya minayaanis[at]yahoo[dot]es
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, and with no Front-Cover Texts, and with no Back-Cover Texts. Full text of the license is at http://www.gnu.org/licenses/fdl.txt
1. Introducción y preparativos.
Algunas veces, nos encontramos ante la imposibilidad de instalar Debian GNU/Linux desde el instalador oficial, bien porque estamos utilizando una tarjeta inalámbrica de difícil configuración durante el proceso de instalación o bien porque parte del hardware no está correctamente soportado y hagan falta módulos extras para hacerlo funcionar, módulos extras que en ocasiones son inviables de introducir mediante unidades extraíbles.
Este pequeño artículo va dirigido a intentar dar solución a algunos de estos problemas, así como mostraros como funciona el instalador de Debian GNU/Linux por dentro (de modo simplificado). Todos los comandos mostrados hay que ejecutarlos con privilegios de administrador.
1.1. Materiales
Utilizaremos para ello nuevamente entornos chroot, una utilidad muy buena llamada debootstrap (o en su defecto alternativas como cdebootstrap, rpmstrap, etc.) y un livecd (ubuntu, knoppix o cualquiera que esté basado en Debian y que sea medianamente completo).
La primera parte de la instalación será prácticamente igual que lo que ya expliqué en el artículo para construirnos nuestro propio blog, solo que aquí daré algunos detalles extras ya que nuestro sistema se tendrá que comportar como un sistema físico principal.
1.2. Entorno.
Lo primero de todo es conocer nuestro entorno (que vamos a hacer y donde lo vamos a hacer). Yo voy a explicar como hacer la instalación en un sistema cuyo disco duro (hda) está totalmente vacío (el hacer sistemas duales no es complicado, pero requiere un poco de habilidad con grub y con el tema de particionamiento). Será un disco duro de 18Gb (útiles) que particionaré según la siguiente estructura:
-----------------------------------------------------------------------------------
| Partición | Tipo | Tamaño (Gb) | Sistema de Ficheros | Punto de montaje |
-----------------------------------------------------------------------------------
| /dev/hda1 | Primaria | 14,0 | ext3 | /media/hda1 |
| /dev/hda5 | Lógica | 1 Gb | intercambio (swap) | |
| /dev/hda6 | Lógica | 3 Gb | ext3 | /media/hda2 |*
-----------------------------------------------------
* Esta última partición es opcional. Yo la utilizaré como un pequeño almacén para realizar salvados del sistema.
El tema de particionamiento es muy personal, usa la utilidad que te haga el trabajo más cómodo. Por sugerirte algunas herramientas buenas, gparted, cfdisk, fdisk, qtparted...
NOTA: Puedes hacer todas las particiones que quieras, pero asegúrate más tarde
de montarlas todas donde corresponda.
1.3. Montando las particiones.
Para poder continuar, deberemos montar las particiones que hemos creado en el apartado anterior. En este caso, vamos a necesitar montar solo /dev/hda1 puesto que la swap no nos va a hacer falta. Aún así, tenemos la posibilidad de activarla para nuestro livecd si andamos algo escasos de memoria ram, ejecutamos:
swapon /dev/hda5
Para montar /dev/hda1, simplemente ejecutamos como root:
mount /dev/hda1 /media/hda1
Si no falla nada, ya podemos pasar al siguiente paso.
2. Uso de debootstrap
Como comenté anteriormente, este documento irá dirigido a explicar como instalar Debian GNU/Linux utilizando debootstrap. Esta utilidad es utilizado para muchos labores, desde una instalación típica con los cds/dvds de Debian, para la creación de jaulas chroot como la que utilizamos en el artículo sobre la creación de un blog y para la generación de sistemas live.
Lo primero que tenemos que hacer es asegurarnos de que tenemos instalado debootstrap. Ejecutamos para ello debootstrap a secas:
debootstrap
El resultado debería ser algo como:
I: usage: [OPTION]... [ []]
I: Try `debootstrap --help' for more information.
E: You must specify a suite and a target.
Si no te aparece un mensaje similar a éste, significa que te toca instalar debootstrap a mano. Este paso es relativamente sencillo en sistemas basados en Debian:
apt-get update
apt-get install debootstrap
Vamos a explicar de manera breve las principales opciones de debootstrap. La sintaxis de este comando es bastante intuitiva:
debootstrap $DISTRO $MONTAJE $MIRROR
El parámetro DISTRO se refiere a la versión de Debian o Ubuntu que deseas instalar. En este caso vamos a escoger Debian Lenny, pero sientete libre de experimentar. La opción MONTAJE hace referencia al punto de montaje o directorio donde queremos instalar nuestra distro, en este caso /media/hda1. MIRROR es la última opción y se refiere al repositorio o espejo (mirror en inglés).
Algunas opciones extras (se colocan justo antes de $DISTRO) son:
--arch ARCH (selecciona la arquitectura ARCH, se sutituye normalmente por i386 o amd64)
--download-only (solo descarga los paquetes, no los instala)
--keep-debootstrap-dir (no borra el directorio debootstrap generado durante la descarga de paquetes).
--unpack-tarball FILE (en vez de descargar los paquetes, los obtiene de un archivo tar, en este caso FILE)
En nuestro caso particular, vamos a instalar debian lenny para una arquitectura i386, esto es:
debootstrap --arch i386 lenny /media/hda1 http://ftp.fr.debian.org/debian
Empezará entonces la descarga e instalación de paquetes base, que puede llevar más o menos tiempo dependiendo de la maquina en cuestión y de la conexión disponible, por lo que tendremos que tener paciencia. Una vez que acabe, podemos pasar al siguiente paso.
3. Instalación del sistema base.
Montamos el directorio /dev en /media/hda1/dev para que si algún programa intenta acceder a algún dispositivo físico del sistema no nos de problemas. Esto es:
mount -o bind /dev /media/hda1/dev
Copiamos algunos ficheros importantes:
cp -a /etc/resolv.conf /media/hda1/etc/
cp -a /etc/adjtime /media/hda1/etc/
cp -a /etc/apt/sources.list /media/hda1/etc/apt/ (esta última es opcional, la alternativa -recomendada- es editar ese sources.list de la jaula a mano, adaptándolo a nuestras necesidades).
Este es el momento de meternos en la jaula:
chroot /media/hda1
También resulta muy recomendable montar proc y sys (este último tiene menor importancia, pero si lo montamos mejor):
mount proc
mount sys
Ahora que tenemos montados los directorios principales y estamos dentro de la jaula chroot, tenemos que configurar todo lo que ya tenemos instalado. Para ello, ejecutaremos:
dpkg-reconfigure -a
Ello nos permitirá meterle una contraseña a root, decidir si queremos contraseñas shadow o no, etc.
A continuación, deberemos instalar un kernel, grub y algún sistema de reconocimiento de hardware. Esto es:
aptitude update
aptitude install grub linux-image-2.6-486 busybox udev discover1
Este será el momento de añadir los usuarios que quieras o configurar cualquier aspecto que desees de tu distribución.
Con esto ya tendríamos un sistema Debian GNU/Linux mínimo pero funcional. Se nos abren en este momento dos alternativas:
A) Configurar grub y arrancar nuestro sistema para seguir instalando paquetes desde allí (Recomendado)
B) Seguir instalando paquetes y dejar la configuración de grub para el final.
Yo voy a proceder siguiendo el camino A por varias razones, entre las que destaco que de este modo nos resultará más cómodo instalar lo que queda a nuestra distribución sin tener que estar lidiando con sistemas chroot.
Nuevamente, siéntete libre de tomar el camino B, que es igualmente válido. Para ello, instala en este momento los paquetes que desees y a continuación, ya estarás en condiciones de pasar al punto 4.
NOTA: Si estas utilizando una tarjeta inalámbrica que requiera módulos especiales (madwifi, ipw, ndiswrapper, etc) te recomiendo encarecidamente instalar dichos módulos (o compilarlos) junto con las herramientas necesarias (wireless-tools en particular) dentro de la jaula chroot antes de proseguir para que cuando reinicies la máquina con tu nuevo sistema tengas conexión a internet y por tanto puedas continuar con la instalación de paquetes.
4. Instalar y configurar grub.
Lo primero de todo es generar el menu.lst, ejecutando:
update-grub
NOTA: Edita manualmente el archivo /boot/grub/menu.lst si fuera necesario para arrancar tu sistema Debian
(ejemplo, si necesitas desactivar desde grub el soporte para usb, pci, acpi, etc).
A continuación, desmontamos proc sys y /dev de la jaula.
umount proc
umount sys
Salimos de la jaula
exit
Desmontamos /dev (ojo, el de la jaula)
umount /media/hda1/dev
A partir de ahora trabajaremos desde fuera de la jaula.
NOTA: Si fallara el desmontado de proc, sys o dev, intenta nuevamente desmontarlos, pero con la opción -l
La instalación y configuración de grub es casi el paso más importante del proceso instalación. Tiene sus riesgos si no posees suficiente experiencia con sistemas GNU/Linux, por lo que ten cuidado y en todo momento asegúrate de saber y entender todo aquello que vas a ejecutar.
En el paso 3 ya instalamos el paquete grub en nuestro Debian GNU/Linux, por lo que ahora lo único que tenemos que hacer es instalar grub en el mbr.
grub-install --root-directory=/media/hda1/ --recheck
(Esto nos generara un archivo devices.map, lo que nos ahorrara aprender como escribir el nombre de una partición en formato grub).
grub-install /dev/hda --root-directory=/media/hda1
Si todo ha ido bien, ya tendremos instalado Debian GNU/Linux (Lenny) en nuestro disco duro hda. Lo siguiente sería reiniciar nuestra maquina, arrancar con nuestro nuevo sistema y configurar todo a nuestro gusto, instalando un escritorio si así lo viésemos necesario. Por ejemplo:
aptitude install x-window-system-core gdm gnome (para instalar gnome)
aptitude install x-window-system-core kdm kde (para instalar kde)
aptitude install x-window-system-core gdm xfce (para instalar xfce).
Para iniciar las X en este momento, bastará con ejecutar:
/etc/init.d/kdm start (kde)
/etc/init.d/gdm start (gnome y xfce).
Eso ha sido todo. Espero que este pequeño artículo les haya sido de utilidad.
5. Notas finales.
Me gustaría destacar que esta guía puede contener (y seguramente contenga) algunos errores. No me hago responsable de ningún problema derivado de utilizarla.
Las versiones actualizadas de este documento podrán encontrarse en: http://anis-live.dyndns.org/drupal/?q=node/22