vesamenu.c32: Not a COM32R image (segunda parte)

Introducción.

Nuevamente tengo problemas para generar las LiveUSB de Ubuntu utilizando el Startup Disk Creator.  En este caso estoy utilizando GNU/Linux Mint 11 (basado en Ubuntu 11.04) para crear una LiveUSB de Ubuntu 10.04 LTS.  Realicé  el procedimiento que ha solucionado este problema en el pasado y sigo obteniendo el mismo error cuando intento iniciar el sistema operativo desde la unidad USB.

Unknow keyword in configuration file: gfxboot
vesamenu.c32: not a COM32R image
boot :

Todo parece indicar que el problema sucede por conflictos entre las diferentes versiones de syslinux que incluye Ubuntu en sus últimas liberaciones.

En este caso se va a realizar una aproximación diferente: se va a transferir la versión actual de syslinux a la LiveUSB que presenta el problema.

Solución.

Para el siguiente comando se supuso que LIVEUSB es la etiqueta de la unidad USB intervenida.

$ sudo cp /usr/lib/syslinux/vesamenu.c32 /media/LIVEUSB/syslinux/

Para el siguiente comando se supuso que la unidad USB intervenida corresponde con el dispositivo sdc.

$ sudo syslinux /dev/sdc1

Inicie nuevamente el sistema operativo desde la unidad USB, el problema deberá haber desaparecido si el procedimiento fue exitoso.

Clonar la unidad LiveUSB de Scientific Linux y CentOS 6.x

Introducción.

Una vez creada la LiveUSB de CentOS o SL puede ser ejecutada directamente en cualquier computador que pueda iniciar (boot) el sistema operativo desde dicha unidad USB.

Al estar ejecutándose en vivo (live), las modificaciones realizadas sobre los sitemas de archivos raíz y /home serán persistentes yt sus tamaños corresponderán a los especificados durante la creación de la unidad.

Después de personalizado su contenido se procede al proceso de clonación descrito a continuación.

Clonar la unidad LiveUSB.

Crear la imagen de la LiveUSB.

El procedimiento es muy simple.  El primer paso consiste en utilizar el comando dd para crear una imagen bit a bit de la unidad LiveUSB.  En este caso se supone que la unidad corresponde con el dispositivo /dev/sdb, reemplace este valor de acuerdo a su propio contexto.

La ejecución del siguiente comando crea el archivo centos6-livesusb.img el cual corresponderá con el contenido de la unidad representada por el dispositivo /dev/sdb.

# dd if=/dev/sdb of=centos6-livesusb.img bs=4M

7888896+0 records in
7888896+0 records out
4039114752 bytes (4.0 GB) copied, 2180.88 s, 1.9 MB/s

Verifique los valores mostrados en los parámetros in y out correspondan, de lo contrario la imagen no habrá sido exitosamente creada.

# ls -l centos6-livesusb.img

-rwxrwxrwx. 1 root root 4039114752 Aug 21 18:16 centos6-livesusb.img

# file centos6-livesusb.img 

centos6-livesusb.img: x86 boot sector; partition 1: ID=0x83, active, starthead 32, startsector 2048, 7884801 sectors, code offset 0xb8

Restaurar la imagen de la LiveUSB.

Después de creada la imagen de la unidad LiveUSB esta puede replicarse cuantas veces se desee en otras unidades USB.  Para hacer esto se realiza el procedimiento contrario utilizando también dd.

# dd if=centos6-livesusb.img of=/dev/sdb bs=4M

Crear una LiveUSB con persistencia utilizando Scientific Linux y CentOS 6.x

Introducción.

En el presente artículo se expondrá el procedimiento necesario para crear una LiveUSB con CentOS 6 mediante el uso de la herramienta livecd-iso-to-disk.

A diferencia de otros procedimientos para la creación de LiveUSB que he explorado hasta ahora, este permite establecer un espacio para la persistencia de los datos (overlay), tanto para la partición raíz donde se almacenará el sistema operativo como para la partición /home donde se almacenarán los archivos del usuario.  Para esto se crean dos archivos: LiveOS/squashfs.img (Squashfs) para el directorio raíz y LiveOS/home.img (ext4) para el sistema de archivos de los usuarios.

