Cómo instalar Arch desde un liveusb sin problemas

Debido a las numerosas recomendaciones recibidas, me animé a probar Arch Linux. Uno de los pocos problemas con los que me encontré es que cuando creé el LiveUSB de Arch con Unetbootin, me arrancaba fenómeno, pero en un momento, apenas antes de cargar el instalador, se colgaba diciendo ERROR: boot device didn’t show up after 30 seconds y me dejaba simplemente con un terminal de ramfs. Al parecer, esto se debe a un bug en Arch, que es fácil de solucionar.


Todo lo que hay que hacer es cambiarle la etiqueta a la unidad USB que estés utilizando o, mejor aún, cambiar el archivo de configuración que usa el LiveUSB de Arch para detectar la unidad de booteo.

1. Cambiar el archivo de configuración

Una vez que creaste tu Live USB de Arch con Unetbootin, abrí el archivo syslinux.cfg y buscá todas las entradas donde aparece archisolabel=VERSION_ARCH, donde VERSION_ARCH es el número de versión de Arch que descargaste. En mi caso, estaba así: archisolabel=ARCH_201005.

Lo que hay que hacer es cambiar el valor de la variable archisolabel por el nombre de la partición de tu USB donde se encuentra Arch. Para descubirlo, lo más fácil es usar el explorador de archivos. Por ejemplo, abrí el pendrive con Nautilus hacé clic derecho > Propiedades y fijate qué dice luego de Nombre.

Una vez que tenés ese dato, volvé al archivo syslinux.cfg y reemplazá VERSION_ARCH por el nombre correcto de la etiqueta. En caso de que posea espacios, yo intentaría encerrando el nombre de la etiqueta entre comillas.

2. Cambiar la etiqueta de la partición donde se encuentran los archivos de instalación

La otra opción, como es obvio, es cambiar la etiqueta de la partición donde se encuentran los archivos de instalación de Arch (en el caso típico de un LiveUSB, en la única partición de tu USB) por el valor de la variable archisolabel que aparece en syslinux.cfg. Es verdad que el otro método es mucho más práctico y sencillo, pero me pareció una buena oportunidad para mostrar cómo cambiar las etiquetas de diferentes tipos de particiones. La forma más sencilla de conseguirlo es instalando gparted.

En Ubuntu, eso sería:

sudo apt-get install gparted

Una vez instalado, abrí gparted. Abrí el menú Gparted > Dispositivos > /dev/sdb. Luego, seleccioná la partición en cuestión, hacé clic derecho > Desmontar. Finalmente, clic derecho otra vez > Etiqueta y escribí el nombre de etiqueta correcto. En mi caso, sería ARCH_201005.

Hacer esto mismo desde un terminal es un poquito más complicado ya que dependiendo de qué sistema de archivos tenga asignada la partición, habrá que instalar la herramienta apropiada.

sudo apt-get install mtools        # fat
sudo apt-get install ntfsprogs # ntfs
sudo apt-get install e2fsprogs # ext2, ext3 & ext4
sudo apt-get install jfsutils # jfs
sudo apt-get install reiserfsprogs # reiserfs
sudo apt-get install xfsprogs # xfs

Luego, hay que desmontar la partición. Para hacerlo, primero tenemos que saber dónde se encuentra.

sudo fdisk -l
sudo umount NOMBRE

Reemplazá NOMBRE por el nombre de la partición o la ruta donde se encuentra montada. Por ejemplo, sudo umount /dev/sdb1 o sudo umount /media/miusb.

Nota: en los ejemplos que siguen, reemplazá PARTICION por el nombre de la partición (ej.: /dev/sdb1) y ETIQUETA por el nombre de etiqueta que querés asignarle.

FAT

Para verificar el nombre de etiqueta actual:

sudo mlabel -i PARTICION -s ::

Para cambiar la etiqueta del dispositivo:

sudo mlabel -i PARTICION ::ETIQUETA

NTFS

Para verificar el nombre de etiqueta actual:

sudo ntfslabel PARTICION

Para cambiar la etiqueta del dispositivo (128 caracteres máximo):

sudo ntfslabel PARTICION ETIQUETA

En caso de recibir un error similar Total number of sectors (7831520) not a multiple of sectors per track (63)!, forzá el salteo de ese chequeo escribiendo:

echo mtools_skip_check=1 >> ~/.mtoolsrc

EXT2, EXT3 & EXT4

Para verificar el nombre de etiqueta actual:

sudo e2label PARTICION

Para cambiar la etiqueta del dispositivo (16 caracteres máximo):

sudo e2label PARTICION ETIQUETA

JFS

Para verificar el nombre de etiqueta actual:

sudo jfs_tune -l PARTICION

Para cambiar la etiqueta del dispositivo (16 caracteres máximo):

sudo jfs_tune -L ETIQUETA PARTICION

REISERFS

Para cambiar la etiqueta del dispositivo (16 caracteres máximo):

sudo reiserfstune -l ETIQUETA PARTICION

XFS

Para verificar el nombre de etiqueta actual:

xfs_admin -l PARTICION

Para cambiar la etiqueta del dispositivo (12 caracteres máximo):

sudo xfs_admin -L ETIQUETA PARTICION
Para más información sobre cómo cambiar la etiqueta de las particiones de tu dispositivo USB, te recomiendo leer este excelente tutorial del wiki de Ubuntu.
Actualización: otra solución es esperar los 30 segundos. Cuando estemos en el shell de la ramfs, hay que crear el link simbólico a nuestro usb. Esto se logra escribiendo algo como esto: ln -s /dev/sdb1 /dev/archiso. Y luego hay que ingresar el comando exit. El truco es reemplazar sdb1 por el que corresponda a tu disco usb. Es posible descubrir esto fácilmente utilizando la Utilidad de Discos que viene con GNOME. Luego, /dev/archiso debe ser reemplazado por el nombre del archivo por el que tira error. En caso de que no te deje ejecutar este comando diciendo que el archivo no existe, primero tenes que crear todos los directorios, luego navegar hasta ahí y finalmente ejecutar el comando ln. Quedaría así, por ejemplo: mkdir -p /dev/disk/by-label luego cd /dev/disk/by-label y finalmente ln -s /dev/sdb1 ARCHISO_201105. Este ejemplo vale en el caso de que todo el error haya surgido por no encontrar el archivo /dev/disk/by-label/ARCHISO_201105.

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   LlorchYisus dijo

    Hay un método muchísimo más fácil:

    dd if=archlinux-2010.05-{core|netinstall}-{i686|x86_64|dual}.iso of=/dev/sdx

    1.    Cesar dijo

      me podrías ayudar? ya usé ese comando que pones dd y al bootear con la usb me dice que el .bin está dañado .. ya probé bajando de nuevo el iso pero sigue con lo mismo …
      /home/marduk/Descargas# dd if=archlinux-2015.03.01-dual.iso of=/dev/sdb1

      me falta algo? o está mal algo?
      Gracias

      1.    usemoslinux dijo

        Hola Cesar!

        Creo que sería mejor que plantees esta consulta en nuestro servicio de preguntas y respuestas llamado Ask DesdeLinux a fin de que toda la comunidad pueda ayudarte con tu problema.

        Un abrazo, Pablo.

  2.   Usemos Linux dijo

    Upa! Interesante!
    Gracias x compartir!
    Saludos! Pablo.

  3.   Miquel Mayol i Tur dijo

    Sería interesante saber la hipotética entrada de GRUB/BURG para arrancar desde pendrive como ISO, puesto que desgraciadamente no está unificado y cada ISO de cada distribución debe llamarse de una manera distinta.

  4.   David Amaro dijo

    Yo también tuve ese error con Unetbootin.
    Lo que me sucedió después fue peor porque había dejado la partición home para el nuevo sistema, y la elegí como punto de montaje, pero ¡me la formateo! y ni modo se perdió todo :(.
    Les pregunto: ¿Hay alguna forma de instalar Arch dejando la partición home intacta?

    Saludos

  5.   Usemos Linux dijo

    Excelente tu aporte Mark!
    Muchísimas gracias x compartirlo.
    Un abrazo y feliz año! Pablo.

  6.   Mark dijo

    Hola Mario, pues sí que hay 2 kernels oficiales: está el que se instala por defecto normalmente (en el paquete kernel26) y después hay un kernel de soporte extendido, también considerado estable pero que se actualiza menos (generalmente solo revisiones, es un 2.6.32.X ahora mismo).

    El paquete de éste es kernel26-lts y está en core también («core» es el repositorio base en Arch).

    Saludos y feliz año! 🙂

  7.   Mark dijo

    En verdad, las imágenes de instalación de Arch son híbridas ahora; las ISOs para CDs están unificadas con las imágenes para USBs en un mismo fichero. Así que a la hora de instalar Arch desde un USB con copiar la imagen al USB directamente es suficiente.

    Ejecutando por ejemplo: `dd if=archlinux-2010.05-netinstall-i686.iso of=/dev/sdb` ya se tendría una unidad USB «bootable» con la imagen de instalación en red de 32-bits (/dev/sdb designa el USB, no una partición del mismo (y claramente ésto borrará los datos que pueda haber en él); además dd tiene que se llamado como root o con privilegios adecuados).

    Las imágenes Archboot de Tobias Powalowski [1] también son híbridas, y además contienen los kernels standard y LTS tanto para 32 como 64 bits en la misma imagen :).

    Los usuarios de Windows pueden usar flashnul, dd para Windows o cualquier escritor de imágenes en USB que prefieran.

    Un saludo.

    [1]: https://wiki.archlinux.org/index.php/Archboot

  8.   Mark dijo

    No sé cómo estará en este punto el instalador oficial de Arch (el que está en las imágenes oficiales) hace bastante tiempo que no hago una instalación de Arch así.

    Pero sí que se puede, al menos en el instalador que tiene Archboot (otra imágen para instalar Arch, una especie de todo en uno) cuando estableces el punto de montaje de la partición que quieres te pregunta si quieres crear un sistema de ficheros nuevo en esa partición (es decir, si quieres formatearla); con que le digas que no a esa pregunta montará la partición dónde le digas (e.g. /home, /var, …) con el sistema de ficheros que habías seleccionado y sin formatearla.

    Espero que te sirva de algo, la última versión de Archboot la puedes descargar de aquí (el enlace debería redirigirte a un mirror cercano a tu localización): https://downloads.archlinux.de/iso/archboot/latest

  9.   @llomellamomario dijo

    Mira, ya se otra cosilla mas xD Gracias por la aclaración

  10.   @llomellamomario dijo

    Mark, me has quitado lo que iba a comentar xD Por cierto en Arch Linux que yo sepa no hay kernels standart o LTS, hay un kernel para 32 y otro para 64 y punto. Las actualizaciones son para todos igual y es cuando sala una version nueva y esta haya sido probada. Y felicidades por pasarte a Arch! Año nuevo, distro nueva. Muy probablemente no te arrepientas. Salu2 y Feliz Año!

  11.   @llomellamomario dijo

    Mark, me has quitado lo que iba a comentar xD Por cierto en Arch Linux que yo sepa no hay kernels standart o LTS, hay un kernel para 32 y otro para 64 y punto. Las actualizaciones son para todos igual y es cuando sala una version nueva y esta haya sido probada. Y felicidades por pasarte a Arch! Año nuevo, distro nueva. Muy probablemente no te arrepientas. Salu2 y Feliz Año!