Install to USB From within Linux-es

From DSL Wiki

   [Volver a la Página superior o a la principal]  [In other languages: English ]

Contents

Introducción

El proceso básico para instalar DSL desde otra distro Linux es:

  1. Obtener DSL y tu gestor de arranque (GRUB o Syslinux)
  2. Reformatear/reparticionar tu pendrive (o símplemente vaciarlo)
  3. Poner el contenido de la ISO actual de DSL en el pendrive
  4. Activar el arranque y poner el gestor de arranque
  5. Configurar el gestor de arranque (asegurarte de que sabe donde está el dispositivo de arranque)

Lee bien los Requisitos antes de formatear. Si alguno de los tutoriales no te funciona, prueba otro antes de hacer cambios drásticos o maldecir al autor original. Solo es que a cierto hardware no le gustan ciertas configuraciones.

Requisitos

  • Si quieres comenzar límpiamente, deberías reparticionar y formatear tu unidad USB (siguiente capítulo de ésta página). Para algunos tipos de instalación no se requiere, pero es buena idea. En cualquier caso, TEN CUIDADO. Las herramientas de particionado y formateado pueden borrar también tu disco duro. No hay premio por reformatear tu disco duro.
  • Necesitarás saber la localización (nodo del dispositivo) de tu unidad flash. Será algo como /dev/sda. Un modo de averigüarlo es abrir un terminal y ejecutar:
       fdisk -l

Quizá necesites emplear sudo ... pero ten cuidado. fdisk es una gran herramienta para la destrucción masiva de tus datos.

Alternativamente puedes sacar tu pincho, a continuación volverlo a enchufar y emplear:

       dmesg | tail

dmesg probablemente te indique qué nodo de dispositivo apareció en ... (sdb1, sda2, o algo así).

o ... Si estás empleando una distro que automonta tu unidad USB, éste debería aparecer en la lista de montaje:

       mount

Símplemente busca tu dispositivo en la lista. De nuevo, ¡no la líes con tu disco duro!

Formatear Tu Unidad Flash (la mayoría de instalaciones)

Esto aplica a casi todos los tutoriales de ahí abajo. Selecciona primero un tutorial porque quizá no necesites reparticionar/reformatear tu unidad.

Si quieres/necesitas hacerlo...

En este momento (finales de 2008), existen principalmente dos herramientas para reparticionar y formatear tu unidad.

  • Una es GParted, la GNU Partitioning Tool.
  • La otra es fdisk, una herramienta de línea de comandos.

Probablemente debieras empezar con GParted. Si no sale bien, prueba fdisk.

En ambos casos, reparticionar solo debiera llevarte unos cuantos minutos (¡Como máximo!).


Con gParted

GParted es una herramienta de particionado con interfáz gráfica basada en GTK. Puedes descargarla mediante apt-get or Synaptic, si tu distro es basada en Debian (por ejemplo, Ubuntu). También puedes visitar el [sitio web de GParted] y descargar un CD Live que arranca diréctamente a GParted. Uses la versión que uses, el proceso es simple:

  1. HAZ COPIA DE SEGURIDAD DE LOS DATOS DE TU USB. Estás a punto de eliminarlo todo ... ¡para siempre!
  2. Abre GParted (el programa)
  3. Selecciona tu unidad (lista desplegable de arriba a la derecha). NO SELECCIONES EL DISCO EQUIVOCADO.
  4. Borra todas las particiones existentes de tu unidad (clic con el botón derecho sobre cada barra de partición y a continuación, selecciona eliminar)
  5. Crea una partición grande para toda la unidad (clic con el botón derecho, nueva partición, y asígnale todo el espacio de la unidad)
  6. Pon el formato de la unidad a FAT16 (el sistema de archivos más compatible que hay; clic con el botón derecho y asignar con 'formatear a')
  7. COMPRUEBA QUE SELECCIONASTE LA UNIDAD CORRECTA ... y haz clic en 'aplicar' (el tic verde). En poco tiempo GParted te indicará si lo logró o si falló. Si tienes problemas, prueba el proceso completo de nuevo.
  8. Después de reparticionar, activa el arranque (clic con el botón derecho y 'administrar flags').