Este procedimiento se realizó utilizando una máquina que ejecutaba también GNU/Linux CentOS 6.

Obtener la distribución Livede GNU/Linux Scientific Linux o CentOS.

Descargar la versión deseada del LiveCD o LiveDVD de Scientific Linux desde la siguiente ubicación.

http://ftp.scientificlinux.org/linux/scientific/

Si se desea utilizar CentOS, descargar la imagen ISO correspondiente desde la siguiente ubicación.

http://mirror.centos.org/centos/6/isos/

En este caso se utilizará la versión LiveCD de CentOS 6 con 32 bits.

# wget  http://mirror.nuvio.com/pub/centos/6.0/isos/i386/CentOS-6.0-i386-LiveCD.iso

Obtener las herramientas necesarias.

Descargar la versión mas reciente de livecd-iso-to-disk.

# wget “http://git.fedorahosted.org/git/?p=livecd;a=blob_plain;f=tools/livecd-iso-to-disk.sh;hb=HEAD” -O livecd-iso-to-disk.sh

# chmod +x livecd-iso-to-disk.sh

Limpiar el MBR de la unidad USB.

Insertar la unidad USB y determinar el dispositivo al cual fue conectada.  Es muy importante que este dispositivo se determine muy bien ya que un error a partir de este paso puede significar la pérdida del acceso al sistema operativo o aún peor, la pérdida de información.  Realice estos pasos con mucho cuidado y bajo su propia responsabilidad.

En este caso se supondrá que la unidad USB intervenida corresponde con el dispositivo /dev/sdb.  Modifique este valor apropiadamente según su contexto.

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

Acerca de los tamaños para la persistencia.

Los tamaños elegidos para las particiones que soportarán la persistencia de los datos deberán estar de acuerdo con el tamaño de la unidad USB utilizada y el tamaño de la imágen LiveCD que se integrará.

  + Size of live image:        683  MiB  
  + Overlay size:             1600  MiB
  + Home directory size:      1200  MiB
  = Total requested space:    3483  MiB  
  - Space available:          3528  MiB

En este caso la imagen base del sistema operativo utiliza 683MB, se crearán particiones con tamaños de 1600MB (raíz) y 1200MB (home), y se utilizará una memoria USB con capacidad de 3528MB.

Debido a las restricciones del sistema de archivos FAT las particiones no podrán ser mayores a 2047MB.  Para mas información acerca de las limitaciones consultar la sección Data Persistence and its Limitations.

Crear la LiveUSB con persistencia.

# ./livecd-iso-to-disk.sh –format –overlay-size-mb 1600 –home-size-mb 1200 –unencrypted-home /u/vms/ISO/CentOS-6.0-i386-LiveCD.iso /dev/sdb 

La ejecución del comando anterior se ve regida por los siguientes parámetros.

–format Formatea la unidad y crea una tabla de particiones MS-DOS.
–overlay-size-mb Establece el tamaño para la partición raíz.
–home-size-mb Establece el tamaño para la partición de /home.
–unencrypted-home Indica que no se cifre la partición de /home.
Archivo ISO Especifica la imagen ISO del LiveCD a utilizarse.
Dispositivo (/dev/sdb) Especifica el dispositivo que corresponde con la unidad USB intervenida.

El comando livecd-iso-to-disk incluye varios parámetros de línea de comando que permiten modificar el resultado final de la unidad LiveUSB generada.  Consultar el código fuente del script para mayor información.

Enlaces.

vesamenu.c32: Not a COM32R image

Introducción.

Ubuntu y sus derivados incluyen una utilidad propia muy útil para generar sus propias LiveUSB (con persistencia) llamada Startup Disk Creator (usb-creator-gtk).

Las versiones incluídas en las distribuciones basadas en Ubuntu 10.x y 11.x vienen con problemas entre este software y la versión de syslinux instalada, lo cual provoca que las LiveUSB generadas no inicien normalmente y muestren el siguiente mensaje.

vesamenu.c32: Not a COM32R image
boot:

Solución.

