domingo, junio 16, 2013

Post para nostalgicos II: BeOS en QEMU

Este post fue publicado en otro blog en 2008, lo recupero aqui. Puede que algunas referencias ya no esten vigentes.

Instalar BeOS en Qemu para Linux

En el post anterior instalamos Qemu para Linux e iniciamos con BeOS, ahora prepararemos todo un poco mejor.

El archivo con BeOS "image.be", es un disco virtual de 500 megas, suficiente para el sistema operativo que apenas ocupa aproximadamente 300 megas, pero muy pequeño si queremos agregarle mas software, así que nuestra primera meta sera crear un nuevo disco duro virtual e instalar BeOS en él.

Con el comando "qemu-img" crearemos un disco virtual, el comando exacto es este: "qemu-img create -f qcow ~/beos/qemu.img 5G". Este disco crecerá hasta los 5 gigas mientras le copiemos datos, así no malgastamos el espacio del disco duro real. Ya que tenemos el disco virtual solo falta iniciar nuevamente nuestra copia de BeOS y decirle que se instale en el nuevo disco, un procedimiento harto fácil.

Iniciamos Qemu con el siguiente comando: "qemu -hda ~/beos/beos.img -hdb ~/beos/image.be -fda ~/beos/floppy.img -boot a".
Acuerdate de subir el vídeo en modo VESA presionando la barra espaciadora y seleccionando "Select fail-safe video mode" y un modo de vídeo acorde a tú monitor. Ya lo arreglaremos definitivamente en un rato.





Ventana de seleccion de modo de vídeo Vesa (1) Ventana de selección de modo de vídeo Vesa (2)


Ya iniciado en el menú de BeOS selecciona "Application" e "Installer".

Menu y programa Installer


Aquí selecciona Agree y en la próxima ventana haz clic en el triangulito de More Option

Opcion


Selecciona el botón Setup Partitions para preparar una partición en el disco virtual. En la ventana de Drive Setup selección el segundo disco de la lista. El primero es la unidad de disco, el tercero es el seleccionado en Qemu como hdb y etiquetado como Personal Edition. Ya seleccionado ve a la opción "Setup" del menú y escoge en el submenu "Partition" e "Intel". En la ventana resultante escoge el tipo de sistema de archivos en la primera partición haciendo un clic en el botón que dice "Empty" y seleccionando BeOS. En el botón que dice "layout" selecciona la primera opción: "100% Partition". OK. Proceed. Cierra Drive Setup, el instalador automáticamente detecta la nueva partición y la selecciona, haz clic en el botón "Begin", aparece una ventana de advertencia, escoge "Go ahead", en la próxima ventana escoge "Initialize" para crear el sistema de archivos, escoge una etiqueta (en mi caso fue "QemuBeOS") y has clic en el botón "Initialize". La instalación comienza automáticamente.


Drive Setup

Partition


En mi computadora (un AMD Athlon 2800+ con 1 giga de RAM y Slackware 12 con un kernel compilado por mi mismo) tomo mas o menos dos minutos, según tu hardware puede que tome hasta un poco menos. Eso es emulándolo, imagínate lo que seria en el hardware real.

(Al terminar la copia de archivos nos preguntara si queremos instalar un Boot Manager, por supuesto la respuesta es Yes. Next. Next. No. Solo escogemos la primera opción QemuBeOS). Next. Next. Next. Yes. Done y apaga BeOS.


Bootman

Bootman


Ahora para iniciarlo con Qemu utiliza el siguiente comando: qemu -hda ~/beos/beos.img -boot c.
No olvides lo del vídeo VESA, al menos hasta el próximo paso.

Si seguiste el post anterior y habías configurado las direcciones IP para acceder a Internet, estas se copian al nuevo sistema, así que al iniciar ya debería ser accesible el Internet.

