Archivo de la etiqueta: MacOS X

MacOS Xen: Snow Leopard as guest on a Xen domU

Some days ago I started trying to get MacOS X to run as a virtual machine on Xen. After all if the OSx86 guys are getting it to run on normal PC hardware, why not on virtual hardware?

There’s not much info available and most of them is incomplete. The more accurate sites I could find were:

Some notes:

  • I’m using Debian Squeeze with the bundled Xen 4.0 for the hypervisor and the dom0. The server si a cheap (~300€) PC with a DualCore E5700 @3Ghz and 4Gb of RAM. Other versions of Xen may need different options or have a slightly different config file syntax.
  • I assume you already know how to configure a Xen domU, access it through Xen’s built-in VNC server, etc.
  • Instead of using the original Snow Leopard DVD and then patching like here, I’m taking the easy road using iATKOS S3 v2 which is already upgraded to 10.6.3 and bundles several the OSx86 patches.

My /etc/xen/hackosx.cfg file is a mix of those on the previously mentioned pages:

kernel = "/usr/lib/xen/boot/hvmloader"
builder='hvm'
memory = 512
device_model='/usr/lib64/xen/bin/qemu-dm'

name = "hackosx"
#vcpus=1
pae=1
acpi=1
apic=1
#HPET=1
#timer_mode=0
#vpt_align=0
#vcpus_avail=1
#localtime=1
NE2000=0

vif = [ 'type=ioemu,ip=192.168.10.10,bridge=xenbr0' ]
disk = [
        'phy:/dev/mapper/xen-hackosx_hd,ioemu:hda,w',
        'file:/root/iATKOS_S3v2.iso,hdc:cdrom,r',
  ]

# first boot from disk, then from cd if that fails
boot="cd"
sdl=0
vnc=1
vnclisten="0.0.0.0"
vncdisplay=1
vncconsole=0
vncunused=1
vncpasswd='pass'

stdvga=1
serial='pty'
monitor=1

Fix the path to the HD image file/dev and the iATKOS ISO if you need.

So, let’s begin:

  • On the dom0 run “xen create /etc/xen/hackosx.cfg” and access it via VNC.
  • Run Disk Utility and partition the virtual HD. Return to the installer.
  • On the screen where you select the destination HD, click the customize button on the bottom left. Besides the default options (on the screenshot) I also selected the following (NOT on the screenshot and NEEDED for OS X to run on Xen):
    • Patches->Modified Kernels->qoopz 10.3.0
    • Drivers->Main Hardware->SATA/IDE->Intel SATA/IDE
    • Drivers->Main Hardware->PS/2->Apple PS/2
    • Drivers->Network->Wired->Realtek->RTL8139

    iATKOS default options

  • Continue with the installation.

The installer proceeds normally until the end. In my case it gets stuck in “Remaining time: 8 minutes approx.” so after a while seeing the progress bar not… well… progressing, I went to the dom0 and restarted the virtual machine. Note: I had to re-install several times until I got the right options and the installer hanged for me at that point always.

Despite the unfinished installation, access again the VM after restarting it with VNC. This time you’ll see the usual OS X 1st time wizard configuring the language, time zone, user account, etc. Yay!

Now, on to the upgrade to 10.6.6:

If everything worked as expected, now you’re running MacOS X Snow Leopard updated to 10.6.6 on a Xen domU. o/

Some additional details:

  • Network performance with the default OS X RTL-8139 driver is TERRIBLE (at least right after installing iATKOS, before upgrading to 10.6.6). Follow these instructions to replace it.
  • If you go to apple menu on the upper left corner and then “About this Mac”, the Finder restarts and you don’t get the About window. :-/ Nevertheless the system is upgraded: “uname -r” says 10.6.0 (same as in my MacBook Pro) and the App Store is installed.
  • Run Software Update. There’s a Safari update, a Java one and an iTunes one. ;-) (yes, Software Update works and these upgrades don’t break any of the MultiBeast patching).
  • Install VineServer (it’s free). Is a much better VNC server than the one integrated in Xen and more compatible/standard than the one bundled in OS X.
  • Disable power saving in System Preferences -> Energy Saver. When the virtual OS goes into power saving I don’t know how to wake it, you can VNC to it but it’s completely unresponsive. Maybe there’s a fix, iATKOS and/or MultiBeast have a fix for power saving (not for Xen of course, but maybe it helps) and Xen’s config seems to have some options for power management.

Enjoy. :-)

March 23th update: Apple released the MacOS X 10.6.7 upgrade yesterday. I’ve just tried to install it through Software Update and it works. No need to run MultiBeast even.

DNI electrónico en MacOS X Snow Leopard

Hace unos meses renové el DNI y me dieron ya el DNI electrónico. Además pedí uno de los lectores de la campaña de Tractis que los mandaban por 2€ (gastos de envío). Intenté instalarlo con las instrucciones que venían en el CD de drivers pero no iba, y como por entonces realmente no lo necesitaba lo dejé estar. Ahora con la Renta a la vuelta de la esquina he decidido darle otra oportunidad. Esta vez básicamente lo que he hecho ha sido desinstalar y seguir los pasos de ésta página y ésta otra:

  • Desinstalar la instalación anterior, ejecutar:
    • sudo -i
    • /Library/OpenSC/bin/dnie-uninstall
    • /Library/OpenSC/bin/opensc-uninstall
  • Instalar el driver SCA para MacOS X. Las versiones 0.2.8 y 0.2.7-pre no me han funcionado, la que finalmente me va es la 0.2.3pre2.
  • Del portal del DNI-e para Mac, instalar el driver.
  • Después de reiniciar la sesión, instalar el certificado raíz del DNI-e. Instalarlo en Firefox porque Safari no está soportado. :-( Preferencias->Avanzado->Cifrado->Ver Certificados->Autoridades->Importar (en las páginas que he enlazado al principio hay capturas de pantalla).
  • Con el lector ya pinchado a un puerto USB y el DNI dentro, instalar en Firefox el driver del lector: Preferencias->Avanzado->Cifrado->Dispositivos de Seguridad->Cargar y como “Archivo del módulo” poner /Library/OpenSC/lib/opensc-pkcs11.so.
  • Acceder a la página de prueba para ver que funciona (elegir el certificado de autenticación, no el de firma ;D).

La primera vez que se vaya a usar el DNI-e en cada sesión pide la contraseña (PIN) que os debieron dar al haceroslo. Ahora puede ser un buen momento para cambiarla. ;-) ¡Pero para cambiarlo por Internet hay que instalar un .exe! Así que en Mac, nada. Hay que ir a una oficina de expedición. m-/

Un detalle que me ha traído de cabeza un rato: tengo un hub USB al que tenía pinchado el lector y no había manera de que funcionase, ni siquiera se encendía el LED. Al pincharlo directamente a un puerto USB del Mac, sin problemas. Así que ojo si tenéis un hub.

Otro detalle: aunque con esto el chiringuito ya esté instalado y funcionando, eso no quiere decir que podamos acceder a cualquier página que admita DNI-e. P.ej. en ING se puede acceder con el DNI en vez de contraseña y tarjeta de claves, pero al ir a acceder me sale un mensaje diciendo que mi navegador o sistema operativo no está soportado. :-/

Así que aparte del lío para instalarlo, aparte de que no funcione en Safari ni Chrome y haya que usar Firefox, algunas webs puede que dependan de algún applet Java que se atragante en Mac o un control ActiveX con lo que apaga y vámonos, y además con Mac no puedes cambiar el PIN.

Tres hurras por las tecnologías abiertas independientes de la plataforma bien implementadas. :-P Me parece que ya he hecho todo el uso del DNI-e que voy a poder hacer en Mac. :-/

Cuando la rueda del scroll deja de funcionar: desmontar el Mighty Mouse Wireless

Cuando me compré el MacBook Pro hace dos años y medio me hice también con un Mighty Mouse Wireless. Qué le vamos a hacer, los touchpad no me acaban de gustar y el ordenador lo uso sobre todo como equipo de sobremesa, así que el ratón me viene bien.

De vez en cuando he tenido los típicos problemas de “roña” que se amontona en la bola del scroll y deja de ir en alguna dirección, pero siguiendo las instrucciones de Apple (frotar la bola con un paño húmedo, con fuerza, con el ratón boca abajo) se había solucionado. Hasta ahora. Desde hace un par de semanas el scroll hacia abajo no iba de ninguna manera, y con los procedimientos de limpieza habituales no conseguía nada. Parece mentira que hasta hace unos años los ratones no tuvieran rueda para el scroll (coño, ni botón central) y sobreviviéramos así, es que estas pequeñas cosas no te das cuenta de lo que ayudan hasta que las pierdes. Estas dos semanas tener que usar la tecla de “Av. Pág.” me sacaba de quicio. Así que había que “operar”, a vida o muerte.

Abrir un chisme de Apple siempre tiene su gracia. Con esos diseños tan cuidados y redondeados, sin un sólo tornillo a la vista, muchas piezas van a presión o pegadas con lo que desmontarlas es cuestión de paciencia y mucho tacto.

El siguiente vídeo que he encontrado en ésta página explica el proceso. Es con un Mighty Mouse “Wired”, pero con el Wireless es todo igual. No hace falta la mariconada de palanca que se construye el tío con el “clip” de encuadernar folios, con un destornillador de precisión suficientemente fino (y mucho, mucho cuidado) vale. Inevitablemente van a quedar algunas marcas, pero … mejor eso que gastarse otros 60€ en un ratón nuevo, ¿no? ;-)

A video used to be embedded here but the service that it was hosted on has shut down.

Desmontar, limpiar, volver a montar y pegar de nuevo el aro de abajo del ratón. A penas media hora, ratón como nuevo y scroll funcionando.

Por cierto, un componente dentro del bicho tiene un código QR encima, pero el Android no ha sido capaz de leerlo. :-? Curioso.

Safari AdBlocker, compatible 64bits

Por fin, ¡¡¡un bloqueador de publicidad que funciona en Snow Leopard a 64 bits!!! Con el paso a 64 bits muchos plugins para Safari dejaron de funcionar, entre otros todos los de bloqueo de publicidad.

Acabo de dar por casualidad con uno que funciona: el Safari AdBlocker, un fork basado en SIMBL del SafariBlock compatible con las suscripciones para AdBlock Plus.

¡Muy recomendable!