Existen dos soluciones para este problema, una primera solución es temporal y a pesar de que permite ejecutar exitosamente el sistema operativo incluído en la LiveUSB, no resuelve el problema y debe realizarse cada vez que se utilice la unidad.  Una segunda solución es mas dispendiosa que la primera pero resuelve por completo el problema presentado con las imágenes de las LiveUSB generadas.

Solución #1: temporal.

En el prompt, después de que se muestre el mensaje mencionado anteriormente escribir la palabra live y presionar Enter.  Es posible que se deba presionar la tecla tab para poder acceder al prompt.

Solución #2: definitiva.

Es necesario actualizar el paquete syslinux a una versión mas reciente.  Para hacer esto se deberán obtener los paquetes syslinux y syslinux-common desde la siguiente ubicación.

http://mirrors.kernel.org/ubuntu/pool/main/s/syslinux/

Para mayor información consulte este artículo relacionado.

Instalar GNU/Linux Ubuntu 10.10 desde una unidad USB

Introducción.

Desde que descubrí la creación de LiveUSB con GNU/Linux he utilizado este método para instalar el sistema operativo en computadores y servidores.  Mientras que Ubuntu incluye su propia herramienta para este fin, otras distribuciones pueden ser utilizadas fácilmente mediante el uso del paquete Unetbootin.

El procedimiento no generaba ningún inconveniente hasta que intenté utilizarlo para instalar la versión 10.10 de Ubuntu.

Escenario.

Para instalar la versión 10.10 de GNU/Linux Ubuntu se descargó su correspondiente imagen ISO.

En un equipo con Ubuntu 10.04 se creó el LiveUSB mediante el procedimiento habitual, utilizando la aplicación usb-creator-gtk.

Se inició el equipo al cual se le va a instalar el sistema operativo con la LiveUSB como unidad de inicio (boot).

Problema: Unknown keyword in configuration file.

Al iniciarse el equipo desde la LiveUSB preparada con Ubuntu 10.10 se obtiene el siguiente mensaje que impide su instalación.

SYSLINUX 3.63 Debian-2008-07-15 EBIOS Copyright (c) 1994-2008 H. Peter Anvin
Unknown keyword in configuration file
boot:

Aparententemente hay un problema con la versión de syslinux incluída en Ubuntu 10.04 que impide la correcta ejecución de la LiveUSB.

Solución: actualizar syslinux.

Obtener la versión de syslinux mas actualizada del repositorio de paquetes oficiales.

$ wget http://mirrors.kernel.org/ubuntu/pool/main/s/syslinux/syslinux_4.01+dfsg-3ubuntu1_amd64.deb

$ wget http://mirrors.kernel.org/ubuntu/pool/main/s/syslinux/syslinux-common_4.01+dfsg-3ubuntu1_all.deb

Remover la versión actual de syslinux.  Tenga en cuenta que este paso también remueve otro software asociado como el usb-creator y el unetbootin.

$ sudo aptitude remove syslinux

Instalar la nueva version de syslinux recién descargada.

$ sudo dpkg -i syslinux-common_4.01+dfsg-3ubuntu1_all.deb syslinux_4.01+dfsg-3ubuntu1_amd64.deb

Volver a instalar el paquete usb-creator.

$ sudo aptitude install usb-creator-common usb-creator-gtk

Volver a generar la LiveUSB como lo indica el procedimiento original.

Enlaces.

Crear una LiveUSB de OpenSolaris utilizando OpenSolaris 2009/06

Introducción.

Continuando con las pruebas de LiveUSBs que he estado haciendo en los últimos días hoy quise intentar crear una basada en OpenSolaris y encontré un método basado en el OpenSolaris mismo que permite convertir la imagen del LiveCD a una USB haciéndola mas práctica y rápida de utilizar, sin embargo, a diferencia de las LiveUSB anteriores, este método no permite la persistencia de información en el sistema de archivos lo cual es una gran desventaja para mi.

Instalación del sistema operativo del húesped.

Como mencioné inicialmente el método de creación de la LiveUSB se debe realizar desde una máquina con OpenSolaris.  Inicialmente intenté ejecutando la versión LiveCD pero el tamaño del ramdisk no es suficiente para albergar los archivos necesarios para el proceso.

