Android x86 colgado en la linea de comandos

Hola Mundo:

Este post es sobre un laboratorio que estoy haciendo. El desarrollo de éste requiere de trabajar con Android en una máquina virtual. En este caso, estoy usando Oracle Virtualbox.

Al momento de instalar Android, que lo puedes conseguir desde aqui: https://www.android-x86.org, en una máquina virtual, el proceso es bien simple. Lo importante es que en el proceso de particionado de disco, marques la partición como Boot.

El problema se presenta al arrancar. Al parecer el proceso parte bien, pero se queda pegado en la línea de comandos:

El motivo de este problema, es que no cuenta la máquina virtual con la configuración de la controladora gráfica. Tiene que quedar con el adaptador VBoxVGA y con la aceleración 3D activada.
Con esto el sistema iniciará de forma normal.
Espero que les sirva.

Soporte para USB en VM sobre Virtualbox

Hola Mundo:

Esto me trajo muchos problemas por meses. El problema consistía en que la máquina virtual con Windows 7 Pro x64 corriendo sobre Virtualbox en Mac OS X no reconocía los dispositivos que les conectaba por USB.
Mismo escenario con Windows 10, pero con Windows XP Pro x86 funcionaba sin problemas. Podía conectar dispositivos y funcionaba de 10.

Investigando en Internet, llegué a la plataforma de bug tracker de Virtualbox y encontré que un problema parecido había sido solucionado hace años.

Necesitaba trabajar con los USB en mi VM y estuve meses con una carpetita de paso en el host físico para hacer ahí el intercambio de los archivos a las unidades de almacenamiento.
Era bien molesto, porque necesitaba hacer otras cosas con otro tipo de dispositivos que en Mac no podía hacer.

Se me ocurrió hacer lo siguiente: En el apartado de puertos  USB me aseguré que la máquina tuviera soporte para USB y seleccioné la opción de USB 2.0 (EHCI) Controller y habilité un filtro para cada dispositivo USB que necesitaba usar en el momento. El resultado quedó así:

Maravillosamente funcionó. Windows 7 fue capaz de instalar los controladores que necesitaba para hacer funcionar el dispositivo.

¡Espero que le sea de utilidad!

Chau

LTSP en Debian

Hola Mundo:

 Es complicado ser profe. Se los digo, porque tienes que inventar actividades para hacer que los alumnos se
entusiasmen, se diviertan y aprendan. Encuentro que no hay nada mejor que aprender metiendo las manos.

Uno de mis cursos es un taller de hardware, donde se les enseña a los alumnos las partes del computador, como armar y desarmar y otras clases de dispositivos. El problema está en que ellos ya conocen del tema (y bastante)  y resulta difícil enseñarles algo que ellos dominan bastante bien.

Materiales no teníamos mucho en la sala de clases. Teníamos un puñado de computadores antiguos, en los que no teníamos la certera de que funcionaran. No sabíamos en qué estado estaban, ni mucho menos si encendían o no.

Realizaron pruebas y de todos, lograron hacer funcionar unos cuantos. Durante el armado de los computadores, nos dimos cuenta que todos los discos duros estaban malos o se los habían llevado otros alumnos.

No fue dificil revolver la cabeza y acordarse del píngüino. Les conté que existía una solución llamaba LTSP y que consistía levantar un sistema, escritorio, funcional con una administración centralizada y todo se hacía a través de la red, inclusive el booteo.

Mi distribución favorita es Debian, asi que decidí instalar el sistemita ahí.

Creación de la máquina virtual
Para el propósito usé una máquina virtual sobre Virtualbox con los siguientes recursos:

  • Memoria: 1024 MB
  • Disco Duro: 10 GB
  • Procesador: 1
  • Interfaces de red: 1
Lo importante está en que la interfaz de red estaba conectado a la red interna. La red interna funciona como un switch virtual. Es donde pueden conversar las máquinas virtuales de forma aislada de la red física. Se pueden crear distintas «redes internas» con la herramienta.
Para hacer pruebas, creé una máquina virtual que simulaba ser un cliente tontorrón:
  • Memoria: 512 MB
  • Procesador: 1
  • Interfaces de red: 1
