4.3. Preparación de ficheros para el arranque desde un dispositivo de memoria USB

Para preparar una memoria USB, necesitará un sistema en el cual ya esté corriendo GNU/Linux y con compatibilidad con USB. En los sistemas GNU/Linux actuales la memoria USB debería reconocerse automáticamente cuando la inserta. Si no es así, compruebe que el módulo del núcleo usb-storage esté cargado. Cuando se inserta una memoria USB, se mapeará a un dispositivo llamado /dev/sdX, en el que X es una letra entre la a y la z. Al ejecutar la orden dmesg debería poder visualizar a qué dispositivo se mapea la memoria USB al insertarla. Para escribir en la memoria, es posible que deba quitar el seguro de protección contra escritura.

Aviso

¡Los procedimientos descritos en esta sección destruirán todo el contenido del dispositivo! Asegúrese de elegir correctamente el nombre del dispositivo para su memoria USB. Si usa el dispositivo incorrecto podría terminar perdiendo toda la información de, por ejemplo, un disco duro.

4.3.1. Preparación de una memoria USB utilizando una imagen de CD o DVD híbrida

Las imágenes de CD y DVD de Debian ahora se pueden escribir directamente en una memoria USB para hacerla arrancable de una manera muy sencilla. Sólo debe seleccionar la imagen de CD o DVD que quiere escribir en su memoria USB. Consulte Sección 4.1, “Juegos oficiales de CD/DVD-ROM de Debian GNU/Linux” para obtener más información sobre cómo obtener una imagen de CD o DVD.

Opcionalmente, para memorias USB de poca capacidad, puede descargar la imagen mini.iso desde el directorio netboot (en la ubicación mencionada en Sección 4.2.1, “Dónde encontrar las imágenes de instalación”).

La imagen de CD o DVD seleccionada se debe escribir directamente en la memoria USB, reemplazando la totalidad de su contenido actual. Por ejemplo, si utiliza un sistema GNU/Linux, puede escribir la imagen del CD o DVD en la memoria USB de la siguiente manera, después de comprobar que se ha desmontado el dispositivo USB:

# cp debian.iso /dev/sdX
# sync

Importante

La escritura de una imagen de CD o DVD a un USB debe funcionar de forma adecuada para la mayoría de usuarios. Las otras opciones a continuación son más complejos, generalmente para personas con necesidades especiales.

La imagen híbrido en el dispositivo no ocupa todo el espacio de almacenamiento, con lo que considere utilizar el espacio libre para almacenar ficheros de firmware, paquetes o cualquier tipo de fichero que quiera. Puede ser útil si solo se dispone de un dispositivo o simplemente desea almacenar todo en un único dispositivo.

Cree una segunda partición FAT en el dispositivo, monte la partición y copie o desempaquete el firmware en él. Por ejemplo:

# mount /dev/sdX2 /mnt
# cd /mnt
# tar zxvf /path/to/firmware.tar.gz
# cd /
# umount /mnt

Puede que haya escrito el fichero mini.iso en el dispositivo USB. En este caso, la creación de la segunda partición no es necesaria, ya que está presente. Desconectar y reconectar el dispositivo USB debería hacer visibles las dos particiones.

4.3.2. Copia manual de los ficheros a la memoria USB

Una forma alternativa de configurar el dispositivo USB es copiar manualmente los ficheros del instalador así como la imagen del CD. Tenga en cuenta que el dispositivo USB debe tener como mínimo una capacidad de 1 GB (se pueden realizar configuraciones con menos capacidad, tal como se indica en Sección 4.3.3, “Copia manual de los ficheros a la memoria USB — la forma flexible”).

Existe un fichero «todo en uno» hd-media/boot.img.gz que contiene todos los ficheros del instalador (incluyendo el núcleo) al igual que syslinux y su fichero de configuración .

Tenga en cuenta que, aunque es conveniente, este método tiene una gran desventaja: el tamaño lógico del dispositivo se limitará a 1 GB, incluso si la capacidad de la memoria USB es mayor. Si quiere contar con la capacidad completa de la memoria posteriormente para un uso diferente, tendrá que reparticionarla y crear un nuevo sistema de ficheros

