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

Para preparar la memoria USB, recomiendamos utilizar un sistema en el que ya se esté ejecutando GNU/Linux y con soporte USB. Con los sistemas GNU/Linux actuales, debería reconocer automáticamente la memoria USB al insertarla. Si no es así, debes comprobar que el módulo del kernel usb-storage está cargado. Cuando se inserta la memoria USB, se asigna a un dispositivo llamado /dev/sdX, donde X es una letra en el rango a-z. Deberías poder ver a qué dispositivo se ha asignado la memoria USB ejecutando el comando lsblk antes y después de insertarla. (La salida de dmesg (como root) es otro método posible para ello). Para escribir en tu pendrive, puede que tengas que desactivar su interruptor de protección contra escritura.

[Aviso] Aviso

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

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

Las imágenes de instalación de Debian para esta arquitectura se crean usando la tecnología isohybrid; esto significa que pueden escribirse directamente en una memoria USB, lo que es una forma muy fácil de hacer un medio de instalación. Simplemente elige una imagen (como la netinst, CD o DVD-1) que quepa en tu memoria USB. Consulta Sección 4.1, “Imágenes oficiales de Debian GNU/Linux de instalación” para obtener una imagen de instalación.

Opcionalmente, para memorias USB de muy 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 los archivos de instalación”).

Debe escribir la imagen de instalación seleccionada directamente en la memoria USB, reemplazando la totalidad de su contenido actual. Por ejemplo, si utiliza un sistema GNU/Linux, puede escribir el archivo de la imagen 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

Puede encontrar más información de cómo hacer esta operación en otros sistemas operativos en las PUF Debian CD.

[Importante] Importante

La imagen debe escribirse en el dispositivo del disco completo y no en una partición, p. ej. /dev/sdb y no /dev/sdb1. No utilice herramientas como unetbootin que alteran la imagen.

[Importante] Importante

Simplemente escribiendo una imagen de instalación a un USB como se indica será suficiente para la mayoría de usuarios. Las siguientes opciones son más complejas, 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.

Para ello, utiliza cfdisk o cualquier otra herramienta de particionado para crear una partición adicional en el stick. A continuación, cree un sistema de archivos (FAT) en la partición, móntala y copia o desempaqueta el firmware en ella, por ejemplo con:

# mkdosfs -n FIRMWARE /dev/sdX3
# mount /dev/sdX3 /mnt
# cd /mnt
# tar zxvf /path/to/firmware.tar.gz
# cd /
# umount /mnt

Ten cuidado de utilizar el nombre de dispositivo correcto para la memoria USB. El comando mkdosfs está contenido en el paquete dosfstools Debian.

[Nota] Nota

Puede que hayas 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 mostrar las dos particiones.

4.3.2. Copia manual de los ficheros a la memoria USB

Antes de que se utilizara la tecnología isohybrid para las imágenes de instalación Debian, se utilizaban los métodos documentados en los capítulos siguientes para preparar los medios para arrancar desde dispositivos USB. Estos han sido reemplazados por la técnica en Sección 4.3.1, “Preparación de una memoria USB utilizando una imagen híbrida de CD/DVD”, pero se han dejado aquí con fines educativos e históricos y en caso de que sean útiles para algún usuario.

Una alternativa al método descrito en Sección 4.3.1, “Preparación de una memoria USB utilizando una imagen híbrida de CD/DVD” es copiar manualmente los archivos del instalador, y también una imagen de instalación en la memoria USB. Ten en cuenta que la memoria USB debe tener un tamaño mínimo de 1 GB (es posible realizar configuraciones más pequeñas utilizando los archivos de netboot, siguiendo Sección 4.3.3, “Copia manual de los archivos a la memoria USB: la forma flexible”).

Hay un archivo todo-en-uno hd-media/boot.img.gz que contiene todos los archivos del instalador (incluyendo el kernel) así como syslinux y su archivo de configuración.

[Nota] Nota

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.

Simplemente extrae esta imagen directamente a la memoria USB:

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

Después de esto, monta la memoria USB (mount /dev/sdX /mnt), que ahora tendrá un sistema de ficheros FAT en ella, y copia una imagen ISO de Debian (instalar por red o CD completo; ver Sección 4.1, “Imágenes oficiales de Debian GNU/Linux de instalación”) en la misma. Desmonta el USB (umount /mnt) y habrás terminado.

4.3.3. Copia manual de los archivos 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 cualquier imagen ISO, incluso una imagen DVD, en dicha memoria.

4.3.3.1. Particionar y añadir un gestor de arranque

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

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 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 en la configuración del gestor de arranque.

First, you need to install the syslinux and mtools packages on your system.

[Nota] Nota

Dado que la mayoría de las memorias USB vienen preconfiguradas con una única partición FAT16, probablemente no tendrás que reparticionar o reformatear la memoria. Si tienes que hacerlo de todos modos, usa cfdisk o cualquier otra herramienta de particionado para crear una partición FAT16 ahora[3], y luego instalar un MBR usando:

# cat /usr/lib/syslinux/mbr/mbr.bin 
>/dev/sdX

Ahora crea el sistema de archivos usando:

# mkdosfs /dev/sdX1

Ten cuidado de utilizar el nombre de dispositivo correcto para la memoria USB. El comando mkdosfs está contenido en el paquete dosfstools Debian.

Teniendo una memoria USB correctamente particionada (ahora), tienes que poner syslinux en la partición FAT16 con:

# syslinux /dev/sdX1

De nuevo, ten cuidado de utilizar el nombre correcto del dispositivo. La partición no debe estar montada al iniciar syslinux. Este procedimiento escribe un sector de arranque en la partición y crea el archivo ldlinux.sys que contiene el código del cargador de arranque.

4.3.3.2. Adding the installer files

Hay dos variantes de instalación diferentes para elegir aquí: La variante hd-media necesita un archivo ISO de instalación en la memoria, para cargar los módulos del instalador y el sistema base. El instalador netboot, sin embargo, cargará todo eso desde una réplica de Debian .

Según tu elección, tienes que descargar algunos archivos del instalador desde el subdirectorio hd-media o netboot de debian/dists/bullseye/main/installer-i386/current/images/ en cualquier espejo de Debian:

  • vmlinuz o linux (kernel binario)

  • initrd.gz (imagen inicial de ramdisk)

Puedes elegir entre la versión de texto del instalador (los archivos se encuentran directamente en hd-media o netboot) o la versión gráfica (busca en los respectivos subdirectorios gtk).

Then mount the partition (mount /dev/sdX1 /mnt) and copy the downloaded files to the root directory of the stick.

A continuación, debes crear un archivo de texto llamado syslinux.cfg en el directorio raíz del stick como archivo de configuración para syslinux, que como mínimo debe contener la siguiente línea:

default vmlinuz initrd=initrd.gz

Cambia el nombre del binario del kernel a linux si has utilizado archivos de netboot.

Para el instalador gráfico (de gtk) debes añadir vga=788 al final de la línea. Se pueden añadir otros parámetros según se desee.

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

Si usaste archivos de hd-media, ahora debes copiar el archivo ISO de una imagen de instalación Debian en el stick. (Esto no es necesario para la variante netboot.)

Puedes usar un netinst o una imagen completa de CD/DVD (ver Sección 4.1, “Imágenes oficiales de Debian GNU/Linux de instalación”). Asegúreate de seleccionar una que quepa en la memoria. Ten en cuenta que la imagen netboot mini.iso no es utilizable para este propósito.

When you are done, unmount the USB memory stick (umount /mnt).



[3] No olvides activar el indicador bootable.