¡Hecho! Vé a Instalar una ISO y un Gestor de Arranque.

Si pasaste por todo esto y reparticionaste accidentalmente tu disco duro principal ... (1) eres realmente espesito (2) quizá puedas salvar tus datos si NO REINICIAS y (3) comienzar a buscar consejo (4) no le digas a nadie lo que lo hiciste. Nunca.

Nota: quizás puedas usar Test Disk (¡al menos mientras no escribas ningún archivo más en disco!)

Con fDisk

fdisk es una alternativa en línea de comandos (terminal) a GParted. Para ejecutar fdisk, usa:

       fdisk /dev/[UNIDADUSB]

Donde [UNIDADUSB] es tu unidad. Quizá sea sda, sdb ... Dependerá de tu sistema. Sólo asegúrate de que NO SELECCIONAS TU DISCO DURO.

  1. Usa 'd' para borrar particiones existentes hasta que no quede ninguna.
  2. Usa 'n', 'p', '1' para crear una nueva partición primaria.
  3. Usa 'a' para hacerla arrancable.
  4. Usa 't', 'b' para hacerla W95 FAT32. ¡No te olvides de darle a la 'a' para hacerla arrancable!
  5. Usa 'p' para ver tus cambios.

Tras configurar tu partición en /dev/sdX, debería tener una pinta como ésta:

       Device     Boot      Start         End      Blocks   Id  System
       /dev/sdX1   *           1         1021      253177    b  W95 FAT32

Finalmente, escribe la nueva tabla de particiones dándole a la 'w' para grabar los cambios y salir.

Es posible que fdisk genere un error (el Kernel aún usa la vieja tabla de particiones, por favor reinicia, etc.). Quizá tengas que reiniciar, pero primero intenta cargar la nueva partición al kernel ejecutando:

       partprobe /dev/[UNIDADUSB]

Entonces, abre nuevamente fdisk y lee la tabla de particiones para ver si se encalló (fdisk -l /dev/[UNIDADUSB]). Si no se encalló, tendrás que reiniciar.

Después de salir de fdisk, necesitarás usar mkfs para crear un sistema de ficheros FAT16 o FAT32. Por ejemplo:

        mkfs.vfat -F 16 /dev/sdX1

"-F 32" creará una partición FAT32; "-F 16" hará una de FAT16.


Modificar el MBR (algunos casos)

Si juegas mucho con tu unidad USB, quizá necesites reescribir su Registro Maestro de Arranque (MBR ó Master Boot Record). Esto no debería ser necesario salvo que haya otro gestor de arranque cachondo en el MBR (como por ejemplo, si estuviste experimentando con otra distro linux arrancable por USB).

Una regla para cuando se trabaja con el MBR: ¡¡¡TEN *MUCHO* CUIDADO DE NO BORRAR EL MBR DE TU DISCO DURO!!!

1. Desde la línea de comandos, usa dd. Reemplaza sdX con la ruta a tu unidad USB:

       dd if=/dev/zero of=/dev/sdX bs=446 count=1

2. Aquí hay dos maneras de reemplazar el MBR

O bien, copia el gestor de arranque desde Syslinux:
       locate mbr.bin #locate the file mbr.bin; el comando 'locate' no existe en todos los sistemas - prueba también 'find' (Lée el manual)
       cat /somepath/share/syslinux/mbr.bin > /dev/sdX #reemplaza sdX por la ruta a tu unidad flash
O SI NO, instala ms-sys y empléalo para reemplazar tu viejo MBR:
       ms-sys -s /dev/sdX

Método I: Instalación Empotrada Típica (Syslinux + QEMU)

Ésta es probablemente la más rápida/fácil instalación manual. ¡Cuatro pasos fáciles!

La Instalación Empotrada Típica incluye el emulador de procesador QEMU y Syslinux. Instalando ambos puedes arrancar tanto desde dentro de Linux o Windows (con QEMU), como natívamente desde la unidad USB (con Syslinux).