Es imperante que esta máquina tenga el arranque por red habilitado y que sea prioridad,
Instalación del sistema
No hablaré sobre la instalación de Debian. Hay muchos artículos que hablan en internet sobre eso. En todo caso, la instalación es super intuitiva y no requiere de mucho trabajo. Nada más deben asegurarse que están instalando el entorno gráfico.
Una vez que el sistema está instalado, tienen que abrir una consola y como root ejecutar
apt-get install ltsp-server-standalone

Descargará una serie de paquetes. Este proceso toma poco tiempo.

Construcción del cliente
Lo importante es construir una imagen que es que le copiará por TFTP a los clientes que se conecten.
Existen diversos parámetros que los pueden revisar en esta página.
Lo más sencillo es ejecutar:


ltsp-build-client

Y santo remedio. Comenzará a construir y empaquetar una imagen para cliente. La imagen la cream a partir de la configuración que tengan en su computador. Es posible personalizarla, pero escapa de este tutorial.

Configuración servidor DHCP
La configuracion que viene por defecto no funciona. De hecho, se podrán dar cuenta que al arrancar el servicio da un mensaje de error en rojo.
En una rápida configuración, editaremos el archivo /etc/dhcpd/dhcpd.conf  y agregaremos al final del archivo la siguiente linea:

include "/etc/ltsp/dhcpd.conf"

Este cambio agregará la configuración que debiera tener el servidor DHCP para permitir que los clientes reciban una imagen por TFTP. El archivo incluye la dirección del servidor TFTP.
Si no quieres realizar muchos cambios a los archivos de configuración, te recomiendo que configures tu tarjeta de red con la dirección 192.168.67.1 /24.

Retoques en la configuración
Es necesario realizar pequeñas ediciones en la configuración de algunos componentes para asegurarnos que el servicio funcionará como reloj. Lo primero es agregar la siguiente línea al archivo /etc/exports

/opt/ltsp *(ro,no_root_squash,async,no_subtree_check)

Luego, asegúrense que el servicio de TFTP inicia por si solo. Para esto tienen que editar el archivo /etc/default/tftpd-hpa y agregar la línea:

RUN_DAEMON="yes"

Después que ya realizaron el cambio, tienen que comentar,  en el archivo /etc/inetd.conf, la línea:

#tftp           dgram   udp     wait    root  /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot

y reinician los servicios:

invoke-rc.d openbsd-inetd restart
invoke-rc.d tftpd-hpa restart

Final
Teniendo todo listo, ya están en condiciones de hacer funcionar el sistema. Tienen que conectar a la red a un computador que soporte arranque por red.
Al final de la implementación debieran llegar a algo así:

El curso completo con los que hicimos la implementación real:

Eso. Chau

Agrandar disco virtual con Virtualbox

Hola Mundo. Una de las cosas que me enferma de Virtualbox, es que en la ventana principal de la aplicación no aparecen todas las opciones para trabajar con los distintos medios virtuales. Por ejemplo, no existe ninguna opcion para hacer un resize del disco duro virtual.

No todo es tan malo, ya que existe una herramienta llamada VBoxManage que funciona bajo la linea de comandos y que se encarga de las tareas un poco más complejas.

Hay que iniciar el cmd con permisos de administrador y navegar hacia la carpeta de Virtualbox (En mi caso es C:Program FilesOracleVirtualbox) e invocamos a la herramienta. La sintaxis es:

vboxmanage modifyhd "rutaalvdi" --resize tamaño_en_MB
Por ejemplo:
Si quiero dejar en 50 GB el VDI de mi VM tengo que hacerlo asi
vboxmanage modifyhd "disco.vdi" --resize 50000
Y mostrará el porcentaje de completación.

Sencillo, ¿no?

Ubuntu en Windows Virtual PC

Hace tantos posts que ya no recuerdo, escribi sobre virtualizar Linux sobre Windows Server 2008 R2 y Hyper-v v. Pero han hecho el experimento de virtualizar Linux sobre Windows 7 y Windows Virtual PC?  Yo si 🙂

He escuchando a varios decir que tienen problemas con esto y con lo otro y terminan usando aplicaciones de la competencia: Virtualbox, VMWare, etc.

