Finalmente me decidí a cambiar mi viejo y querido Slackware 14.2 por Devuan Jessie 1.0 en mi notebook. Fue una decisión difícil pero lo hice por un motivo loable: colaborar con el soporte y difusión del proyecto Devuan.

El primer paso fue descargar una imagen ISO de Devuan y grabarla en un pendrive para bootear e instalar el sistema. Por ello, este artículo explica cómo crear un USB booteable en Linux, desde línea de comandos, utilizando la herramienta dd. Simple, fácil y rápido.

Descargar la imagen ISO que se desea copiar al pendrive. Típicamente se tratará de una imagen de instalación o LiveCD de una distribución GNU/Linux o cualquier otro sistema operativo o utilitario.

Conectar el dispositivo USB al sistema e identificar el nombre de dispositivo asignado por el kernel Linux. Esto se hace examinando los mensajes del kernel con la herramienta grep:

20:21 root@vaio emi # grep -i disk /var/log/dmesg
[    0.636781] VFS: Disk quotas dquot_6.6.0
[    3.758494] sd 0:0:0:0: [sda] Attached SCSI disk
[   14.110446] sd 8:0:0:0: [sdb] Attached SCSI removable disk

Buscar (ignorando mayúsculas/minúsculas con el parámetro -i) palabras como "disk", "removable", "scsi" u otras. En los mensajes del kernel Linux, el nombre de dispositivo asignado al (valga la redundancia) dispositivo USB aparece entre corchetes. En este caso se observa que el kernel ha asignado el nombre "sdb".

Para asegurarse de no cometer errores que puedan provocar la pérdida de datos e información (al escribir la imagen ISO en el dispositivo equivocado), es posible corroborar que se trata del pendrive USB conectado examinando su tabla de particiones. Es posible listar las aprticiones del dispositivo /dev/sdb utilizando la opción -l:

20:21 root@vaio emi # fdisk -l /dev/sdb
Disk /dev/sdb: 28.9 GiB, 30979129344 bytes, 60506112 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xa6885f4f

Device     Boot Start      End  Sectors  Size Id Type
/dev/sdb1        8064 60506111 60498048 28.9G  c W95 FAT32 (LBA)

Efectivamente se trata de un pendrive de 32 GB (28,9 GiB) que contiene una única partición "sdb1" con un sistema de archivos FAT32.

También es posible recurrir a herramientas como lsusb, las cuales presentan información acerca de los dispositivos conectados vía USB, aunque éstas no suelen estar instaladas por defecto en la mayoría de las distribuciones GNU/Linux.

A continuación es posible utilizar dd para copiar la iamgen ISO al pendrive. Este proceso reemplaza la tabla de particiones del dispositivo por una nueva, tal como lo especifica la imagen.

El utilitario dd posee dos argumentos importantes: if y of:

  • if: (input file) indica el archivo o dispositivo origen, en este caso deberá indicar la ruta al archivo de la iamgen a grabar.
  • of: (output file) indica el archivo o dispositivo destino, en este caso deberá indicar la ruta al dispositivo USB.

Luego los parámetros bs=4096 conv=sync,noerror indican el tamaño de bloque a utilizar durante la coopia (4096 bytes) y las opciones de conversión para ignorar los errores en la copia del último bloque (difícilmente el tamaño de archivo sea múltiplo de 4096, lo que arrojaría un error de entrada al intentar copiar el último bloque, de tamaño menor a 4096). Se utiliza un tamaño de bloque grande para que la copia sea más rápida.

De esta forma se copia el archivo que contiene la imagen ISO al dispositivo /dev/sdb:

20:22 root@vaio emi # dd if=/home/emi/Downloads/devuan_jessie_1.0.0_amd64_desktop-live.iso of=/dev/sdb bs=4096 conv=sync,noerror
213794+1 records in
213795+0 records out
868221495 bytes (868 MB, 828 MiB) copied, 367.554 s, 2.4 MB/s

Al finalizar la copia es posible extraer la unidad USB, previamente forzando la completación de todas las escrituras pendientes en los buffers del sistema operativo (para garantizar que se haya finalizado la escritura en el pendrive) mediante sync:

20:22 root@vaio emi # sync

Extraer la unidad y conectar donde sea necesario.

Para más información, revisar las páginas de manual de los utilitarios mencionados:

man grep
man dmesg
man fdisk
man dd
man sync


Tal vez pueda interesarte


Compartí este artículo