Configurando el vídeo
No siempre vamos a estar presionando la barra espaciadora al inicio del booteo para tener BeOS con colores, seria una vergüenza para nosotros seres informáticos que automatizamos hasta lo no automatizable. Para configurar el modo de vídeo VESA en BeOS como el modo por defecto debemos modificar un archivo o bien descargar el programa Vesa Accepted (http://www.bebits.com/app/1105). El método manual es modificando el archivo /home/config/setting/kernel/driver/sample/vesa escribiendo la resolución que quieres y la cantidad de colores, por ejemplo: "800 600 16" y ubicandolo en la carpeta /home/config/setting/kernel/driver. Aunque este método es mas facil y no necesita de software adicional, el primero es el recomendado y el mas elegante.
Vesa Accepted


Ejecutar Qemu con BeOS en una instancia nueva de X.
¿Para qué? pues para cambiar entre la instancias de X mediante CTRL+ALT+F
He intentando tener Qemu funcionando a pantalla completa en otro "Desktop" de KDE y cambiar con una combinación de teclas, pero lamentablemente no funciona, así que mi método es ejecutar una nueva instancia de X con Qemu a pantalla completa, todo con el siguiente comando desde una consola fuera de la sesión de X que tengas actualmente:
xinit /opt/qemu-0.9.0/bin/qemu ~/beos.img -full-screen -- :1

Ahora que tienes BeOS funcionando lo siguiente seria instalar algunos programas y disfrutar de la experiencia, para ello date una vuelta por www.bebits.com y si algo te interesa lo descargas, descomprimes y ejecutas.

Fin
Para disfrutar de la verdadera experiencia de usar BeOS lo ideal es instalarlo en el disco duro y disfrutar de la velocidad de BeOS en un hardware real. Pero eso sera en otro post.

Post para nostalgicos III: BeOS En VMWARE

Este post fue publicado en otro blog en 2008, lo recupero aqui. Puede que algunas referencias ya no esten vigentes.

BeOS en VMWARE para Linux



En otro post escribí sobre ejecutar BeOS en Qemu para Linux con el propósito de probarlo, recordarlo o conocerlo, segun sea el caso. Qemu no es el único emulador/virtualizador disponible, antes de él ya VMWARE había conquistado el mercado, como es software comercial fue diseñado para trabajar con sistemas Windows, Linux y algunas variantes de Unix y BSD, así que BeOS no era santo de su devoción, mas bien durante un largo tiempo fue imposible usar BeOS en VMWARE por la forma en que emulaba la memoria, recuerdo que leí sobre ello en la pagina de VMWARE, pero eso hace mucho y por suerte ahora la historia es otra.

BeOS no solo funciona actualmente (y desde hace ya bastante tiempo) en VMWARE sino que lo hace mas rápido que en Qemu, aunque presenta incompatibilidades y son necesarios algunos pasos extras. Con este post pretendo adelantarme a algunos que piensen probar BeOS en VMWARE y se encuentren con estos problemas.

VMWARE es un virtualizador, permite emular otra maquina con su propio sistema operativo sobre el hardware y el sistema operativo real.

Actualmente existen varias versiones, dos de ellas gratis, VMWARE Player y VMWARE Server. Para nuestros propósitos la VMWARE Player nos vendrá bien, ademas se descargara mas rápido porque son solo 20 megas.

Por varias razones para instalar BeOS en VMWARE son necesarios algunos pasos adicionales a la instalación en Qemu, primero, a diferencia de Qemu VMWARE emula un procesador AMD y existe un bug en BeOS con estos procesadores, para resolverlo es necesario modificar el archivo /beos/system/kernel_intel y modificar la segunda ocurrencia GenuineIntel por AuthenticAMD, el programa DiskProbe incluido en BeOS PE sera suficiente para hacer esto.

Segundo, necesitamos drivers para la tarjeta de red, VMWARE emula una vlance, encontraremos el driver en www.bebits.com. Tercero, tambien necesitamos el driver de la tarjeta de vídeo, aunque podemos usar los modos de vídeo VESA en VMWARE. La versión actual del driver de vídeo de VMWARE en BeOS esta en desarrollo y no hay una versión binaria, solo el código fuente, así que tendremos que descargar las utilidades de desarrollo para compilarlo.

Si no has leído el otro post para nostálgicos: Iniciar BeOS en Qemu para Linux, es momento de hacerlo o de darle una nueva ojeada. Usaremos Qemu para ciertas tareas, así que supondré que has experimentando con el anterior post para poder trabajar con este.

Empecemos

1. Descarga la ultima versión del Vmware Player desde http://www.vmware.com/. Descarga la versión que corresponda con tu distribución y sigue las instrucciones dadas por VMware para instalarlo.

2. Descargas BeOS si no lo hemos hecho ya, [http://www.bebits.com/app/2680]. Esto esta mejor explicado en mi otro post.

3. Debemos modificar el archivo kernel_intel para que funcione correctamente con el procesador AMD que emula VMware e instalar drivers y actualizaciones necesarias. Espero que tengan Qemu instalado para ejecutar los pasos siguientes.

Iniciaremos BeOS en Qemu con el comando qemu -hda ~/beos.img y con el programa DiskProbe buscamos en /beos/system/kernel_intel la segunda ocurrencia del texto GenuineIntel y lo substituimos por esto otro AuthenticAMD (hay que respetar las mayusculas).

DiskprobeDiskprobe


Ahora vamos a descargar el driver de la tarjeta de red y de la tarjeta de vídeo, respectivamente [http://www.bebits.com/app/4355] y [http://www.freelists.org/archives/openbeos/01-2007/msg00081.html].

La tarjeta de red es un archivo autoinstalable, asi que no dará mas problemas que tener que hacerle doble clic y aceptar. Pero para instalar el driver de vídeo primero hay que descargar "BeOS R5 Development Tools". Para instalarlas hay que descomprimir el archivo en el directorio principal. Con las herramientas de desarrollo instaladas (puedes probar esto ejecutando "cc --help" desde el programa Terminal) habre un Terminal y ubícate en la carpeta donde descargaste y descomprimiste el driver de vídeo (si no lo has descomprimido ¿ha que estas esperando?). Para compilar el driver de vídeo solo es necesario ejecutar "make" y "make install".

Ya modificado el kernel_intel e instalado los drivers apaga BeOS.

4. Ahora hay que convertir nuestra imagen de disco al formato vmdk que es el utilizado por VMware con el comando siguiente: qemu-img convert -f qcow ~/beos.img -O vmdk ~/beos.vmdk.

5. Vmware Player no permite crear los archivos de configuración para nuevas maquinas virtuales, por lo que lo crearemos mediante la pagina www.easyvmx.com, un truquito muy funcional y apropiado. Evidentemente descargaremos el archivo resultante en la misma carpeta donde tengamos nuestra imagen de disco.

6. Con VMware Player ya instalado, la imagen previamente convertida a formato vmdk y un archivo de configuración vmx creado y ubicado en el mismo directorio que la imagen de disco solo basta iniciar VMware y desde la ventana especificarle donde esta el archivo de configuración de la maquina virtual.

Fácil verdad. Algunos pasos ya fueron explicados antes, por eso este post parece tan corto y con tan pocos detalles.

Nota: He notado que en algunas ocasiones el mouse en VMware deja de funcionar y se posiciona en la esquina superior izquierda, creo haber leído por hay que es un bug del driver de vídeo, pero me ocurrió al menos una vez antes de instalar el driver así que ya no estoy seguro, también creo haber leído que la única solución es reiniciar BeOS, puedes hacer CTRL + ALT + DEL y moverte entre las opciones con la tecla tab.
BeOS


Espero disfruten con BeOS y te prepares para instalarlo localmente en tu maquina, donde verdaderamente podrás disfrutarlo.

¿Fin?

Post para nostálgicos I: BeOS en QEMU

Este post fue publicado en otro blog en 2008, lo recupero aqui. Puede que algunas referencias ya no esten vigentes.

Iniciar BeOS en Qemu para Linux

Logo BeOS
Algunos habrán escuchado muy buenas cosas de BeOS, otros que ya lo conocen lo recuerdan con añoranza y melancolía, algunos están conociéndolo recién ahora o apunto de conocerlo, en fin, a pesar del tiempo pasado BeOS no ha muerto, sigue en la memoria colectiva de mucha gente y permanecerá así por mucho tiempo.

Este post brinda la oportunidad de probarlo ya sea para conocerlo o solo para recordar lo que lo hacia tan especial. No es nada complicado utilizar BeOS en el emulador libre Qemu, pero a muchos le da flojera investigar y quizás con este post los anime a volver a intentarlo aunque sea por unos momentos. Servirá para preparar algunas bases ante la llegada de su substituto libre Haiku, tan bello y bien diseñado como el original.

Seguro que la mayoría de los que se interesen por este post ya saben que es BeOS y que es Qemu, para los nuevos mi recomendación es que visiten la wikipedia y lo lean por ustedes mismos:
BeOS: http://es.wikipedia.org/wiki/BeOS
Qemu: http://es.wikipedia.org/wiki/Qemu Homepage: http://fabrice.bellard.free.fr/qemu ó http://www.qemu.net Ese pedazo de emulador: http://www.badopi.org/node/585

Como resumen diré que Qemu es un emulador, permite tener otra computadora funcionando sobre la computadora real, emulando el hardware para que los sistemas operativos crean que están en una PC verdadera. Qemu no solo emula PC, sino otras arquitecturas de procesadores como PPC, ARM, Sharp y mas.

BeOS es un sistema operativo desarrollado por Be Incorporate en 1990, empresa que fue vendida a Palm en 2001 debido a problemas financieros. BeOS esta orientado al ámbito multimedia, es super rápido, su interfaz es muy simple y limpia, soporta mas de un procesador (desde el año 1990, cuando ms-dos dominaba el mercado, aun en el '95 su competencia era Windows 95 que no trabajaba bien ni con un procesador) entre otras muchas virtudes.

¿Empezamos...?

Mi único sistema operativo en casa es Linux, Slackware 12 para ser exacto, así que instalaremos Qemu aquí. Evidentemente instalar Qemu en Windows es tan fácil como descomprimir un archivo .zip. Con estas instrucciones podrá instalarse en cualquier distribución ya que uso el paquete fuente original y no paquetes precompilados para una u otra version especifica de Linux.

Quizás ya conozcas como se instala y ejecuta Qemu, así que seré breve, en caso contrario no solo tienes estas instrucciones sino la pagina oficial http://www.qemu.net para buscar mas información.

Evidentemente nuestro primer paso sera descargar los fuentes desde www.qemu.net o bien descargar los binarios que hay disponibles para Linux. También puedes utilizar el repositorio de software de tu distribución favorita, seguro que ya tienen Qemu precompilado. Yo prefiero compilar desde las fuentes, así les muestro un ambiente que todas las distribuciones puedan compartir. Para la fecha de edición de este post la ultima versión disponible es la 0.9.1

Por cierto, Qemu presenta problemas si se compila con GCC 4, así que para los que tenemos distribuciones que lo incluyen habremos de cambiar a la versión 3. Para Slackware es sencillo, desde http://packages.slackware.it podemos descargar la versión 3.4.6, no hay que desinstalar la version actual (4.1), esta ultima se instala en la carpeta /opt, así que no entra en conflicto con nuestra versión de GCC. Ya instalada GCC 34 se puede hacer un enlace simbólico de /opt/gcc34/bin/gcc-3.4.6 a /usr/bin/gcc-3.4.6 y /usr/bin/gcc34.

  1. Descargamos los fuentes en nuestra carpeta personal (cd ~; wget http://fabrice.bellard.free.fr/qemu/qemu-0.9.1.tar.gz)
  2. Descomprimimos (tar -xzf qemu-0.9.1.tar.gz)
  3. Entramos al directorio y ejecutamos ./configure (cd qemu-0.9.1; ./configure --cc=gcc34 --prefix=/opt/qemu-0.9.1 --interp-prefix=/opt/qemu-0.9.1/share --target-list=i386-softmmu). Ahora lo explico: --cc=gcc34 le indica a Qemu que se compile usando el comando gcc34 que es la versión 3.4.6 de gcc que descargamos hace poco; --prefix nos copiara los archivos binarios en /opt/qemu-0.9.1, por defecto lo hace en /usr/local pero yo prefiero hacerlo en opt, así si hay que eliminarlo solo hay que borrar la carpeta; interp-prefix nos ubicara la bios y la tarjeta de vídeo virtual en la carpeta /opt/qemu-0.9.0/share e incluirá la ruta en el binario qemu, de otra manera tendríamos que indicarle al ejecutar qemu la opción -L y la ubicación de estos archivos; --target-list=i386-softmmu esta solo compila Qemu para emular la arquitectura i386, a menos que también quieras emular la x86_64 o SPARC, PowerPC, ARM etc. esta bien así.
  4. Compilamos (make ).
  5. Ya compilado instala como root (su; make install)
  6. Para tener disponible los binarios en nuestro $PATH hay que crear link simbólicos, como root (ln -s /opt/qemu-0.9.1/bin/qemu /usr/bin/qemu; ln -s /opt/qemu-0.9.1/bin/qemu-img /usr/bin/qemu-img)

Además de emulador Qemu funciona como virtualizador, que es un método distinto de ejecutar maquinas virtuales, en este método las llamadas al sistema son ejecutadas en el hardware anfitrión en vez de ser pasadas al sistema operativo anfitrión para que las ejecuta, con esto se acelera mucho el funcionamiento de algunos sistemas operativos. En Qemu esto se logra a través de un modulo llamado Kqemu, cuya versión al momento de este post es la 1.3.0pre11. Lamentablemente con BeOS no funciona correctamente por lo que no podemos disfrutar de toda la potencia del virtualizador, sin embargo teniéndolo instalado aun podemos aprovecharnos de cierto código de usuario que puede ser traspasado directamente al hardware y que funcionara bien en nuestro caso. BeOS es bastante rápido aun sin el Kqemu instalado y de todas maneras la diferencia entre tenerlo activado y no tenerlo activado puede que no se note, así que estos pasos pueden ser obviados, aunque cuando intentes probar a instalar Windows o Linux en Qemu es altamente recomendado tenerlo instalado y activado.

Hay que tener soporte para módulos en el kernel, ya que Kqemu es un modelo del kernel.

  1. Descargar Kqemu en tu carpeta personal (cd ~; wget http://fabrice.bellard.free.fr/qemu/kqemu-1.3.0pre11.tar.gz)
  2. Descomprimirlo y entrar al directorio (tar -xzf kqemu-1.3.0pre11.tar.gz; cd kqemu-1.3.0pre11)
  3. Ejecutar ./configure, make y make install, esto ùltimo como root (./configure; make; su; make install)
  4. Si usas udev en tu distribuciòn ejecuta este comando para crear el archivo /dev/kqemu:echo 'KERNEL=="kqemu", NAME="%k", MODE="0666" > /etc/udev/rules.d/60-kqemu.rules. En cambio si no usas udev ejecuta el comando siguiente:mknod /dev/kqemu c 250 0; chmod 666 /dev/kqemu (ambos como root claro).
  5. Para activar el modulo kqemu ejecuta el comando modprobe kqemu.
Ya con Qemu instalado nuestro proximo paso sera conseguir BeOS. El CEO de BeOS Jean-Louis Gassée ofreciò gratuitamente una copia del sistema operativo que funciona desde una imagen de disco virtual, se llama "BeOS Personal Edition", esta en http://www.bebits.com/bob/12420/BeOS4Linux.tar.gz, hay dos versiones, una para Windows con un instalador gràfico y otra para Linux que viene comprimida en un archivo tar.gz. La idea original era que se iniciara desde un disco flexible, este subìa BeOS desde el disco virtual ubicado en una partición de nuestro disco duro real. Este método solo funciona con sistemas de archivo FAT32, NTFS (de Windows NT 4 y Windows 2000, no funciona en NTFS de XP) y ext2 (no he probado con EXT3, se supone que es compatible con ext2 así que debería funcionar). Los sistemas aceptados eran los que existían al momento de que BeOS Personal Edition fuera creado y antes de que Be Incorporate fuera vendida. Pero nosotros usaremos Qemu, así que esto ultimo no nos aplica.

Entonces...
  1. Descargamos BeOS PE (cd ~; wget http://www.bebits.com/bob/12420/BeOS4Linux.tar.gz)
  2. y lo descomprimimos (tar -xzf BeOS4Linux.tar.gz).

Los archivos que necesitamos son floppy.img (que puede ser grabado en un disco flexible con el comando "dd if=floppy.img of=/dev/fda bs=512", pero no lo necesitamos) e image.be.

Ya con Qemu instalado, con los link creados apuntando correctamente a los binarios y con la imagen de BeOS disponible (supongo que en la carpeta ~/beos/image.be) solo nos falta iniciar con un comando como este:qemu -hda ~/beos/image.be -fda ~/beos/floppy.img -boot a

Atención: La tarjeta de vídeo que emula Qemu es una Cirrus CLGD 5446 que lamentablemente no tiene soporte en BeOS, así que seguro inicia en escala de grises, para evitar esto hay que subir con soporte para VESA. Al principio del booteo en Qemu presiona la tecla espaciadora, en el menú resultante selecciona "Select fail-safe video mode" y escoja un modo de vídeo.




Ventana de seleccion de modo de vídeo Vesa (1) Ventana de selección de modo de vídeo Vesa (2)



Ya tienes a BeOS funcionando, no fue tan difícil ¡verdad!

Escritorio vacio


Qemu soporta varios tipos de accesos de red para el sistema que se esta emulando y automaticamente selecciona el llamado "net user" que te permite acceder a Internet de manera automática compartiendo la conexión con el sistema operativo anfitrión y configurando el sistema invitado (el emulado) a través de un servidor interno de DHCP. En BeOS por alguna razón la configuraciòn por DHCP con Qemu no funciona así que hay que configurar a mano las IP para acceder al Internet.

En el menú de BeOS selecciona el submenu Preferences y la opción Network. Cliquea en el botón Setting y Especify settings, llena los campos con estas opciones: IP Address: 10.0.2.15; Subnet Mask: 255.0.0.0; Gateway: 10.0.2.2. Clic en Done y en la ventana principal el Primary DNS es: 10.0.2.3. Al guardar la configuración te preguntara si quieres reiniciar la red, responde que si y nuevamente en el menù BeOS ahora en el submenu Applications busca Netposite, un pequeño navegador Web muy ràpido, pero que lamentablemente no soporta JavaScript ni CSS, pero ya luego instalaremos FireFox.






Preferencias en el menu de BeOSConfigurar IP


Continuara...