Creé entonces una máquina virtual con Virtualbox donde instalé el OpenSolaris desde el cual posteriormente se creó la imagen de la LiveUSB.

Encontré a OpenSolaris bastante lento y esquivo de instalarse en Virtualbox.  Mis conclusiones me llevan a pensar que es necesario asignarle a la máquina virtual por lo menos 768MB de RAM (mas preferiblemente) y 64MB de memoria de video.

Instalación de paquetes.

Es necesario instalar el paquete SUNWdistro-const en el húesped antes de iniciar el proceso de creación de la imagen.

$ pfexec pkg install SUNWdistro-const

Obtener la imagen ISO del LiveCD.

Descargar la imagen ISO mas reciente de la versión LiveCD de la distribución de OpenSolaris del siguiente enlace.

http://hub.opensolaris.org/bin/view/Main/downloads

Para este  caso era la 2009/06.

$ wget http://dlc.sun.com/osol/opensolaris/2009/06/osol-0906-x86.iso

Crear la imagen de la LiveUSB.

La imagen se crea a partir del ISO del LiveCD y se genera un archivo IMG.

$ pfexec usbgen osol-0906-x86.iso osol-0906-x86-usb.img /tmp/osol

/dev/rlofi/2:    1663200 sectors in 2772 cylinders of 1 tracks, 600 sectors
812.1MB in 174 cyl groups (16 c/g, 4.69MB/g, 2240 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
32, 9632, 19232, 28832, 38432, 48032, 57632, 67232, 76832, 86432,
1574432, 1584032, 1593632, 1603232, 1612832, 1622432, 1632032, 1641632,
1651232, 1660832
Copying ISO contents to USB image…
…………………………………………..
…………………………………………..
…………………………………………..
……………………………                                                                                                                                                                                                                                                                 …….
1385888 blocks
=== /usr/bin/usbgen completed at Wed Dec  2 21:06:42 COT 2009

Copiar la imagen a la memoria USB.

Identificar la memoria USB de destino.

Es muy importante identificar con claridad cual es el dispositivo que hace referencia a la unidad USB de destino donde se instalará la imagen del LiveUSB ya que el contenido de esta memoria se perderá por completo una vez se inicie el proceso.

$ mount | grep media

/media/jimezam_lab on /dev/dsk/c9t0d0p0:1 read/write/nosetuid/nodevices/hidden/nofoldcase/clamptime/noatime/timezone=18000/dev=35c1050 on Wed Dec  2 20:47:39 2009

En mi caso el dispositivo de la unidad de destino sería /dev/dsk/c9t0d0p0.

Transmitir la imagen al dispositivo.

$ pfexec usbcopy osol-0906-x86-usb.img

Found the following USB devices:
0:    /dev/rdsk/c9t0d0p0 3.9 GB    Kingston DataTraveler 2.0 1.00
Enter the number of your choice: 0

WARNING: All data on your USB storage will be lost.
Are you sure you want to install to
Kingston DataTraveler 2.0 1.00, 3900 MB at /dev/rdsk/c9t0d0p0 ?  (y/n) y
Copying and verifying image to USB device
Finished 812 MB in 1678 seconds (0.4MB/s)
0 block(s) re-written due to verification failure
Installing grub to USB device /dev/rdsk/c9t0d0s0
Completed copy to USB

Probar la LiveUSB.

Listo!  El paso final consiste en probar la LiveUSB reiniciando el equipo e indicándole al BIOS que inicie el sistema operativo desde la la unidad USB.

Enlaces.

Creación de una LiveUSB con Fedora 11 utilizando LiveUSB Creator desde Ubuntu 9.10

Introducción

Estoy animado haciendo mas pruebas con las LiveUSB basadas en Linux ya que con el soporte de estas a la persistencia de los archivos de los usuarios se simplifican y mejoran muchos procesos que son muy útiles en muchas áreas como la academia, las demostraciones y por supuesto, la experimentación.

Antes de estas pruebas hice algunos intentos con LiveCD pero la falta persistencia y su baja velocidad de acceso al medio hicieron que fuera una forma un tanto engorrosa para las demostraciones.  Posteriomente experimenté también compartiendo máquinas virtuales con las instalaciones de los sistemas operativos sin embargo al ejecutarse en un huésped los recursos utilizados son altos, el transporte e instalación de las imágenes en los clientes no es muy cómodo del todo y extrañamente, algunas veces obtuve comportamientos diferentes en el software de virtualización entre mi equipo de desarrollo y los equipos donde instalaba las imágenes: el acceso a los puertos USB por ejemplo, probablemente debido a diferencias entre los sistemas operativos húesped.  Por supuesto que esta última aproximación también tiene sus ventajas como la posibilidad de instalar otros sistemas operativos además de Linux y la posibilidad de ejecutar varias máquinas virtuales diferentes en un mismo huésped.

Ahora con la extrema facilidad de instalación de Linux en las unidades USB, el soporte a la persistencia de la información y el bajo costo de estos dispositivos me parecen una excelente solución para las situaciones que mencioné anteriormente.

Hace unos días estuve experimentando con la creación de LiveUSB basadas en Ubuntu mediante el uso del software provisto de manera nativa por la misma distribución.  Hoy voy a experimentar algo similar con Linux Fedora para el cual existe una aplicación homóloga a la utilizada en Ubuntu llamada LiveUSB-Creator.  Esta aplicación incluye algunas características adicionales que son interesantes.

  • Es desarrollado por el proyecto Fedora para crear imágenes de sus sistema operativo pero puede instalarse en otras distribuciones.  En mi caso lo instalaré en mi equipo personal, un Linux Ubuntu 9.10.
  • Permite realizar la instalación del sistema operativo a partir de una imagen ISO local del LiveCD o este mismo se encarga de descargarla de Internet con la sola indicación de su versión.
  • Reconoce automáticamente las unidades USB disponibles en el sistema operativo para realizar la instalación.
  • Permite establecer la cantidad de espacio que se dispondrá para el sistema de archivos persistente.

Para este último se debe tener en cuenta que si se utiliza el sistema de archivos FAT32 en la unidad USB, el tamaño máximo de sus archivos -y por ende, espacio persistente en la LiveUSB- estará limitado a máximo 2GB.

Instalación

Instalar las librerías necesarias por la aplicación.

$ sudo aptitude install python-qt4 python-qt4-dbus python-parted pyqt4-dev-tools

Descargar la versión mas reciente de la aplicación disponible en la siguiente ubicación.

https://fedorahosted.org/releases/l/i/liveusb-creator/

En este caso se utilizó la versión 3.8.6.

$ wget https://fedorahosted.org/releases/l/i/liveusb-creator/liveusb-creator-3.8.6.tar.bz2

$ bunzip2 liveusb-creator-3.8.6.tar.bz2

$ tar xvf liveusb-creator-3.8.6.tar

Creación de la imagen.

Inserte la memoria USB en el computador.  En mi caso venía formateada previamente con FAT32.

$ cd liveusb-creator-3.8.6/

$ sudo ./liveusb-creator

Ventana de Live USB Creator
Ventana de Live USB Creator

En la parte superior de la ventana de la aplicación (Use existing Live CD) presione el botón Browse y seleccione el archivo de la imagen ISO del Linux Fedora LiveCD que desea instalar en la memoria USB.

En la parte media (Target device) seleccione el dispositivo correspondiente a la memoria USB donde desea instalar el sistema operativo.  Tenga mucho cuidado con su selección ya que los datos actualmente contenidos en dicho dispositivo se perderán.

Con la barra de desplazamiento (Persistent Storage) frente a esta opción especifique la cantidad de espacio que designará para la persistencia del sistema de archivos del usuario.  En este caso elegí darle 1024KB (1GB) para guardar los archivos de la sesión de trabajo del usuario.

Para iniciar el proceso de creación del LiveUSB presione el botón Create Live USB ubicado en la parte inferior de la ventana.

Observe los mensajes de información que genera la aplicación en el campo de texto en la parte media y la barra de progreso bajo esta.

Cuando la aplicación indica que se ha completado el 100% del progreso y sin errores, la unidad se encuentra lista para que se inicie el sistema operativo desde esta.

Problemas encontrados

Durante la experimentación enfrenté algunos problemas que tuve que resolver antes de obtener un resultado exitoso con esta aplicación.  A continuación relaciono las soluciones que propongo para dichos problemas.

No existe el módulo parted.

Síntoma: durante el proceso de creación del LiveUSB se obtiene del LiveUSB Creator un mensaje como el siguiente.

Fedora-11-i686-Live.iso selected
Verifying filesystem…
Extracting live image to USB device…
Wrote to device at 5 MB/sec
Creating 1001MB persistent overlay
Setting up OLPC boot file…
Installing bootloader…
No module named parted
LiveUSB creation failed!

Causa: no se encuentra instalado el paquete python-parted el cual es necesario para la correcta ejecución de la aplicación.

Solución: instalar el paquete python-parted.

$ sudo aptitude install python-parted

Falla la verificación MD5 de la imagen ISO.

Síntoma: en mis pruebas, LiveUSB Creator siempre fallo al verificar el checksum MD5 de la imagen ISO que descargué de Linux Fedora a pesar de que esta era correcta (verificada con md5sum).  Al intentar crear la LiveUSB se obtiene siempre un mensaje como el siguiente.

Verifying filesystem…
Verifying ISO MD5 checksum
ISO MD5 checksum verification failed

Causa: razones desconocidas.

Solución: utilizar el parámetro -n al ejecutar el LiveUSB Creator para evitar la verificación del checksum.

$ sudo ./liveusb-creator -n

No se encuentra el sistema de archivos raíz.

Síntoma: durante la ejecución del LiveUSB ya instalado se obtiene un mensaje como el siguiente indicando que no fue posible montar el sistema de archivos raíz del sistema.  Este problema se me presentó cuando utilicé la versión 3.7 de la aplicación.

“Warning: cannot find root file system!
Exiting to shell
To cotinue you will need to create a symlink to /dev/root

Solución: editar el archivo syslinux/syslinux.cfg de la LiveUSB y actualizar el valor de los parámetros root con el UUID real de la unidad USB.  Este valor puede consultarse con la ejecución del siguiente comando mientras el dispositivo se encuentra conectado al computador.

$ ls -l /dev/disk/by-uuid

lrwxrwxrwx 1 root root 10 2009-11-13 17:46 07D8-070B -> ../../sda1
lrwxrwxrwx 1 root root 10 2009-11-13 17:46 2d8af445-6147-44e9-b493-237b99a81cbb -> ../../sda3
lrwxrwxrwx 1 root root 10 2009-11-13 17:46 4A3C22F43C22DB29 -> ../../sda2
lrwxrwxrwx 1 root root 10 2009-11-13 23:29 7A0E-19F0 -> ../../sdb1
lrwxrwxrwx 1 root root 10 2009-11-13 17:46 86f01e2a-e74f-423c-85cc-786f7dc6f207 -> ../../sda6
lrwxrwxrwx 1 root root 10 2009-11-13 17:46 e49a1fe3-387f-43cf-9302-e365c105ae3d -> ../../sda5
lrwxrwxrwx 1 root root 15 2009-11-13 22:46 F40F-3C8C -> ../../mmcblk0p1

Es posible solucionar temporalmente este problema durante la ejecución del sistema operativo creando un enlace por software entre /dev/root y la partición de la USB, sdb1 en mi caso.

$ ln -s /dev/sdb1 /dev/root

$ exit

Enlaces

Creación de una LiveUSB con Ubuntu 9.10 utilizando el USB Startup Disk Creator

Introducción.

Los sistemas operativos pueden ser instalados en medios diferentes al disco duro gracias a que las tarjetas madres actuales tienen la capacidad de acceder a ellos e iniciarlos (boot).  El medio mas común es el CDROM, su principal ventaja/desventaja (según como se vea) es que su sistema de archivos no puede ser modificado debido a la naturaleza de sólo lectura del medio, así que las modificaciones que se realicen (como la creación y edición de archivos) se realizará sobre un disco virtual en memoria RAM y se perderán tan pronto como se apague.  Estas distribuciones son conocidas como LiveCD.

Una variación de estas distribuciones aún mas interesante son las LiveUSB que como puede fácilmente predecirse, consiste en instalar el sistema operativo en una memoria USB (Pen drive).  Como ventaja, la mayoría de estas distribuciones (no necesariamente todas), tienen la habilidad de permitir la escritura de archivos de manera persistente, es decir, perduran después de reiniciar el sistema operativo.  Esta opción es muy interesante para ciertas necesidades de portabilidad (transportabilidad) y pruebas que frecuentemente necesitamos las mentes inquietas.  Como desventaja que esta opción comparte con el LiveCD, es que su ejecución es mas lenta con respecto a la ejecución convencional en el disco duro ya que los tiempos de acceso a estos medios son mayores.

Desde hace mucho tiempo había querido hacer pruebas con ellos y nunca me había animado ya que todo sugería la necesidad de cosas complicadas con scripts y modificaciones del Kernel, sin embargo me di cuenta mientras realizaba la instalación de Ubuntu 9.10 desde una unidad USB que actualmente es un proceso muy sencillo.

En el presente artículo describiré el procedimiento necesario para crear LiveUSBs de Linux Ubuntu 9.10 utilizando la herramienta USB Startup Disk Creator incluída en la misma distribución desde su versión 9.04 (si no estoy mal).

Creación de la imagen.

Descargue la imagen ISO del sistema operativo a instalar, en este caso será Linux Ubuntu 9.10.

http://www.ubuntu.com/getubuntu/download

Inserte la memoria USB en el computador.  En mi caso venía formateada previamente con FAT32.

Inicie la aplicación System > Administration > USB startup disk creator.

Ventana de USB startup disk creator
Ventana de USB startup disk creator

En la parte superior de la ventana de la aplicación (Source disk image), presione el botón Other … y seleccione la imagen ISO del sistema operativo a instalarse (obtenida en el primer paso).  Si no se cuenta con la imagen ISO sino con el CDROM de la distribución también es posible utilizarlo.

En la parte media (Disk to use) seleccione la unidad USB donde se instalará el sistema operativo.  En mi caso era el dispositivo /dev/sdf1.

En la parte baja seleccione la opción Discarded on shutdown si no desea que la unidad incluya un espacio para la persistencia de los archivos del usuario (al estilo de los LiveCD) o Stored in reserved extra space si desea hacerlo, en este último caso especifique además cuanto espacio está dispuesto a reservar.

Presione el botón Make startup disk para iniciar el proceso de creación del medio.

InstallationCompleted

Inicio del sistema operativo.

Inserte la memoria USB en el computador y enciéndalo.

En el SETUP del computador especifique al puerto USB como dispositivo de inicio (boot sequence) del sistema operativo.  En la mayoría de BIOS se accede a esta opción presionando F11 durante el inicio del POST.

Ubuntu le preguntará como desea iniciar el sistema operativo, elija la opción Try Ubuntu without any change to your computer para iniciar el instalado en la memoria USB.  Posteriormente seleccione el idioma en que desea utilizar la distribución.

Espere un momento y listo, disfrute de Ubuntu en su memoria USB.

Tiempo de acceso.

Como mencioné anteriormente una desventaja de este método con respecto a la instalación convencional en el disco duro es que los tiempos de acceso de las memorias USB son mayores y esto se traduce en mayor lentitud del sistema operativo instalado en ellas.

Hice una prueba muy informal y en total desventaja en mi equipo para verificar los tiempos de inicio.  Estos fueron los valores que obtuve.

Inicio desde la
memoria USB
Inicio desde
el disco duro
1′ 09 seg 45 seg

Me refiero a total desventaja ya que hice una medición rápida del sistema operativo recién instalado en la USB sin ningún servicio o software adicional versus mi estación de trabajo con controladores propietarios y servicios instalados como Apache y MySQL lo que aumentará inexorablemente el tiempo de inicio.

Sería muy interesante volver a realizar esta verificación con mayor formalidad ya que la instalación de ambientes Linux en memorias USB me parece una excelente opción para pruebas y despliegues académicos.