Desafortunadamente, éste método NO da una instalación de 50 MB porque QEMU es (comparativamente) grande. Necesitarás unos 110 MB en total para la instalación.

Pasos para la instalación:

  1. Descarga el archivo comprimido dsl-embedded.zip
  2. Monta la unidad USB
  3. Descomprime el archivo dsl-embedded.zip en tu unidad USB
  4. Desmonta la unidad USB
  5. Usa syslinux para hacerla arrancable:
       syslinux -s /dev/sdX1

¡Hecho!

Notas:

  • Lée las notas sobre Syslinux con DSL
  • Si ésta instalación no te funciona, sopesa emplear un método que use GRUB como gestor de arranque (ver abajo). GRUB es muy útil si estás usando DSL como parte de un pack de rescate de datos/sistemas, porque puedes incluír múltiples configuraciones de arranque y otras utilidades.
  • Si tu sistema monta o arranca el pendrive con el parámetro iocharset=utf8, podrías obtener un error en el que no en se encuentra 'KNOPPIX/KNOPPIX' al arrancar (KNOPPIX/KNOPPIX cannot be found upon booting).

Método II: ISO Actual + Syslinux

En éste método, no necesitas reparticionar ni reformatear tu unidad USB. Es posible instalar el contenido de la ISO de modo no destructivo a una partición USB - ésta guía da un ejemplo. Obvia las referencias al particionado y al formateo que prepara tu unidad USB para DSL. Sígue estos pasos:


1. Monta la unidad USB con algo como:

       mount /dev/sdx1 /flash #¡puede ser FAT16 o FAT32!

2. Monta la imagen ISO:

       mkdir /tmp/iso
       mount /tmp/dsl-3.2.iso /tmp/iso -o loop