La distribución usada en este ejemplo fue Ubuntu Karmic Koala y usé el disco de alternate install. Lo pueden encontrar aqui: http://releases.ubuntu.com/9.10/ubuntu-9.10-alternate-i386.iso.torrent Nota: Deben tener algun cliente para descargar por torrent

Observacion: Diferencias entre el alternate install y el comun y corriente. Alternate: Interfaz de instalalcion en modo consola. Creo que esta hecha en ncurses. Tal cual como la antigua instalacion

Comun y Corriente: Interfaz de instalacion totalmente grafica reliazada con las librerías gráficas GTK.

Sigamos. Instalar Ubuntu en cualquier sabor es muy sencillo de instalar, solo es siguiente, siguiente finalizar (Como los asistontos asistentes que todos conocemos) asi que no nos detendremos en esos detalles.  Lo importante es centrarse en la configuracion y creación de la máquina virtual.

Paso1: Crear Maquina Virtual

Ponganle los datos que quieran. Yo le puse Linux y lo ubique en el disco D, dentro de una carpeta llamada «vm»

Especificamos la cantidad de memoria física que tendrá nuestra maquina. Yo le puse 512MB. Deben ponerle un valor que sea acorde a su realidad. No van a poner 1 GB en Ram, cuando solo tienen 2 GB. Me entienden?

En esa misma ventana, nos aseguramos a que salga activado el checkbox de «Usar conexiones de red del equipo». Indispensable para que nuestra VM tenga comunicacion con el resto del mundo 🙂

Yo hice  la sugerencia de crear un disco con opciones avanzadas. Da igual la opcion que elijan. Si siguen mi sugerencia llegaran a la siguiente pantalla:

Escogí crear un disco de tamaño fijo, ahi ven ustedes. Es solo una sugerencia.

Al final de todo le ponemos crear y esperamos.

Ahora, que termino, podemos ver la maquina virtual recien creada en el listado de las maquinas virtuales:

Si vemos nuestra VM creada, es un buen indicio. Vamos por buen camino. Ahora nos queda configurar algunos detalles. Abrimos la maquina virtual y nos vamos a Herramientas -> Configuracion. Hay dos opciones que nos interesan por sobre el resto. Estan indicadas en la imagen:

En unidad de DVD, indicaremos en  donde está ubicado el origen de instalacion. Como es normal, instalaremos directamente desde la imagen de disco que descargamos desde internet

Pasemos a la parte de Funciones de red. Tenemos varias opciones, partiendo por la cantidad de dispositivos de red virtuales habilitar para nuestra maquina virtual y el tipo de dispositivo que vamos a necesitar. Estos son:

  • Sin Conectar
  • Red Interna
  • Red Compartida (NAT)
  • NIC de xxxxxx (nuestra tarjeta de red)
  • Conexion de red Intel PRO/1000 MT

Justamente la última es la que nos interesa. Ese es un dispositivo virtual (que existe en realidad, pero es demasiado antiguo y soportado de forma nativa por todos los sistemas operativos).

Es importante seleccionar ese dispositivo, porque nos aseguramos que obtenga una direccion IP directamente desde nuestro enrutador y además aseguramos la salida a internet sin intermediarios (como cuando funciona con red compartida nat). Resumiendo, nos quedaria asi:

Y con esto podemos hacer tranquilamente la instalacion de Ubuntu Linux. Al final de todo, llegaremos a nuestro escritorio:

Windows Virtual PC se instala como actualización en Windows 7.  Hasta el momento venía exclusivamente para virtualizar algun Windows, pero vemos que hoy se puede instalar Ubuntu Linux y quien sabe que otras distribuciones mas se pueden instalar.

Aun falta mucho para que sea funcional al 100%, como por ejemplo, los componentes de integracion. Esperemos que más adelante el equipo de desarrollo de Windows Virtual Pc pueda ver que existe un interesante nicho en la virtualizacion y estar a la par con los grandes como Virtualbox o VMware.

Modo XP Sin HAV

Una de las caracteristicas de Windows 7 era su genial soporte para la virtualizacion y tangiblemente se veia en Modo XP (Para mas informacion, les sugiero visitar este post que escribi hace un tiempo sobre como instalar Modo XP en Windows 7 ). Todos sabiamos que esto era posible, si y solo si, nuestro equipo contaba con HAV Hardware-Assisted Virtualization.

