Jan 25

Ahora que andaba con la goma de probar las velocidades de acceso de discos duros me di a la tarea de medir la velocidad de mi memoria USB que compre ya hace varios meses, para esto se puede utilizar la aplicación CrystalDiskMark de la cual ya se hablo anteriormente en este blog (Ver), aquí están los resultados :

Como se puede apreciar las velocidades de este tipo de memorias es muy baja en la escritura por eso es una tortura copiar datos en alguna de ellas mientras la velocidad de lectura es relativamente rápida, esperemos que con la llegada del USB 3.0 y las nuevas memorias este problema desaparezca, ya he visto pruebas de 183MB de lectura y 64MB de escritura en este nuevo tipo de memorias.

Tagged with:



En January 25 de 2011, Marlon J. Manrique escribió acerca de Midiendo la Velocidad de una Memoria USB.
Jul 07

Introducción.

En algunos casos se necesita instalar Windows como sistema operativo en máquinas que no disponen de una unidad lectora de CD/DVD, tal es el caso de los netbooks actuales.  Windows a diferencia de algunas versiones de Linux como Ubuntu, no incluye una herramienta para crear instaladores del sistema operativo en memorias USB, sin embargo los pasos que se deben seguir para crearlas no son complejos.

A continuación se detalla el procedimiento necesario para crear unidades USB con los instaladores de Windows utilizando un equipo con GNU/Linux Ubuntu 10.04 (en general, cualquier distribución de Linux servirá).

Requerimientos.

  • Un computador con GNU/Linux.
  • Una unidad de DVD.
  • Una memoria USB de por lo menos 3GB.
  • Un DVD de instalación de Windows 7 (probablemente funcionen también otras versiones).

Procedimiento.

Determinar el dispositivo que corresponde a la memoria USB.

Insertar la memoria en un puerto USB libre y ejecutar el siguiente comando.

$ dmesg | tail -20

[16590.915054] scsi10 : SCSI emulation for USB Mass Storage devices
[16590.915460] usb-storage: device found at 7
[16590.915466] usb-storage: waiting for device to settle before scanning
[16592.371732] usb 2-1: USB disconnect, address 7
[16603.750099] usb 2-2: new high speed USB device using ehci_hcd and address 8
[16603.902794] usb 2-2: configuration #1 chosen from 1 choice
[16603.913861] scsi11 : SCSI emulation for USB Mass Storage devices
[16603.922229] usb-storage: device found at 8
[16603.922232] usb-storage: waiting for device to settle before scanning
[16608.923049] usb-storage: device scan complete
[16608.923986] scsi 11:0:0:0: Direct-Access              MIMOBOT          0.00 PQ: 0 ANSI: 2
[16608.927668] sd 11:0:0:0: Attached scsi generic sg2 type 0
[16608.929715] sd 11:0:0:0: [sdb] 7892087 512-byte logical blocks: (4.04 GB/3.76 GiB)
[16608.936095] sd 11:0:0:0: [sdb] Write Protect is off
[16608.936106] sd 11:0:0:0: [sdb] Mode Sense: 00 00 00 00
[16608.936113] sd 11:0:0:0: [sdb] Assuming drive cache: write through
[16608.941652] sd 11:0:0:0: [sdb] Assuming drive cache: write through
[16608.941659]  sdb: sdb1
[16609.210304] sd 11:0:0:0: [sdb] Assuming drive cache: write through
[16609.210316] sd 11:0:0:0: [sdb] Attached SCSI removable disk

Desomntar el dispositivo que referencia a la unidad USB.

$ umount /dev/sdb1

Crear una partición para los archivos de instalación.

$ sudo fdisk /dev/sdb

Verificar si existen particiones previas en la unidad.

Command (m for help): p

Disk /dev/sdb: 4040 MB, 4040748544 bytes
125 heads, 62 sectors/track, 1018 cylinders
Units = cylinders of 7750 * 512 = 3968000 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0006a77a

Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            1        1018     3944719   83  Linux

En este caso existe una partición previa (sdb1), se procede a removerla.

