16 de mayo de 2008

POST PARA NOSTÁLGICOS II:

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.

16 de marzo de 2008

POST PARA NOSTALGICOS I


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...

15 de febrero de 2008

Probando, 1, 2, 3. Probando, 1, 2, 3

Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4. Probando 1, 2, 4.