Pero la historia cambio. Microsoft libero un parche para hacer que Microsoft Virtual PC y XP Mode puedan ser instalados sin la necesidad de contar con HAV.  La actualizacion la pueden descargar desde el sitio de Microsoft.

Pero luego de instalar la actualizacion, puedo instalar y configurar Modo XP.
Aqui hay un sencillisimo video explicando los pasos a seguir.

Modo XP en Windows 7 from Maximiliano Marin on Vimeo.

O bien, puedes descargar el video sobre la instalacion de modo xp

Linux Integration Components – Parte I

En los siguientes 2 articulos que publicare, me dedicare exclusivamente a hablar sobre Linux Integration Components o las herramientas de integracion para Linux. 
Sonara un poco extraño todo esto, pero a mediados del 2009 Microsoft libero 20000 lineas de codigo para el nucleo de Linux (ver noticia). Muchos linuxeros y fanboys de Microsoft se preguntan: Por que?
La respuesta es bien sencilla y se puede resumir en una palabra: Interoperabilidad.
Es una respuesta bien linda y adecuada para el ambiente filosofico, futurista y muy a nivel de CEO’s de empresas gigantes, pero que ocurre en el nivel mas tecnico?
Para entender la respuesta, es bueno explicar como funciona la virtualizacion como Dios manda. Esta explicacion sirve para todos los sistemas de virtualizacion, como: Xen, Hyper-v, VMWare, OpenVZ, entre otros. Para esto, ocupare un mono sacado del sitio de Technet:

En este esquema, reconocemos 6 ambientes claramente identificados:

  • Particion Primaria: Es la particion correspondiente al host fisico. Aqui se almacena toda la informacion de las maquinas virtuales que se albergan y se ejecutan.
  • Particion Secundaria: Particion correspondiente a cada una de las particiones de las maquinas virtuales
  • Modo de Usuario: Es lo que al usuario o administrador del sistema le concierne manejar. Es toda la capa de aplicaciones que estan en el host fisico y en los host virtuales.
  • Modo de Kernel: El nucleo de los hosts, tanto virtuales como fisicos. Aqui esta el VMBus, VSP por el lado del host fisico y el VSC por el lado de los hosts virtuales.
  • Hipervisor de Windows: El que hace el trabajo sucio. Se encarga de la comunicacion entre las maquinas virutales y el hardware del equipo.
  • Hardware: El hardware. Nada mas. (A esta altura de mi vida y del dia no explicare lo que es el hardware. Si alguien tiene una duda puede remitirse a los comentarios, ahi con gusto le contestare).

Antes de continuar, hay que explicar algunos conceptos mencionados que puede que no hayan quedado claro, como el caso de VSP y VSC.
VSP: Virtual Service Provider: Se encarga de que cada uno de las maquinas virtuales tenga sus dispositivos sinteticos tal cual como si fueran reales. En otras palabras, las maquinas virtuales tienen dispositivo de video, de red, entrada, salida, etc gracias al VSP. Este funciona sobre el host fisico.
VSC: Virtual Service Client: Se encarga de comunicarse con el VSP para mostrarle a la maquina virtual que tiene dispositivos sinteticos tal cual como si fueran dispositivos fisicos. Este funciona sobre los hosts virtuales.
VMBus: Es un tubo de ultra rapido que sirve para la comunicacion entre VSP y VSC.
Para que esto del VMBus quede un poco mas claro, dejare un esquema sacado descaradamente del blog de Alejandro Ponicke:

