Instalación de Debian desde otra instalación de Linux

Este artículo está sacado este tutorial (también disponible en esDebian) que explica cómo instalar Debian desde otro sistema operativo en ejecución (basado en Debian). Me parece una idea muy buena, y he de ponerla en práctica con mi portátil, que cada vez da más problemas con el lector de discos ópticos😦

Conviene tomar nota del primer enlace, pues parece que van a ir modificando el tutorial según salgan versiones más avanzadas de Debian.

1.Introducción y preparativos

Algunas veces, nos encontramos dificultades para 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 – los cuales podrían ser muy complicados de introducir mediante unidades extraíbles. En este artículo se trata de dar solución a algunos de estos problemas, así como mostrar cómo funciona el instalador de Debian GNU/Linux por dentro (de modo simplificado). Todas las órdenes mostradas deben ejecutarse con privilegios de administrador.

Utilizaremos entornos chroot, una utilidad muy buena llamada debootstrap (o en su defecto, alternativas como cdebootstrap, rpmstrap, etc) y un liveCD (Knoppix, Ubuntu o cualquier otro que esté basado en Debian y sea medianamente completo).

Lo primero de todo es conocer nuestro entorno (qué vamos a hacer y dónde). Voy a explicar cómo 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 particionamiento). Es un disco duro de 18GB que particionaré de esta forma:

Partición Tipo Tamaño Sistema de Ficheros Punto de montaje
/dev/hda1 Primaria 14,0 GB ext3 /media/hda1
/dev/hda5 Lógica 1 GB Intercambio (swap) (No aplicable)
/dev/hda6 Lógica 3 GB ext3 /media/hda2

La última partición la usaré para realizar copias de seguridad. Seguramente uses otro esquema de particionamiento, asegúrate más tarde de montarlas donde corresponda. Para realizar las particiones hay una gran cantidad de alternativas disponibles, todas las siguientes son bastante buenas: gparted, cfdisk, fdisk, qtparted… Puedes hacer todas las particiones que quieras, asegúrate más tarde de montarlas donde corresponda.

Ahora montaremos las particiones creadas. De momento, sólo es necesitario montar /dev/hda1. Aún así, podríamos querer montar más, (por ejemplo, para usar la swap creada), 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

Esta utilidad sirve para muchas labores, desde una instalación típica con los discos de Debian, para la creación de jaulas chroot y para la generación de sistemas live. Para saber si tenemos instalado debootstrap, tratamos de ejecutarlo sin más:

# debootstrap

El resultado debería ser algo así:

I: usage: [OPTION]... [ []]
I: Try `debootstrap --help' for more information.
E: You must specify a suite and a target.

Si no aparece un mensaje similar a éste, significa que tienes que instalarlo, cosa bastante simple en sistemas basados en Debian:

# apt-get install debootstrap

Estas son las principales opciones de debootstrap. Son bastante intuitivas:

# debootstrap $DISTRO $MONTAJE $MIRROR
  • DISTRO se refiere a la versión de Debian o Ubuntu a instalar. En este ejemplo, se trata de Debian Lenny, pero siéntete libre de experimentar.
  • 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).

Hay algunas opciones extra (se colocan justo antes de $DISTRO) que viene bien tener en cuenta:
–arch ARCH (selecciona la arquitectura ARCH, sutituye esta palabra por i386, amd64, etc).
–download-only (descarga los paquetes, pero 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 este 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á la descarga e instalación de paquetes base, por lo que tendremos que tener paciencia. Cuando 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 el 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 menos importancia, pero si lo montamos, mejor):

# mount proc
# mount sys

Ahora que tenemos montados los directorios principales y estamos en la jaula chroot, configuramos todo loque tenemos instalado. Para ello, ejecutaremos:

# dpkg-reconfigure -a

Ello permitirá ponerle 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 install grub linux-image-2.6-486 busybox udev discover1

Este será el momento de configurar cualquier aspecto deseado de tu distribución (como añadir los usuarios que se necesiten). Con esto, tendríamos un sistema Debian mínimo, pero funcional. Ahora tenemos 2 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.

El camino A nos permitirá instalar el resto de la distribución sin tener que estar lidiando con sistemas chroot. El camino B es igualmente válido; instala en este momento los paquetes que desees y después, 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 al reiniciar la máquina con tu nuevo sistema tengas conexión a Internet y puedas continuar sin problemas con la instalación.

4. Instalar y configurar grub

Lo primero de todo es generar el menu.lst, ejecutando:

# update-grub

Quizá debas editar manualmente el archivo /boot/grub/menu.lst para modificar los parámetros de arranque del sistema (por ejemplo: para 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 (ATENCIÓN, el de la jaula):

# umount /media/hda1/dev

Si fallara el desmontado de proc, sys o dev, intenta nuevamente desmontarlos, pero con la opción -l (es una letra “ele”).

A partir de ahora, trabajaremos desde fuera de la jaula. 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 cómo 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). Antes de reiniciar la maquina para arrancar Debian, hay que configurar el archivo /etc/fstab para indicar cual será la partición root, la swap y en este caso, la partición de backup. En el caso planteado en el artículo, debería quedar así:

# /etc/fstab: static file system information.
#
# <filesystem> <mountpoint> <type> <options>       <dump> <pass>
/dev/hda1      /            ext3   errors=remount-ro 0       1
/dev/hda6      /almacen     ext3   defaults          0       2
/dev/hda5      none         swap   sw                0       0

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 artículo sea de utilidad.

PD: puede que la guía contenga algún error, o que el proceso descrito necesite algún cambio para tu sistema. ¡Úsala bajo tu propia responsabilidad.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: