Difference between revisions of "USB Installation Media (Español)"

From ArchWiki
Jump to: navigation, search
(Usando Cygwin)
(14 intermediate revisions by 7 users not shown)
Line 1: Line 1:
[[Category:Obteniendo e instalando Arch (Español)]]
+
[[Category:Getting and installing Arch (Español)]]
[[Category:CÓMOs (Español)]]
+
[[ar:USB Installation Media]]
{{i18n|Install from a USB flash drive}}
+
[[bg:USB Installation Media]]
 +
[[de:Installation von einem USB-Stick]]
 +
[[en:USB Installation Media]]
 +
[[it:USB Installation Media]]
 +
[[ja:USB Installation Media]]
 +
[[ro:Instalare prin USB]]
 +
[[ru:USB Installation Media]]
 +
[[tr:USB_ile_kurulum]]
 +
[[zh-CN:USB Installation Media]]
 +
{{Article summary start|Sumario}}
 +
{{Article summary text|Instrucciones multiplataforma sobre cómo crear un USB de arranque que se pueda utilizar para la instalación de Arch Linux, para el mantenimiento del sistema o para fines de recuperación.}}
 +
{{Article summary heading|Relacionado}}
 +
{{Article summary wiki|CD Burning}}
 +
{{Article summary end}}
  
== La nueva y mejorada manera, bajo GNU/Linux ==
+
Esta página aborda varios métodos sobre cómo escribir la instatánea de Arch Linux en una unidad USB (también conocida por ''«unidad flash», «lápiz USB», «llave USB»'', etc.) El resultado será un sistema de tipo LiveCD (''«LiveUSB»'', si se prefiere) que, debido a la naturaleza de [[Wikipedia:es:SquashFS|SquashFS]], descarta todos los cambios una vez que se apaga el equipo.
  
Desde la versión de 2008.06, se proveen imágenes de disco para unidades flash USB. Pueden descargarse desde tu [http://archlinux.org/download/ mirror local] (son los archivos .img). Para instalar, primero asegúrate que el dispositivo USB se encuentra desmontado y ejecuta el siguiente comando (como ''root''):
+
Si desea realizar una instalación completa de Arch Linux desde una unidad USB (es decir, con valores persistentes), véase [[Installing Arch Linux on a USB key]].
  
dd bs=8M if=image.img of=/dev/sd[x]
+
{{Nota|Para arrancar desde un sistema [[Unified Extensible Firmware Interface (Español)|UEFI]], cree un lápiz USB booteable siguiendo [[Unified_Extensible_Firmware_Interface_(Español)#Crear_un_USB_booteable_de_UEFI_desde_la_ISO|estas]] instrucciones.}}
  
donde ''image.img'' es la ruta del archivo img y ''/dev/sd[x]'' es tu dispositivo USB. *'''''Asegúrate de usar /dev/sdx y no /dev/sdx1.''''' '''¡Este es un error muy común!'''
+
== En GNU/Linux ==
  
{{Warning|Este comando eliminará toda la información en tu pendrive. Asegúrese de realizar un backup.}}
+
=== Sobreescribir toda la unidad USB ===
  
===UNetBootin===
+
{{Advertencia|Esta acción destruirá irreversiblemente todos los datos en {{ic|/dev/sdx}}.}}
 +
{{Nota|Este método no es compatible con el arranque UEFI.}}
  
Otra manera de volver el dispositivo USB booteable, es usando [http://unetbootin.sourceforge.net/ UNetBootin]. Esta aplicación puede descargar una gran cantidad de distribuciones para grabar en tu disco. También puedes proveer tu propio archivo de imágen, el cual no no es necesario que sea una imagen especial para USB.
+
{{Nota|Compruebe con {{ic|lsblk}} que el dispositivo USB '''no''' está montado, y asegúrese que usa {{ic|/dev/sdx}} en lugar de {{ic|/dev/sdx1}}. '''¡Estos son errores muy comunes!'''}}
  
== La nueva y mejorada manera, bajo Mac OS X ==
+
# dd bs=4M if=/ruta/a/archlinux.iso of=/dev/sdx
  
Para utilizar dd en tu dispositivo USB bajo Mac es necesario realizar algunas "maniobras especiales". Primero, conecta tu dispositivo USB, OS X lo automontará, y ejecuta
+
{{Nota|Algunos firmware antiguos no interpretan bien el corte de isohybrid para los que el inicio del offset falso de la partición es 0. Véase https://bugs.archlinux.org/task/32189 para obtener una solución que implica a isohybrid.pl.}}
 +
==== Cómo restaurar la unidad USB ====
  
diskutil list
+
Debido a que la imagen ISO es un híbrido que puede ser grabada en un disco o escribirse directamente en una unidad USB, no incluye una tabla de particiones por defecto.
  
en ''Terminal.app''. Debes averiguar como se llama el dispositivo conectado - el mío se llamaba ''/dev/disk1''. Una vez hecho esto, ejecuta
+
Después de instalar Arch Linux y, por tanto, acabado de utilizar la unidad USB, en esta se debe ajustar a cero los primeros 512 bytes ''(es decir, donde se ubica el código de arranque en el MBR y la tabla de particiones no estándar)'' si desea restaurar la funcionalidad del USB completamente:
  
  diskutil unmountDisk /dev/disk1
+
  # dd count=1 bs=512 if=/dev/zero of=/dev/sdx
  
para desmontar las particiones del dispositivo (por ejemplo, /dev/disk1s1) pero manteniendo el dispositivo (por ejemplo, /dev/disk1). Ahora podemos continuar de los mismos pasos que para GNU/Linux que se encuentran arriba (pero usando bs=8192 si estas usando el dd de OS X, el número proviene de  1024*8).
+
A continuación, cree una nueva tabla de particiones (por ejemplo, «msdos») y un sistema de archivos (por ejemplo, EXT4, FAT32) utilizando {{pkg|gparted}}, o desde un terminal:
  
== La nueva y mejorada manera, bajo Windows ==
+
* Para EXT2/3/4 (ajústelo en consecuencia), sería:
  
Para escribir una imagen USB bajo Windows, es necesaria la aplicación [http://shounen.ru/soft/flashnul/ flashnul] ([http://translate.google.com/translate?u=http%3A%2F%2Fshounen.ru%2Fsoft%2Fflashnul%2F&hl=es&ie=UTF8&sl=ru&tl=es versión traducida al español de la página]), [http://www.4shared.com/file/70261292/1d43b6a9/flashnul-09.html/ también disponible aquí], o [http://www.cygwin.com/ Cygwin].
+
: {{bc|<nowiki>
 +
# cfdisk /dev/sdx
 +
# mkfs.ext4 /dev/sdx1
 +
# e2label /dev/sdx1 USB_STICK</nowiki>}}
  
=== Usando Flashnul ===
+
* Para FAT32, instale el paquete {{Pkg|dosfstools}} y ejecute:
  
Desde la consola, ejecuta flashnul con -p para determinar el índice de tu dispositivo USB. Por ejemplo, al ejecutarlo en mi máquina, esto es lo que obtengo:
+
: {{bc|<nowiki>
 +
# cfdisk /dev/sdx
 +
# mkfs.vfat -F32 /dev/sdx1
 +
# dosfslabel /dev/sdx1 USB_STICK</nowiki>}}
  
C:\>flashnul -p
+
=== Sin sobreescribir toda la unidad USB ===
+
Avaible [sic] physical drives:
+
0      size = 200048565760 (186 Gb)
+
1      size = 400088457216 (372 Gb)
+
2      size = 400088457216 (372 Gb)
+
3      size = 4060086272 (3872 Mb)
+
  
En mi caso, con un disco USB de 4 GB, el índice del dispositivo es 3.
+
Este método es un poco más complicado que escribir la imagen directamente con la orden {{ic|dd}}, pero, en cambio, mantiene la unidad utilizable para el almacenamiento de datos distintos de la imagen a grabar. Antes de empezar, asegúrese de que el dispositivo USB está formateado como FAT32,  EXT2/3/4 o Btrfs. Para arrancar [[Unified Extensible Firmware Interface (Español)|UEFI]] y/o interactuar con otros sistemas operativos se debe utilizar FAT32. Por lo tanto, asegúrese de que tiene el paquete ''syslinux'' (versión 4.04 o más reciente).
  
Cuando hallas determinado cual el dispositivo correcto, puedes escribir la imagen a tu disco, invocando ''flashnul'' con el índice correspondiente, -L, y la ruta al archivo de imagen. Por ejemplo,
+
'''1.''' Extraiga la carpeta {{ic|arch}} de la ISO a la unidad USB. Para las placas  base UEFI siga [[Unified_Extensible_Firmware_Interface_(Español)#Crear_un_USB_booteable_de_UEFI_desde_la_ISO|estas]] instrucciones.
  
C:\>flashnul 3 -L path/to/arch/usb.img
+
'''2.''' Instale el gestor de arranque Syslinux:
  
En caso de que estés seguro de lo que estás haciendo, tipea ''yes'', y espera a que termine de escribir al dispositivo. Si te da error de acceso al dispositivo, desconectar y reconectar el pendrive me funcionó.
+
{{Advertencia|Tenga mucho cuidado cuando establezca el punto de montaje para la orden {{ic|dd}} y utilice la unidad '''completa''' en las órdenes siguientes, '''no''' la primera partición. Esto es un error muy común.}}
  
<b>¡Atención!</b>
+
{{Nota|En algunas distribuciones el archivo {{ic|mbr.bin}} puede estar disponible en {{ic|/usr/'''share'''/syslinux/mbr.bin}}.}}
<i>Yo tuve que ejecutarlo con "C:\flashnul\flashnul.exe <b>H:</b> -L c:\archlinux-2008.06-core-i686.img" para que funcione. De otra manera me tiraba constantemente error. -gejr </i>
+
  
=== Usando Cygwin ===
+
$ cd /media/''alguna_carpeta''/arch/boot/syslinux    #El punto de montaje de la unidad USB. No se salte este paso.
 +
# extlinux --install .                          #Escribir exactamente como se ve, incluyendo el punto.
 +
# dd bs=440 conv=notrunc count=1 if=/usr/lib/syslinux/mbr.bin of=/dev/sdx
 +
# parted /dev/sdx toggle 1 boot
  
Asegúrate de que tu instalación de cygwin contiene el paquete dd.
+
'''3.''' Ajuste los archivos de configuración:
  
Pon tu archivo de imagen en tu directorio personal, en mi caso es:
+
{{Nota|Se ''podría'' etiquetar el disco como "{{ic | ARCH_2012XX}}" (con el mes de lanzamiento correspondiente), pero tal vez sería incluso mejor opción utilizar la [[UUID]] ''(de esta manera se puede volver a etiquetar como se quiera después, sin tener que preocuparse de él, o se podría dejar en blanco).'' Si no se hace bien '''será''' lanzado el famoso error: '''30 seconds error'''.}}
  
C:\cygwin\home\John\
+
A continuación se muestra cómo se reemplaza la parte {{ic|1=archisolabel=ARCH_2012XX}} con su equivalente de {{ic|1=archiso'''device'''=/dev/disk/by-uuid/47FA-4071}} para ambos archivos de configuración al mismo tiempo, utilizando una sola orden:
  
Corre cygwin como administrador (requerido por cygwin para acceder al hardware). Para escribir en tu disco USB usa el siguiente comando:
+
{{Nota|Ajuste de modo correcto {{ic|/dev/sdx1}} antes de ejecutar la orden, de lo contrario obtendrá un resultado en blanco (desde el momento en que la unidad {{ic|sdx}} no existe).}}
  
  dd if=image.img of=\\.\[x]:
+
  $ sed -i "s|label=ARCH_2012.*|device=/dev/disk/by-uuid/$(lsblk -no UUID /dev/sdx1)|" archiso_sys{32,64}.cfg
  
donde image.img es la dirección que apunta al archivo img dentro del directorio de cygwin y \\.\[x]: es el dispositivo USB, donde x es la letra designada por windows, en mi caso es "\\.\d:".
+
Si el paquete ''syslinux'' en su distribución es anterior a la versión 4.06, como una solución para los sistemas de archivos FAT32 (no es necesario para EXT4), la línea {{ic|APPEND}} de {{ic|syslinux.cfg}} debería también modificarse:
  
{{Warning|Este comando eliminará toda la información en tu pendrive. Asegúrate de realizar un backup.}}
+
$ sed -i "s|../../|/arch|" syslinux.cfg
  
===UNetBootin===
+
== En Mac OS X ==
  
Otra manera de volver el dispositivo USB booteable, es usando [http://unetbootin.sourceforge.net/ UNetBootin]. Esta aplicación puede descargar una gran cantidad de distribuciones para grabar en tu disco. También puedes proveer tu propio archivo de imágen, el cual no no es necesario que sea una imagen especial para USB.
+
Para poder utilizar la orden dd sobre un dispositivo USB en un Mac, tiene que hacer algunas operaciones especiales. En primer lugar, inserte el dispositivo USB, OS X lo montará automáticamente, y ejecute:
  
==Método viejo desde imagen ISO (cd), deprecado==
+
  diskutil list
*Preparar el pendrive:
+
El archivo de imagen arch-ftp.img pesa alrededor de 150 MB, por lo que puede copiarse en un pendrive de 256 MB. El archivo de imagen arch-core.img  pesa alrededor de ~300 MB, por lo que requiere un pendrive de 512 MB.
+
  
1. Particionar el pendrive.
+
en el Terminal.app. Hay que averiguar cómo se llama el dispositivo USB (sólo tiene que utilizar la orden `mount` o `sudo dmesg | tail`). Ahora ejecute:
Crear una partición de tipo FAT16, y hacerlo booteable. Recuerda su nombre, por ejemplo, /dev/sd[x]1.
+
  
cfdisk /dev/sd[x]
+
  diskutil unmountDisk /dev/disk1
  
2. Crea un sistema de archivos FAT16 (es necesario tener instaladas las dosfstools)
+
para desmontar las particiones en el dispositivo (por ejemplo, /dev/disk1s1) mientras se mantiene montado el dispositivo adecuado (es decir, /dev/disk1). Ahora se puede continuar de acuerdo con las instrucciones de Linux anteriores (pero use bs=8192 con la orden dd, si está utilizando el OS X, el número viene de 1024*8).
 +
 
 +
  dd if=image.iso of=/dev/disk1 bs=8192
 +
  20480+0 records in
 +
  20480+0 records out
 +
  167772160 bytes transferred in 220.016918 secs (762542 bytes/sec)
 +
 
 +
es probablemente una buena idea expulsar el disco en este momento antes de la extracción física :
 +
 
 +
  diskutil eject /dev/disk1
 +
 
 +
== En Windows ==
 +
 
 +
=== Image Writer para Windows ===
 +
 
 +
Descargue el programa desde http://launchpad.net/win32-image-writer y ejecútelo. El navegador de archivos de Win32 Disk Imager considera archivos de imagen los archivos terminados en .img, por lo que si el archivo de imagen que ha seleccionado termina en .iso, tendrá que escribir su nombre de forma manual; esta diferencia de sufijos es, sin embargo, simplemente cosmética,  dado que la imagen se escribirá bien de todos modos. Pulse el botón de grabación. Ahora debería ser capaz de arrancar desde el dispositivo USB e instalar Arch Linux desde el mismo.
 +
 
 +
=== Linux Live USB Creator ===
 +
 
 +
{{Advertencia|Este método no se puede utilizar en la arquitectura dual de la iso.}}
 +
 
 +
[http://www.linuxliveusb.com/ Linux Live USB Creator] se puede utilizar para crear una memoria USB booteable para Arch utilizando una iso descargada manualmente o descargando automáticamente la misma iso. Por lo tanto, proporciona soporte para la instalación automática de VirtualBox en la llave USB que se puede utilizar para arrancar Arch dentro de Windows. Visite la [http://www.linuxliveusb.com/ página principal] para obtener más información.
 +
 
 +
=== Universal USB Installer ===
 +
 
 +
[http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/ Universal USB Installer] es un programa Linux Live USB Creator que le permite elegir entre una selección de distribuciones de Linux para poner en su unidad flash USB.
 +
 
 +
=== UNetbootin ===
 +
 
 +
{{Advertencia|NO USE UNETBOOTIN. Este programa sobreescribe el archivo {{ic|syslinux.cfg}} por defecto y rompe el proceso de carga. Por favor, utilice un programa o método diferente.}}
 +
 
 +
=== El método Flashnul ===
 +
 
 +
[http://shounen.ru/soft/flashnul/ flashnul] es una utilidad para comprobar la funcionalidad y el mantenimiento de memorias flash (USB-Flash, IDE-Flash, SecureDigital, MMC, MemoryStick, SmartMedia, XD, CompactFlash, etc.).
 +
 
 +
Desde un intérprete de órdenes, invoque flashnul con el parámetro ''-p'', y determine qué dispositivo indica como unidad USB. Por ejemplo:
 +
 
 +
C:\>flashnul -p
 
   
 
   
  mkdosfs /dev/sd[x]1
+
  Avaible physical drives:
 +
Avaible logical disks:
 +
C:\
 +
D:\
 +
E:\
 +
 
 +
En este caso, la unidad USB es E:
 +
 
 +
Una vez que haya determinado qué dispositivo es el correcto, puede escribir la imagen al disco, invocando la orden flashnul,  con la letra del dispotivo, el parámetro ''-L'', y la ruta a la imagen. En este caso, sería:
 +
 
 +
C:\>flashnul E: -L path\to\arch.iso
 +
 
 +
Si está realmente seguro de que desea escribir los datos, escriba ''«yes»'', y luego esperar un poco para que pueda escribir. Si se obtiene un error de  ''«access denied error»'', cierre todas las ventanas que tenga abiertas con Explorer.
 +
 
 +
Si está en Vista o Win7, debe abrir la consola como administrador, o de lo contrario flashnul fallará al abrir el lápiz usb como si fuese un dispositivo de bloque y solo será capaz de escribir a través del manejo de la unidad proporcionada por Windows.
 +
 
 +
{{Nota|Necesita utilizar la letra de la unidad en lugar del número. flashnul 1rc1, Windows 7 x64. -bgalakazam}}
 +
 
 +
=== El método Cygwin ===
 +
 
 +
Asegúrese de que la instalación de [http://www.cygwin.com/ Cygwin] contiene el paquete dd. O si no se desea instalar Cygwin, solo tiene que descargar dd para Windows desde http://www.chrysocome.net/dd.
 +
 
 +
Coloque el archivo de imagen en su directorio personal, por ejemplo:
 +
 
 +
C:\cygwin\home\nombre_de_usuario\
 +
 
 +
Ejecute cygwin como administrador (necesario para que cygwin pueda acceder al hardware). Para escribir en el disco USB utilice la siguiente orden:
 +
 
 +
dd if=image.iso of=\\.\[x]:
 +
 
 +
donde {{ic|image.iso}} es la ruta al archivo de imagen ISO en el directorio cygwin y {{ic|\\.\[x]:}} es el dispositivo USB, donde x es la letra designada por windows, en el ejemplo seguido es: «\\.\d:».
 +
 
 +
En cygwin 6.0 busque la salida de la partición correcta con:
 +
 
 +
cat /proc/partitions
 +
 
 +
y escriba la imagen ISO con la información obtenida de la salida.
 +
 
 +
Ejemplo:
 +
 
 +
{{Advertencia|La orden de abajo borra irremediablemente todos los archivos de la memoria USB, así que asegúrese de que no tiene archivos importantes en el lápiz usb antes de hacer esta operación.}}
  
3. Obtener la ISO correspondiente desde www.archlinux.org
+
dd if=image.iso of=/dev/sdb
  
4. Montar la ISO en un directorio temporario
+
=== dd para Windows ===
  
mkdir -p /mnt/archcd
+
Una versión dd con licencia GPL para Windows está disponible en http://www.chrysocome.net/dd. La ventaja de este sobre Cygwin es que la descarga es más pequeña. Úselo como se indica para las instrucciones de Cygwin mencionadas más arriba.
mount -o loop /Path/to/iso /mnt/archcd
+
  
5. Montar el pendrive
+
=== Arrancar la ISO completa desde la RAM ===
  
mkdir -p /mnt/usb/
+
Este método usa [[Syslinux]] y '''[http://www.syslinux.org/wiki/index.php/MEMDISK MEMDISK]''' para cargar toda la imagen ISO en la memoria RAM, así que asegúrese de que tiene suficiente RAM para sostenerlo. Una vez que se realiza la carga y aparece el menú gráfico se puede simplemente remover la memoria USB y, tal vez, incluso utilizarla en otro equipo para iniciar el proceso de nuevo. Por lo tanto, permite el arranque y la instalación de Arch desde (y para) el mismo lápiz USB.
mount /dev/sd[x]1 /mnt/usb/
+
  
6. Copiar la iso al pendrive
+
'''1.''' Formatee la memoria USB en FAT32 y cree las siguientes carpetas:
  
  cp -ra /mnt/archcd/* /mnt/usb/
+
  X:\Boot
 +
X:\Boot\ISOs
 +
X:\Boot\Settings
  
 +
'''2.''' Copie la imagen ISO que desea arrancar a la carpeta «ISOs»  (por ejemplo,'' archlinux-2012.08.04-dual.iso''), y extraiga la última liberación de syslinux desde '''[http://www.kernel.org/pub/linux/utils/boot/syslinux/ aquí]''' (por ejemplo, ''syslinux-4.05.zip''), donde:
  
7. Copiar la información de booteo
+
* {{ic|./win32/syslinux.exe}} podría ubicarse en el escritorio o donde quiera.
  
cd /mnt/usb/isolinux/
+
* {{ic|./memdisk/memdisk}} iría a la carpeta «Settings».
cp vmlinuz /mnt/usb/
+
cp initrd.img /mnt/usb/
+
cp boot.* /mnt/usb/
+
cp isolinux.cfg /mnt/usb/syslinux.cfg
+
  
8. Instalar lilo y syslinux<sup>(1)</sup>
+
Y, en esta última carpeta, cree el archivo {{ic|syslinux.cfg}}:
  
lilo -M /dev/sd[x] mbr
+
{{hc|X:\Boot\Settings\syslinux.cfg|2=
syslinux -s /dev/sd[x]1
+
DEFAULT arch_iso
  
===Luego de bootear desde el pendrive:===
+
LABEL arch_iso
 +
        MENU LABEL Arch Setup
 +
        LINUX memdisk
 +
        INITRD /Boot/ISOs/archlinux-2012.11.01-dual.iso
 +
        APPEND iso}}
  
Comenzar la instalación logueándose como root e invocar el comando "/arch/setup".
+
{{Sugerencia|Si desea agregar más distribuciones ''(Debian y Parted Magic fueron probados)'' es posible hacerlo editando este archivo. Tal vez, incluso, pueda obtener un buen menú y una imagen de fondo, en lugar del predefinido por la ISO de Arch Linux. Remítase a la wiki de [[Syslinux (Español)|Syslinux]].}}
  
El instalador debería montar el dispositivo de origen de manera automática. Si falla, es posible montar el dispositivo de origen en el pendrive manualmente con el comando:
+
'''3.''' Por último, cree un archivo {{ic|*.bat}} en la carpeta donde esté ubicado {{ic|syslinux.exe}} y ejecútelo («ejecute como administrador» si está en Vista o Windows 7):
  
mount /dev/sd[x] /src
+
{{hc|C:\Documents and Settings\username\Desktop\install.bat|
 +
@echo off
 +
syslinux.exe -m -a -d /Boot/Settings X:}}
  
===Notas y problemas:===
+
Terminado.
  
<sup>(1)</sup> Usar lilo no es realmente necesario, ya que syslinux realiza acciones de carga de tipo "floppy". Pero si encuentras errores de tipo "Can't load operating system", es necesario instalarlo.
+
{{Nota|Si obtiene el conocido error '''30 seconds error''' trate de arrancar la versión i686, para lo cual presione la tecla {{Keypress|Tab}} sobre la entrada {{ic|Boot Arch Linux (i686)}} y añada {{ic|vmalloc&#61;448M}} al final. Esto solo se aplica al método MEMDISK. Como referencia: ''Si la imagen es más grande que 128MB y tiene un sistema operativo de 32-bit, entonces tiene que aumentar el uso de memoria máximo de vmalloc''. [http://www.syslinux.org/wiki/index.php/MEMDISK#-_memdiskfind_in_combination_with_phram_and_mtdblock (*)]}}
  
<sup>(2)</sup> Si encuentras errores del tipo de "Cluster sizes larger than 16K not supported" al bootear, esto significa que es necesario instalar una versión más reciente de syslinux.
+
== Véase también ==
  
<sup>(3)</sup> El espacio no utilizado en el pendrive puede ser aprovechado para guardar archivos. Utilizando una aplicación como gparted para particionar el espacio no utilizado.
+
* [http://www.gentoo.org/doc/en/liveusb.xml Documento Gentoo liveusb]

Revision as of 13:17, 29 June 2013

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary end

Esta página aborda varios métodos sobre cómo escribir la instatánea de Arch Linux en una unidad USB (también conocida por «unidad flash», «lápiz USB», «llave USB», etc.) El resultado será un sistema de tipo LiveCD («LiveUSB», si se prefiere) que, debido a la naturaleza de SquashFS, descarta todos los cambios una vez que se apaga el equipo.

Si desea realizar una instalación completa de Arch Linux desde una unidad USB (es decir, con valores persistentes), véase Installing Arch Linux on a USB key.

Nota: Para arrancar desde un sistema UEFI, cree un lápiz USB booteable siguiendo estas instrucciones.

En GNU/Linux

Sobreescribir toda la unidad USB

Advertencia: Esta acción destruirá irreversiblemente todos los datos en /dev/sdx.
Nota: Este método no es compatible con el arranque UEFI.
Nota: Compruebe con lsblk que el dispositivo USB no está montado, y asegúrese que usa /dev/sdx en lugar de /dev/sdx1. ¡Estos son errores muy comunes!
# dd bs=4M if=/ruta/a/archlinux.iso of=/dev/sdx
Nota: Algunos firmware antiguos no interpretan bien el corte de isohybrid para los que el inicio del offset falso de la partición es 0. Véase https://bugs.archlinux.org/task/32189 para obtener una solución que implica a isohybrid.pl.

Cómo restaurar la unidad USB

Debido a que la imagen ISO es un híbrido que puede ser grabada en un disco o escribirse directamente en una unidad USB, no incluye una tabla de particiones por defecto.

Después de instalar Arch Linux y, por tanto, acabado de utilizar la unidad USB, en esta se debe ajustar a cero los primeros 512 bytes (es decir, donde se ubica el código de arranque en el MBR y la tabla de particiones no estándar) si desea restaurar la funcionalidad del USB completamente:

# dd count=1 bs=512 if=/dev/zero of=/dev/sdx

A continuación, cree una nueva tabla de particiones (por ejemplo, «msdos») y un sistema de archivos (por ejemplo, EXT4, FAT32) utilizando gparted, o desde un terminal:

  • Para EXT2/3/4 (ajústelo en consecuencia), sería:
# cfdisk /dev/sdx
# mkfs.ext4 /dev/sdx1
# e2label /dev/sdx1 USB_STICK
  • Para FAT32, instale el paquete dosfstools y ejecute:
# cfdisk /dev/sdx
# mkfs.vfat -F32 /dev/sdx1
# dosfslabel /dev/sdx1 USB_STICK

Sin sobreescribir toda la unidad USB

Este método es un poco más complicado que escribir la imagen directamente con la orden dd, pero, en cambio, mantiene la unidad utilizable para el almacenamiento de datos distintos de la imagen a grabar. Antes de empezar, asegúrese de que el dispositivo USB está formateado como FAT32, EXT2/3/4 o Btrfs. Para arrancar UEFI y/o interactuar con otros sistemas operativos se debe utilizar FAT32. Por lo tanto, asegúrese de que tiene el paquete syslinux (versión 4.04 o más reciente).

1. Extraiga la carpeta arch de la ISO a la unidad USB. Para las placas base UEFI siga estas instrucciones.

2. Instale el gestor de arranque Syslinux:

Advertencia: Tenga mucho cuidado cuando establezca el punto de montaje para la orden dd y utilice la unidad completa en las órdenes siguientes, no la primera partición. Esto es un error muy común.
Nota: En algunas distribuciones el archivo mbr.bin puede estar disponible en /usr/share/syslinux/mbr.bin.
$ cd /media/alguna_carpeta/arch/boot/syslinux    #El punto de montaje de la unidad USB. No se salte este paso.
# extlinux --install .                           #Escribir exactamente como se ve, incluyendo el punto.
# dd bs=440 conv=notrunc count=1 if=/usr/lib/syslinux/mbr.bin of=/dev/sdx
# parted /dev/sdx toggle 1 boot

3. Ajuste los archivos de configuración:

Nota: Se podría etiquetar el disco como " ARCH_2012XX" (con el mes de lanzamiento correspondiente), pero tal vez sería incluso mejor opción utilizar la UUID (de esta manera se puede volver a etiquetar como se quiera después, sin tener que preocuparse de él, o se podría dejar en blanco). Si no se hace bien será lanzado el famoso error: 30 seconds error.

A continuación se muestra cómo se reemplaza la parte archisolabel=ARCH_2012XX con su equivalente de archisodevice=/dev/disk/by-uuid/47FA-4071 para ambos archivos de configuración al mismo tiempo, utilizando una sola orden:

Nota: Ajuste de modo correcto /dev/sdx1 antes de ejecutar la orden, de lo contrario obtendrá un resultado en blanco (desde el momento en que la unidad sdx no existe).
$ sed -i "s|label=ARCH_2012.*|device=/dev/disk/by-uuid/$(lsblk -no UUID /dev/sdx1)|" archiso_sys{32,64}.cfg

Si el paquete syslinux en su distribución es anterior a la versión 4.06, como una solución para los sistemas de archivos FAT32 (no es necesario para EXT4), la línea APPEND de syslinux.cfg debería también modificarse:

$ sed -i "s|../../|/arch|" syslinux.cfg

En Mac OS X

Para poder utilizar la orden dd sobre un dispositivo USB en un Mac, tiene que hacer algunas operaciones especiales. En primer lugar, inserte el dispositivo USB, OS X lo montará automáticamente, y ejecute:

 diskutil list

en el Terminal.app. Hay que averiguar cómo se llama el dispositivo USB (sólo tiene que utilizar la orden `mount` o `sudo dmesg | tail`). Ahora ejecute:

 diskutil unmountDisk /dev/disk1

para desmontar las particiones en el dispositivo (por ejemplo, /dev/disk1s1) mientras se mantiene montado el dispositivo adecuado (es decir, /dev/disk1). Ahora se puede continuar de acuerdo con las instrucciones de Linux anteriores (pero use bs=8192 con la orden dd, si está utilizando el OS X, el número viene de 1024*8).

 dd if=image.iso of=/dev/disk1 bs=8192
 20480+0 records in
 20480+0 records out
 167772160 bytes transferred in 220.016918 secs (762542 bytes/sec)

es probablemente una buena idea expulsar el disco en este momento antes de la extracción física :

 diskutil eject /dev/disk1

En Windows

Image Writer para Windows

Descargue el programa desde http://launchpad.net/win32-image-writer y ejecútelo. El navegador de archivos de Win32 Disk Imager considera archivos de imagen los archivos terminados en .img, por lo que si el archivo de imagen que ha seleccionado termina en .iso, tendrá que escribir su nombre de forma manual; esta diferencia de sufijos es, sin embargo, simplemente cosmética, dado que la imagen se escribirá bien de todos modos. Pulse el botón de grabación. Ahora debería ser capaz de arrancar desde el dispositivo USB e instalar Arch Linux desde el mismo.

Linux Live USB Creator

Advertencia: Este método no se puede utilizar en la arquitectura dual de la iso.

Linux Live USB Creator se puede utilizar para crear una memoria USB booteable para Arch utilizando una iso descargada manualmente o descargando automáticamente la misma iso. Por lo tanto, proporciona soporte para la instalación automática de VirtualBox en la llave USB que se puede utilizar para arrancar Arch dentro de Windows. Visite la página principal para obtener más información.

Universal USB Installer

Universal USB Installer es un programa Linux Live USB Creator que le permite elegir entre una selección de distribuciones de Linux para poner en su unidad flash USB.

UNetbootin

Advertencia: NO USE UNETBOOTIN. Este programa sobreescribe el archivo syslinux.cfg por defecto y rompe el proceso de carga. Por favor, utilice un programa o método diferente.

El método Flashnul

flashnul es una utilidad para comprobar la funcionalidad y el mantenimiento de memorias flash (USB-Flash, IDE-Flash, SecureDigital, MMC, MemoryStick, SmartMedia, XD, CompactFlash, etc.).

Desde un intérprete de órdenes, invoque flashnul con el parámetro -p, y determine qué dispositivo indica como unidad USB. Por ejemplo:

C:\>flashnul -p

Avaible physical drives:
Avaible logical disks:
C:\
D:\
E:\

En este caso, la unidad USB es E:

Una vez que haya determinado qué dispositivo es el correcto, puede escribir la imagen al disco, invocando la orden flashnul, con la letra del dispotivo, el parámetro -L, y la ruta a la imagen. En este caso, sería:

C:\>flashnul E: -L path\to\arch.iso

Si está realmente seguro de que desea escribir los datos, escriba «yes», y luego esperar un poco para que pueda escribir. Si se obtiene un error de «access denied error», cierre todas las ventanas que tenga abiertas con Explorer.

Si está en Vista o Win7, debe abrir la consola como administrador, o de lo contrario flashnul fallará al abrir el lápiz usb como si fuese un dispositivo de bloque y solo será capaz de escribir a través del manejo de la unidad proporcionada por Windows.

Nota: Necesita utilizar la letra de la unidad en lugar del número. flashnul 1rc1, Windows 7 x64. -bgalakazam

El método Cygwin

Asegúrese de que la instalación de Cygwin contiene el paquete dd. O si no se desea instalar Cygwin, solo tiene que descargar dd para Windows desde http://www.chrysocome.net/dd.

Coloque el archivo de imagen en su directorio personal, por ejemplo:

C:\cygwin\home\nombre_de_usuario\

Ejecute cygwin como administrador (necesario para que cygwin pueda acceder al hardware). Para escribir en el disco USB utilice la siguiente orden:

dd if=image.iso of=\\.\[x]:

donde image.iso es la ruta al archivo de imagen ISO en el directorio cygwin y \\.\[x]: es el dispositivo USB, donde x es la letra designada por windows, en el ejemplo seguido es: «\\.\d:».

En cygwin 6.0 busque la salida de la partición correcta con:

cat /proc/partitions

y escriba la imagen ISO con la información obtenida de la salida.

Ejemplo:

Advertencia: La orden de abajo borra irremediablemente todos los archivos de la memoria USB, así que asegúrese de que no tiene archivos importantes en el lápiz usb antes de hacer esta operación.
dd if=image.iso of=/dev/sdb

dd para Windows

Una versión dd con licencia GPL para Windows está disponible en http://www.chrysocome.net/dd. La ventaja de este sobre Cygwin es que la descarga es más pequeña. Úselo como se indica para las instrucciones de Cygwin mencionadas más arriba.

Arrancar la ISO completa desde la RAM

Este método usa Syslinux y MEMDISK para cargar toda la imagen ISO en la memoria RAM, así que asegúrese de que tiene suficiente RAM para sostenerlo. Una vez que se realiza la carga y aparece el menú gráfico se puede simplemente remover la memoria USB y, tal vez, incluso utilizarla en otro equipo para iniciar el proceso de nuevo. Por lo tanto, permite el arranque y la instalación de Arch desde (y para) el mismo lápiz USB.

1. Formatee la memoria USB en FAT32 y cree las siguientes carpetas:

X:\Boot
X:\Boot\ISOs
X:\Boot\Settings

2. Copie la imagen ISO que desea arrancar a la carpeta «ISOs» (por ejemplo, archlinux-2012.08.04-dual.iso), y extraiga la última liberación de syslinux desde aquí (por ejemplo, syslinux-4.05.zip), donde:

  • ./win32/syslinux.exe podría ubicarse en el escritorio o donde quiera.
  • ./memdisk/memdisk iría a la carpeta «Settings».

Y, en esta última carpeta, cree el archivo syslinux.cfg:

X:\Boot\Settings\syslinux.cfg
DEFAULT arch_iso

LABEL arch_iso
        MENU LABEL Arch Setup
        LINUX memdisk
        INITRD /Boot/ISOs/archlinux-2012.11.01-dual.iso
        APPEND iso
Sugerencia: Si desea agregar más distribuciones (Debian y Parted Magic fueron probados) es posible hacerlo editando este archivo. Tal vez, incluso, pueda obtener un buen menú y una imagen de fondo, en lugar del predefinido por la ISO de Arch Linux. Remítase a la wiki de Syslinux.

3. Por último, cree un archivo *.bat en la carpeta donde esté ubicado syslinux.exe y ejecútelo («ejecute como administrador» si está en Vista o Windows 7):

C:\Documents and Settings\username\Desktop\install.bat
@echo off
syslinux.exe -m -a -d /Boot/Settings X:

Terminado.

Nota: Si obtiene el conocido error 30 seconds error trate de arrancar la versión i686, para lo cual presione la tecla Template:Keypress sobre la entrada Boot Arch Linux (i686) y añada vmalloc=448M al final. Esto solo se aplica al método MEMDISK. Como referencia: Si la imagen es más grande que 128MB y tiene un sistema operativo de 32-bit, entonces tiene que aumentar el uso de memoria máximo de vmalloc. (*)

Véase también