Instalar Debian desde un pendrive (USB)
Formatear el pendrive
Coloca tu pendrive en un ordenador con GNU/Linux y luego ejecuta lo siguiente para que muestre la Lista de discos que tienes:
{{{# fdisk -l }}}
en alguna parte va a aparecer tu pendrive, generalmente se llama /deb/sdb o /deb/sda, los nombres que terminan con números NO son tu pendrive, esos son las particiones de tu pendrive (o de los otros discos), para identificarlo correctamente utiliza su tamaño (debe ser de por lo menos 1GB). En adelante voy a suponer que se llama /dev/sdb, luego de identificarlo correctamente, hay que editar su tabla de particiones, para hacerlo ejecuta lo siguiente:
{{{# fdisk /dev/sdb }}}
luego borraremos todas las particiones que tengas, en adelante trata de ir completando con la letra de la orden y luego presionas ENTER:
Orden (m para obtener ayuda): p Disco /dev/sdb: 4103 MB, 4103077888 bytes 127 heads, 62 sectors/track, 1017 cylinders Units = cilindros of 7874 * 512 = 4031488 bytes Disk identifier: 0x00000000 Disposit. Inicio Comienzo Fin Bloques Id Sistema /dev/sdb1 1 1017 4003898 6 FAT16 Orden (m para obtener ayuda): d Se ha seleccionado la partición 1
en nuestro caso sólo teníamos la partición /dev/sdb1, puede que en tu caso tengas más, aunque no es común, como teníamos sólo una no nos preguntó cual partición deseaba seleccionar para "delete" (Orden d), y seleccionó automáticamente la única que tenía. Ahora crearemos una nueva partición:
Orden (m para obtener ayuda): n Acción de la orden e Partición extendida p Partición primaria (1-4) p Número de partición (1-4): 1 Primer cilindro (1-1017, valor predeterminado 1): Se está utilizando el valor predeterminado 1 Último cilindro o +tamaño o +tamañoM o +tamañoK (1-1017, valor predeterminado 1017): Se está utilizando el valor predeterminado 1017
para escoger los valores predeterminados a las dos últimas preguntas respóndeles presionando ENTER. Ahora que ya creamos una partición, le asignaremos el formato FAT16:
Orden (m para obtener ayuda): t Se ha seleccionado la partición 1 Código hexadecimal (escriba L para ver los códigos): 6 Se ha cambiado el tipo de sistema de la partición 1 por 6 (FAT16)
ojo que el número es 6 no 16 (no es un error). Por último hay que hacer "activa" (Orden a) esta partición, para que podamos bootear desde ella:
Orden (m para obtener ayuda): a Número de partición (1-4): 1
y por fin "escribimos" los cambios (Orden w) :
Orden (m para obtener ayuda): w ¡Se ha modificado la tabla de particiones! Llamando a ioctl() para volver a leer la tabla de particiones. ATENCIÓN: Si ha creado o modificado alguna de las particiones DOS 6.x, consulte la página man de fdisk para ver información adicional. Se están sincronizando los discos.
y para finalizar, por fin formatearemos la partición que acabamos de crear:
{{{# mkfs.vfat -F 16 -n usbInstaller /dev/sdb1 }}}
Nota: Nos hemos sobrepasado en explicaciones para formatear el pendrive, en realidad sólo era necesario decir lo siguiente: "Formatea tu pendrive con FAT16 y deja la partición activa"
Hacer booteable al pendrive
Para esto necesitamos tener instalados cuatro paquetes:
{{{# aptitude install mbr syslinux mtools dosfstools }}}
el primero de ellos mbr es para asegurarnos que la parte del disco del pendrive que se lee al momento de botear se encuentre en buen estado, esta parte se llama "master boot record", nos aseguramos y reinstalamos el mbr en nuestro pendrive (por si estuviera dañado):
{{{# install-mbr /dev/sdb }}}
luego procedemos a instalar, en la partición, el sistema mínimo de booteo con Linux:
{{{# syslinux /dev/sdb1 }}}
con esto ya deberíamos tener un pendrive perfectamente booteable, es más, si bootean con él, aparecerá algo como lo siguiente:
MBR SYSLINUX 3.63 Debian-2008-04-10 EBIOS Copyright (C) 1994-2008 H. Peter Anvin Could not find kernel image. linux boot:
si no aparece algo parecido a esto es debido a que ha ocurrido algún error en los pasos previos y deben empezar de nuevo, seguramente se ha omitido algún paso. Suponiendo que lo anterior aparece, ya estamos en condiciones de instalar un sistema mínimo de arranque.
Instalar al pendrive el sistema mínimo de arranque (USB con Linux)
Esta es una receta que se explica automágicamente:
{{{$ mkdir /tmp/borrador $ cd /tmp/borrador $ wget http://ftp.cl.debian.org/debian/dists/etch/main/installer-i386/current/images/hd-media/boot.img.gz $ gunzip boot.img.gz $ mkdir archivos # mount -o loop boot.img /tmp/borrador/archivos/ # /tmp/borrador/archivos/* /media/usbInstaller/ }}}
hay que prestar atención a la tercera línea y la última: en la tercera línea se debe bajar el archivo boot.img.gz correspondiente a la arquitectura (en nuestro ejemplo i386), mientras que la última línea se está suponiendo que el pendrive está montado en /media/usbInstaller/.
Ahora podemos bootear con nuestro pendrive y nos aparecerá el super splash de debian, pero no hemos terminado aún, falta copiar en el pendrive la iso de la distribución que vamos a instalar, esto requiere algo de explicación adicional ya que el kernel del systema de arranque del pendrive y el kernel de la iso deben coincidir (ser compatibles).
Colocar en el pendrive la iso de la distribución que deseamos instalar
Como nos podemos percatar nuestro pendrive tiene instalado el kernel de etch, al arrancar desde él, arrancamos con este kernel y no podremos instalar otra distribución de debian (incluyendo las distribuciones de ubuntu), para surfear esta dificultad, cada vez que necesitemos instalar una distribución particular desde nuestro pendrive, debemos colocarle el kernel de la distribución que vamos a instalar, en nuestro caso hemos elegido lenny, para esto lo primero es bajar el kernel:
{{{$ mkdir /tmp/lenny $ cd /tmp/lenny $ wget http://ftp.cl.debian.org/debian/dists/lenny/main/installer-i386/current/images/hd-media/initrd.gz $ wget http://ftp.cl.debian.org/debian/dists/lenny/main/installer-i386/current/images/hd-media/vmlinuz # cp initrd.gz /media/usbInstaller/lenny_initrd.gz # cp vmlinuz /media/usbInstaller/lenny_linux # cd /media/usbInstaller/ # mv initrd.gz etch_initrd.gz # mv linux etch_linux }}}
ahora en el pendrive tendremos los kernels de lenny y de etch, podríamos editar el archivo syslinux.cfg e incorporar las opciones etch,lenny, etchgui, lennygui, etc., sin embargo para no complicar más el ejemplo ejecutamos lo siguiente:
{{{# cp lenny_linux linux # cp lenny_initrd.gz initrd.gz # wget http://cdimage.debian.org/cdimage/weekly-builds/i386/iso-cd/debian-testing-i386-CD-1.iso }}}