3. Copia todo el contenido de la ISO a tu unidad USB:

       cp -vr /tmp/iso/* /flash/

4. Renombra y mueve los archivos de Syslinux al directorio raíz del pen:

       mv /flash/boot/isolinux/* /flash/

5. Renombra isolinux.cfg como syslinux.cfg:

       mv /flash/isolinux.cfg /flash/syslinux.cfg

6. Desmonta la unidad USB

       umount /flash

7. Instala Syslinux:

       syslinux /dev/sdx1

8. Y activa el arranque con MBR para esta partición (con fdisk).

       fdisk /dev/sdx #quizá necesites usar sudo ... ¡ten cuidado! Activa el arranque usando 'a', luego graba con 'w'


¡Hecho! Reinicia y ¡a jugar!

Notas

  • Ten cuidado al emplear sudo fdisk. Esta es una herramienta para lo bueno y para lo malo.
  • ¡Asegúrate de que emplear las rutas correctas (/dev/sda, /dev/sdb, etc.) o podrías corromper otras particiones o archivos existentes! Puedes leer acerca de esto en la sección de Requisitos, arriba.

Método III: Usar GRUB como Gestor de Arranque

Nota: Se ha informado de que éste método no funciona bajo ciertas condiciones

Descarga la imagen ISO actual del CD de DSL.

  • Crea una partición ext2 (=> 51 MB) en el pendrive y móntala.
   mke2fs -v -L "DSL" /dev/<dispositivo>
   mkdir -p /tmp/pendrive
   mount /dev/<dispositivo> /tmp/pendrive/

donde <dispositivo> es el archivo correspondiente que representa tu dispositivo/partición de almacenamiento USB.

Nota: ext3 también vale.

  • Cambia al directorio donde montaste la partición ext2 e instala el gestor de arranque GRUB:
   cd /tmp/pendrive/
   grub-install  --no-floppy  --root-directory=.   /dev/<dispositivo>  

Nota: Reemplaza <dispositivo> por el archivo correspondiente que representa tu dispositivo/partición de almacenamiento USB. Por ejemplo /dev/sdc1

Nota 2: Éste método no me funcionó, empleé el método manual para ejecutar grub e introduje "root (hd1,1)" y "setup (hd1)" (tus rutas probablemente variarán).

  • Copiar los contenidos de la imagen del CD a la unidad USB.
   mkdir /tmp/dsl-cd
   mount [/ruta_a/]current.iso /tmp/dsl-cd/ -o loop
   cp -vR /tmp/dsl-cd/* /tmp/pendrive/
  • Permanece en el mismo directorio - donde montaste el sistema de archivos ext2 - y crea un archivo menu.lst para grub en el directorio ./boot/grub/
  cat > /tmp/pendrive/boot/grub/menu.lst << EOF
  title           Damn Small Linux
  root            (hd0,0)
  kernel          /boot/isolinux/linux24 root=/dev/sda1 ro lang=us toram noeject frugal
  initrd          /boot/isolinux/minirt24.gz
  boot
  EOF

Nota: Quizá necesites cambiar (hd0,0) a la partición correcta de tu unidad USB. En cualquier caso, el valor por defecto debería funcionar en la mayoría de los sistemas.

  • Desmonta el sistema de archivos.
  • Ahora puedes arrancar desde tu dispositivo de almacenamiento USB.

Método IV: Con GRUB como Gestor de Arranque

Alguien se encontró con que el proceso de arriba no le funcionó y ha documentado este otro proceso

La Situación:

  • Ejecutando SLED 10 (Suse)
  • El pen USB key es de 1 GB y aparece como /dev/sda
  • Entrando como root
  • La ISO de DSL está descargada en /root/Desktop/dsl-3.3.iso
  • 2 particiones, la primera como almacenamiento general y la segunda para DSL
  • La partición de DSL quería ser ext3 para que Windows no la moleste
  • La primera partición tiene que ser la de almacenamiento general porque a Windows no le gusta direccionar segundas particiones en unidades flash.

El procedimiento:

  • fdisk /dev/sda
    • d - Borra todas las particiones del pendrive
    • n - Crea una partición nueva
      • p - Partición primaria para almacenamiento general
      • 1 - Primera partición
      • 1 - Desde el primer bloque
      • 948 - Casi todo el espacio, unos 933 MB
    • n - Crea una partición
      • p - Partición primaria para DSL
      • 2 - Segunda partición
      • 949 - Comienza en el siguiente sector disponible
      • 1012 - Hasta el final del disco. Le doy 64 MB
    • a - Hace particiones autoarrancables
      • 2 - Marca la partición DSL como autoarrancable
    • t - Cambia el tipo de partición
      • 1 - Selecciona la partición 1 para cambiarla
      • b - La cambia al formato Win95 FAT32
    • w - Graba los cambios
  • fdisk -l - arroja la siguiente salida:
        Device    Boot      Start         End      Blocks   Id  System
	/dev/sda1               1         948      954131+   b  W95 FAT32
	/dev/sda2   *         949        1012       64416   83  Linux

Ahora tu unidad flash debiera tener una pinta como esta.

  • mkdir /mnt/iso
  • mkdir /mnt/usb
  • mount -o loop /root/Desktop/dsl-3.3.iso /mnt/iso
  • mkfs.vfat -F 32 /dev/sda1 # usa -F 16 para FAT16
  • mke2fs /dev/sda2

Nota: Si quieres tener un sistema de archivos ext3 añade el parámetro -j : mke2fs -j /dev/sda2

  • mount /dev/sda2 /mnt/usb/
  • cd /mnt/iso
  • tar cvp . | (cd /mnt/usb; tar xp )
  • mkdir -p /mnt/usb/boot/grub
  • cp /boot/grub/*stage* /mnt/usb/boot/grub/

(Si tu sistema no arranca con grub, prueba: cp /usr/lib/grub/i386-pc/*stage* /mnt/usb/boot/grub/)

  • cat > /mnt/usb/boot/grub/menu.lst << EOF
   title Damn Small Linux
   root (hd0,1)
   kernel /boot/isolinux/linux24 root=/dev/sda2 ro lang=us toram noeject frugal
   initrd /boot/isolinux/minirt24.gz
   boot
   EOF
  • cd /mnt/usb/
  • grub-install --no-floppy --root-directory=. /dev/sda
  • cd /root
  • umount /mnt/usb
  • umount /mnt/iso
  • rm -r /mnt/iso
  • rm -r /mnt/usb