Remover las particiones existentes.

Command (m for help): d
Selected partition 1

Crear una nueva partición para los archivos de instalación.

Se procede a crear una nueva partición que ocupe la totalidad del espacio de la unidad USB, en este caso 4GB.

Command (m for help): n
Command action
e   extended
p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1018, default 1): [Enter]
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-1018, default 1018):
[Enter]
Using default value 1018

Cambiar el tipo de la partición a NTFS.

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 7
Changed system type of partition 1 to 7 (HPFS/NTFS)

Permitir que la partición sea activa (bootable).

Command (m for help): a
Partition number (1-4): 1

Guardar los cambios y salir de fdisk.

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

Limpiar la información del MBR.

$ sudo dd if=/dev/zero of=/dev/sdb bs=446 count=1

1+0 records in
1+0 records out
446 bytes (446 B) copied, 0.00288829 s, 154 kB/s

Crear el sistema de archivos en la unidad con NTFS.

$ sudo mkfs.ntfs /dev/sdb1

Cluster size has been automatically set to 4096 bytes.
Initializing device with zeroes: 100% - Done.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.

Modificar la etiqueta de la unidad (opcional).

$ sudo ntfslabel /dev/sdb1 “Windows7″

Copiar los archivos de instalación.

Retirar y volver a conectar la unidad USB para que el sistema operativo la reconozca nuevamente, ahora vacía y con la etiqueta que se eligió en el paso anterior.

$ cp -rf /media/Windows7/* /media/JimezamLabs/

Deben actualizarse los nombres de los puntos de montaje según su propio contexto.  /media/Windows7 representa el punto de montaje del DVD de Windows mientras que /media/JimezamLabs representa al punto de montaje de la unidad USB que se está preparando.

Instalación de Windows.

Para instalar Windows en un equipo a partir de la memoria USB recién preparada, inserte esta en un puerto USB libre y reinicie el computador.  Configure la BIOS del equipo para que inicie a partir del dispositivo USB y prosiga con la instalación normalmente.

Tagged with:



En July 7 de 2010, Jorge Iván Meza Martínez escribió acerca de Preparar una unidad USB de instalación de Windows 7 utilizando GNU/Linux.
May 24

La situación.

El módem venía funcionando correctamente con la versión 9.10 de Ubuntu, sin embargo después de la instalación de la nueva versión (10.04) algo parece haber cambiado y el dispositivo sólo es identificado como un medio de almacenamiento (el controlador para Windows).

El problema.

Según el bug #521578 registrado en el LaunchPad de Ubuntu, el problema parece haber surgido debido a un movimiento de funcionalidades entre los paquetes udev (modem-modeswitch) y usb-modeswitch los cuales son responsables de garantizar que estos dispositivos USB no sean descubiertos únicamente como medios de almacenamiento con los drivers de Windows sino que sean identificados también como módems de banda ancha.  El paquete usb-modeswitch ahora con esta funcionalidad, no se instala por defecto en Ubuntu Lucid Lynx (10.04).

Este problema afecta a varios tipos de módems de la marca Huawei.

La solución.

La solución radica en instalar los paquetes requeridos.

$ sudo aptitude update && sudo aptitude install usb-modeswitch usb-modeswitch-data

Desconectar el módem USB y volver a conectarlo.  Este deberá ser reconocido normalmente a partir de ese momento.

Enlaces.

Tagged with:



En May 24 de 2010, Jorge Iván Meza Martínez escribió acerca de Utilizar un módem HSDPA USB Huawei E1556 en GNU/Linux Ubuntu 10.04.
Nov 14

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

Tagged with:



En November 14 de 2009, Jorge Iván Meza Martínez escribió acerca de Creación de una LiveUSB con Fedora 11 utilizando LiveUSB Creator desde Ubuntu 9.10.
Nov 12

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.

Tagged with:



En November 12 de 2009, Jorge Iván Meza Martínez escribió acerca de Creación de una LiveUSB con Ubuntu 9.10 utilizando el USB Startup Disk Creator.