Para usar esta imagen sencillamente extráigala directamente en la memoria USB:

# zcat boot.img.gz >/dev/sdX

Después de esto, monte la memoria USB (mount /dev/sdX /mnt), que ahora tendrá un sistema de ficheros FAT en ella, y copie una imagen ISO de Debian («netinst» o CD completo) a la memoria USB. Desmonte el dispositivo USB (umount /mnt) y habrá terminado.

4.3.3. Copia manual de los ficheros a la memoria USB — la forma flexible

Si desea más flexibilidad o simplemente le gusta saber que ocurre, podría usar el siguiente método para colocar los ficheros en su dispositivo USB. Una ventaja de este método es que — si la capacidad de su memoria USB es lo suficientemente grande — tendrá la opción de copiar una imagen completa de CD en ella.

4.3.3.1. Particionado de las memorias USB

Le mostraremos como configurar una memoria USB para usar la primera partición en lugar de todo el dispositivo.

Nota

Puesto que la mayoría de memorias USB vienen con una sola partición FAT16 ya configurada, probablemente no tendrá que reparticionar o reformatear el dispositivo. Si aún así tiene que hacerlo, utilice cfdisk o cualquier otra herramienta de particionado para crear la partición FAT16[5], e instale un MBR utilizando:

# install-mbr /dev/sdX

La orden install-mbr se encuentra en el paquete de Debian mbr. A continuación cree el sistema de ficheros utilizando:

# mkdosfs /dev/sdX1

Tenga cuidado de usar el nombre de dispositivo correcto para su memoria USB. La orden mkdosfs se encuentra en el paquete de Debian dosfstools.

Para iniciar el núcleo después de arrancar desde el dispositivo USB, necesitaremos colocar un gestor de arranque en él. Aunque cualquier gestor de arranque (como lilo) debería funcionar, es conveniente usar syslinux, puesto que usa una partición FAT16 y puede reconfigurarse con sólo editar un fichero de texto. Puede usar cualquier sistema operativo compatible con el sistema de ficheros FAT para hacer cambios a la configuración del gestor de arranque.

Para ubicar syslinux en la partición FAT16 de su memoria USB, instale los paquetes syslinux y mtools en su sistema, y ejecute

# syslinux /dev/sdX1

Nuevamente, tenga cuidado de usar el nombre de dispositivo correcto. La partición no debe estar montada cuando ejecute syslinux. Este procedimiento escribe un sector de arranque en la partición y crea el fichero ldlinux.sys que contiene el código del gestor de arranque.

4.3.3.2. Añadir la imagen del instalador

Monte la partición (mount /dev/sdX1 /mnt) y copie los ficheros indicados a continuación al dispositivo USB:

  • vmlinuz (binario del núcleo)

  • initrd.gz (imagen inicial de disco RAM)

Puede elegir entre la versión usual o la versión gráfica del instalador. La segunda se puede encontrar en el subdirectorio gtk. Si desea renombrar los ficheros, tenga en cuenta que syslinux solamente puede procesar nombres de ficheros estilo DOS (8.3).

A continuación debe crear el fichero de configuración syslinux.cfg, que como mínimo debe contener las dos líneas siguientes (cambie el nombre del núcleo binario a linux si ha usado una imagen netboot):

default vmlinuz
append initrd=initrd.gz

Para el uso del instalador gráfico añada vga=788 a la segunda línea. Puede añadir otros parámetros al final.

Para activar la solicitud en el arranque para permitir la suma de más parámetros, añada la línea prompt 1.

Si se ha utilizado una imagen hd-media, debe copiar ahora el fichero ISO de una imagen ISO de Debian[6] en la memoria. Cuando haya finalizado, desmonte la memoria USB, (umount /mnt).



[5] No olvide de definir la marca de arranque.

[6] Puede usar netinst o una imagen completa de CD (consulte Sección 4.1, “Juegos oficiales de CD/DVD-ROM de Debian GNU/Linux”). Asegúrese de elegir una que quepa. Tenga en cuenta que la imagen mini.iso netboot no sirve para este propósito.