En este mono, la funcion de VMBus esta muy clara, se ve como un tunel de comunicacion.
Humm… y que tiene que ver Linux aqui?
Desde un principio Hyper-V solo contemplaba la virtualizacion de sistemas Windows, por lo que las herramientas de integracion se instalaban automagicamente y los sistemas virtualizados contaban son sus dispositivos sinteticos y funcionaban de maravilla.
Pero ahora, con la liberacion de mas de 20.000 lineas de codigo para el nucleo de Linux, se pueden virtualizar sistemas Linux sin problemas con Hyper-V. Es por esto que existe una herramienta llamada Linux Integration Components (desde ahora en adelante: Linux IC).
Linux IC provee el soporte de dispositivos sinteticos para dispositivos de almacenamiento y dispositivos de red. Ademas, incluye un port de VMBus para que funcione sobre Linux.
Ojo que Microsoft asegura que Linux IC funciona sobre: SUSE Linux Enterprise Server 10 SP2, (x86/x64), SUSE Linux Enterprise Server 11 (x86/x64) and Red Hat Enterprise Linux 5.2/5.3/5.4 (x86/x64).
Pero nadie nos dice que ocurre con las otras distribuciones conocidas, asi que en los proximos articulos trataremos el tema sobre como instalarlo en un sistema Linux.
Los espero para la proxima entrega!

Como Bootear Windows 2008 Server R2 desde un VHD

He escrito en posts anteriores y la gente de Microsoft ha profetizado que Windows 7 y Windows Server 2008 R2 tiene mejoras en el tema de la virtualizacion en todo sentido.

En este post, hablare sobre como bootear un sistema operativo incluido dentro de un VHD (Virtual Hard Disk) desde Windows 7 (Tambien es valido para su homologo de la familia de servidores).

Ingredientes:

  • WAIK: Windows Automated Installation Kit
  • Imagen ISO de Windows Server 2008 R2
  • Mucho espacio en el disco duro
  • Privilegios de administrador
  • Paciencia y tiempo libre
  • Windows 7 YA instalado.

Paso Numero 1

Primero que todo, vamos a descomprimir o montar la iso de Windows Server 2008 R2 y vamos a montar la iso de WAIK. Luego ejecutamos el instalador de WAIK que viene dentro del disco.

Precaucion: Recordar y verificar la ruta de descompresion o montaje de Windows Server 2008 R2.

Paso numero 2:

Empezamos con lo pesado. Todo el proceso lo haremos desde la consola. Nos vamos a Inicio->Cmd, debemos ejecutarla con permisos de administrador. Dentro de la consola escribimos:

diskpart
Create vdisk file=C:winserver.vhd maximum=40000 type=fixed
Sel vdisk file=C:winserver.vhd
Attach vdisk
list disk

Con esto, creamos un disco duro virtual de 40GB ubicado en C:, luego seleccionamos el disco y lo montamos.

Cuando ejecutamos list disk, nos va a mostrar un listado de discos que tenemos en nuestro sistema. Generalmente, el disco que hemos creado recien esta marcado con un asterisco (*).  Asi que escribimos los siguientes comandos en la consola.

sel disk X (En donde X es el disco que acabas de crear)
sel part1
active
format fs=ntfs quick
assign

Sencillo: Seleccionamos el disco, seleccionamos la particion 1, la marcamos como activa y formateamos rapido con ntfs. Una vez que escribimos assign nos mostrara tal cual si fuera otro dispositivo de almacenamiento.

Paso numero 3:
Cerrar la consola e ir a Inicio -> Microsoft Windows AIK -> Linea de Comandos de herramientas de implementacion. Dentro de esta consola, escribimos:

ImageX /info rutaawindowsserver2008r2sourcesinstall.wim

Nos mostrara todas las opciones. Con esto nos aseguramos que podemos seguir adelante. Vamos!

ImageX /applyu rutaawindowsserver2008r2sourcesinstall.wim /check 3 X:

En donde X: es la unidad del disco duro virtual. Esto proceso toma un tiempo.

Paso numero 4:
Volvemos a abrir el cmd con permisos de administrador y escribimos los siguientes comandos para «desmontar» el disco duro virutal:

diskpart
select vdisk file=c:winserver.vhd
detach vdisk
exit

Ahora haremos uso de BCDEDIT. Esta herramienta nos sirve para ver, modificar, agregar, eliminar registros del arranque. Para los linuxeros, es como si entraran al /boot/grub/menu.lst

bcdedit /copy {current} /d «Arranque desde VHD»

Nos va arrojar un identificador, estie tiene numeros y letras. Este deben anotarlo porque lo ocuparemos en los siguientes pasos:

Bcdedit /set {XXXXXXXXX} device vhd=[C:]winserver.vhd
Bcdedit /set {XXXXXXXXX} osdevice vhd=[C:]winserver.vhd
Bcdedit /set {XXXXXXXXX} detecthal on
Bcdedit /set {XXXXXXXXX} description «Arrancar desde VHD»

Es importante escribir bien estas ordenes para que el proceso sea exitoso. XXXXXXXXX corresponde al identificador.

Luego de esto, reiniciaremos el pc, arrancamos desde el VHD y empezara el proceso de configuracion de Windows Server 2008 R2.

Un saludo!

Modo XP en Windows 7

Este post lo tenia pendiente desde agosto. Han pasado muchos meses y no dejare este tema de lado.

Una de las cosas espectaculares que tiene Windows 7 es el soporte para virtualizacion en el escritorio.  Muchos diran: «Bah! Eso lo puedo hacer con VirtualBox, VMWare, Qemu y desde CUALQUIER sistema operativo» Ok, perfecto, estamos completamente de acuerdo.  En Linux, BSD, OpenSolaris, etc, tenemos MUCHOS software que nos ayudan con el temita de la virtualizacion de escritorio. Pero la pregunta del millon es: Cuantos pasos debes seguir antes de abrir aplicaciones dentro de la maquina virtual?. La respuesta es sencilla (Hasta yo me la se!): Muchos.

Microsoft tiene dos software para la virtualizacion de escritorio: Microsoft Virtual PC 200 7 y Microsoft Virtual PC. Diferencias? Muchas. Les dejo un cuadro comparativo extraido desde el sitio oficial de Microsoft.

Free Image Hosting at www.ImageShack.us

QuickPost Quickpost this image to Myspace, Digg, Facebook, and others!

Vamos al grano. Primero que todo, debes saber si tu sistema es apto para Modo XP. Eso lo realizas con esta herramienta. Si obtienes una imagen como esta, tu sistema es apto.
Free Image Hosting at www.ImageShack.us

QuickPost Quickpost this image to Myspace, Digg, Facebook, and others!

Luego tienes que sguir con la descarga especifica para tu version de Windows 7 y tu arquitectura.

Observaciones:

  • Solo funciona con computadores que tengan intel-vt  o amd-v
  • Solo funciona con Windows 7 Professional, Entrerprise o Ultimate

Algunas Capturas

En el menu inicio:
Free Image Hosting at www.ImageShack.us

QuickPost Quickpost this image to Myspace, Digg, Facebook, and others!

Iniciando:

Iniciando Modo XP
Iniciando Modo XP

Ventana de Windows XP:
Free Image Hosting at www.ImageShack.us

QuickPost Quickpost this image to Myspace, Digg, Facebook, and others!

Unidades Virtuales:
Free Image Hosting at www.ImageShack.us

QuickPost Quickpost this image to Myspace, Digg, Facebook, and others!

En este punto me quiero detener. Si miran la imagen con mucho cuidado, veran que las unidades fisicas estan en red. O sea, la maquina virtual con Windows XP funciona de una manera mas o menos independiente a la maquina fisica. Esto quiere decir, que las unidades fisicas se convierten en unidades en red para poder hacer uso de los archivos que se encuentran en el host fisico.

Aunque despues de todo, sabe perfectamente que es solo una maquina virtual muajajajaja
Free Image Hosting at www.ImageShack.us

QuickPost Quickpost this image to Myspace, Digg, Facebook, and others!

Cerrando la maquina virtual

Cerrando Modo XP
Cerrando Modo XP

Otro punto muy interesante. Al momento de cerrar la maquina virtual, no se «apaga» completamente, sino que esta se hiberna para no perder la informacion en la que estabas  trabajando en ese momento.

Aplicaciones en Modo XP

En la maquina virtual tengo una sola aplicacion instalada. Esta es el clasico Visual Basic 6 (No corre sobre Windows 7). Si yo me voy al menu inicio y escribo «Visual Basic 6», aparece la aplicacion que tengo en la maquina virtual:
Free Image Hosting at www.ImageShack.us

QuickPost Quickpost this image to Myspace, Digg, Facebook, and others!

Interesante!!

Proximamente, mas posts sobre Modo XP y esas cosas!