viernes, 21 de agosto de 2009

Instalando Mac OS X en un PC con placa base GA-EP45-UD3R y gráficos Nvidia

Apple fabrica en mi opinión los ordenadores más bonitos del mundo. Entre sus creaciones hay auténticos ejemplos de diseño superlativo que merecerían estar en un museo (de hecho algunos lo están), como por ejemplo el Powermac G4 "cúbico", el iMac de pantalla plana o el Powermac G5 y sucesores.

Lo mejor de los Mac, sin embargo, hay que buscarlo probablemente en el extraordinario sistema operativo que es OS X, en particular y a la espera de Snow Leopard, en su actual versión 10.5.8. En teoría OS X sólo funciona en hardware de Apple pero existen maneras más o menos sencillas de instalarlo en un PC montado con piezas estándar (un Hackintosh, si queréis), procedimientos que han surgido propiciados por la migración que inició Apple hace unos años cuando comenzó a montar procesadores Intel en sus máquinas abandonando los anteriores PowerPC de IBM.

Ni que decir tiene que todo cuanto se cuenta aquí obedece al sólo objetivo de la divulgación técnica. Apple prohibe expresamente el uso de OS X en cualquier hardware que no sea el que ella misma vende, aunque se haya adquirido una licencia del mismo. De hecho, en cuanto el Finder (el escritorio, por así decirlo, de OS X) apareció por primera vez en todo su esplendor en mi monitor y comprobé que todo funcionaba correctamente en mi Mac - clónico, me apresuré a apagarlo, arrancar un Ubuntu / Linux alojado en un disco externo y borrar todo vestigio de la instalación de OS X para no contravenir su licencia de uso. Os invito a que hagáis lo mismo ;-).

Pero no adelantemos acontecimientos y vayamos por partes.

1. Los componentes hardware

Mi punto de partida fue Insanelymac, una web especializada en todo lo que tiene que ver con los hackintosh y la instalación de OSx86, que es como se denomina al OS X modificado para correr en hardware genérico. En esta web existe una lista con cientos de componentes habituales (placas base, tarjetas gráficas, procesadores, etc.) y su grado de compatibilidad con OS X. Conviene echar un vistazo antes de meterse en faena. Desde mi limitada experiencia, las elecciones críticas son dos, la tarjeta gráfica y, muy especialmente, la placa base. En mi caso, los elementos seleccionados inicialmente fueron:
  • Placa base Gigabyte EP45-UD3R. Incorpora el chipset P45 / ICH10, ambos de Intel, que dan buenos resultados a la hora de instalar OSx86. Presenta un conector de alimentación auxiliar de 8 pines (en lugar de los 4 más habituales), además del típico ATX de 20 + 4 pines.
  • 8 GB de RAM DDR2 1066 Kingston Hyper X en 4 módulos de 2GB, para que pueda funcionar en una configuración de doble canal.
  • Procesador Core 2 Quad Q9550 a 2,83mhz con 12MB de cache.
  • Tarjeta gráfica ASUS GeForce GTS 250 con 1GB de RAM. Se trata de un modelo de gama y precio medios que, atención, requiere alimentación adicional. A pesar de eso se caracteriza por un consumo eléctrico bajo y una disipación térmica reducida. Esto redunda en un ordenador más frío y menos ruidoso. Cuidado porque es bastante grande, ocupa la altura de dos tarjetas y prácticamente se extiende hasta el bastidor donde se fijan los discos duros.
  • Fuente de alimentación BeQuiet Straight Power E6 de 650W. Una pasada de fuente, con potencia y conectores de sobra y extremadamente silenciosa. Lástima que no se vea porque además es muy bonita.
  • Chasis Antec Three Hundred. Extraordinario para el precio que tiene, unos 50€. Aquí buscaba algo económico, de buena calidad y aspecto nada estridente. Incluso se da un aire a mi Powermac G5, con esa rejilla que cubre la casi totalidad del frontal. Incorpora 2 ventiladores internos de gran tamaño cuya velocidad de giro es ajustable, bastante espacio disponible en el interior y ciertas facilidades para el acceso y el cableado interno. La fuente de alimentación queda alojada en la parte inferior, por lo que necesitaremos una con los cables lo suficientemente largos para llegar hasta los conectores ATX de la placa base, unidades de disco, etc.
  • Un disco duro de 500GB Western Digital y 2 Samsung Spinpoint de 1TB.
  • Monitor VGA LG222WS con conexión VGA, no DVI.
  • Alguna cosilla más sin demasiada importancia, como una grabadora de DVD LG genérica y un panel frontal multifunción Akasa AllInOne.
Como decía antes, la elección delicada es la correspondiente a placa base y tarjeta gráfica. De hecho, inicialmente opté por una ATI Radeon 4670, menos potente que la finalmente escogida pero más pequeña y de menor consumo. Con ella, si bien fue posible completar la instalación, no hubo manera de encontrar los controladores adecuados para obtener aceleración gráfica y múltiples resoluciones.

Otro tanto me ocurrió en un segundo intento con una ATI 4850, que teóricamente sí debe funcionar a juzgar por los comentarios dejados en foros por algunos usuarios. Aunque siguiendo sus indicaciones pude activar la aceleración gráfica y las múltiples resoluciones, fue necesario recurrir a una utilidad llamada SwitchResX para habilitar los modos panorámicos. A pesar de todo, habitualmente me aguardaba una pantalla negra o corrupta tras realizar algún ajuste en la configuración gráfica y reiniciar, aunque el sistema seguía funcionando correctamente. Probablemente esto tuviera que ver con la conexión a mi monitor, que es VGA y no DVI. El caso es que finalmente me harté y probé con la GTS 250, con éxito al fin.

2. La instalación

Una vez que tenemos el PC correctamente ensamblado existen dos maneras de realizar la instalación. La más limpia pasa por utilizar un DVD original de instalación de Leopard, que arrancaremos en nuestro PC empleando un cargador de arranque especial que emula el entorno EFI de los Mac originales. La otra alternativa, más tradicional, pasa por emplear una versión modificada del DVD original, aunque en el fondo me da la sensación de que ambas estrateg¡as son similares.

Hay varios grupos de usuarios en Internet que se dedican a cocinar estas distribuciones especiales, que esta vez sí podemos arrancar directamente introduciendo el correspondiente DVD en el lector. En mi caso me decidí por iDeneb 1.5.1, que instala la versión 10.5.7 de OS X, y que podéis localizar empleando vuestro buscador de torrents habitual o en una conocida página de descargas cuyo nombre empieza por tarin y acaba en ga. También os podéis dar una vuelta por los foros de la web de iDeneb, donde además hay mucha otra información interesante.

Fundamental para que la instalación se desarrolle sin problemas:
  • Configurar la controladora SATA del disco objetivo en modo IDE (no AHCPI ni RAID). Conviene, por razones que quedarán patentes más adelante, que cualquier otro sistema operativo residente en otro disco duro conectado a la misma controladora que la grabadora de DVD haya sido instalado en modo AHCPI.
  • Si como es mi caso hay varios discos en el sistema, nos tenemos que asegurar de que de nuevo el disco objetivo sea el primero en la secuencia de arranque.
Atención, porque el cambio de modo de funcionamiento de la controladora SATA suele conllevar también un cambio en el orden de arranque. Será necesario guardar los ajustes de la BIOS, reiniciar, volver a acceder a ella y modificar la secuencia de inicio de los discos según nuestras preferencias.

Yo opté por un disco de 500GB para instalar Windows y Ubuntu y otros dos de 1TB para OS X, dedicando uno de ellos a Time Machine, el excelente sistema de copias de seguridad integrado en el sistema operativo. En un arranque de osadía, el primer disco está conectado, al igual que la grabadora, a los puertos SATA de la placa base que "cuelgan" directamente del ICH10, mientras que los discos gemelos lo hacen de los conectores SATA propietarios de Gigabyte. Con un par.

Durante el proceso de instalación, que por cierto se toma su tiempo, poca cosa a comentar, salvo algunas cosillas:
  • En el momento en que se debe elegir la unidad destino para la instalación es más que probable que no aparezca ninguna disponible. Que no cunda el pánico. Hay un bonito menú en la barra superior que nos permite abrir la Utilidad de discos. Empleándola crearemos las particiones que queramos. En mi caso, una sola con toda la capacidad disponible en el disco. Por cierto que si en algún momento necesitáis repetir la instalación, es fundamental emplear nuevamente la mencionada utilidad de discos para borrar la partición que contenga los restos de la instalación anterior.
  • A la hora de personalizar los módulos y parches tan solo activaremos el soporte para el idioma español y los controladores para la tarjeta de red, una Realtek 8111C que está soportada por iDeneb 1.5.1. No activaremos los controladores de audio (el driver para el codec ALC889A no funciona, aunque aparentemente sí está soportado) ni vídeo. Tampoco seleccionaremos ninguno de los kernels alternativos ni parches disponibles. Más sencillo imposible.
Si todo se desarrolla según lo esperado, en aproximadamente 15 o 20 minutos a partir de este momento la instalación finalizará y el sistema indicará que se va a reiniciar. Aquí tenemos que estar atentos porque en cuanto lo haga hay que entrar de nuevo en la BIOS y establecer el modo de funcionamiento de la controladora SATA a AHCPI, de lo contrario el sistema no arrancará. Nuevamente, cuidado con el orden de arranque.

Tras unos instantes aparecerá en pantalla el asistente del primer inicio y, por fin, el Finder de OS X. Estupendo ¿Y ahora qué? Bueno, hay que afinar aún unas cosillas, a saber: gráficos, audio, conexión a servidores smb / afp, Bonjour (necesario para descubrir servicios en red de modo automático, como por ejemplo servidores de archivos o bibliotecas iTunes compartidas), apagado / suspensión y algún que otro detalle menor. Como la tarjeta de red ya funciona, al menos parcialmente, abrimos el navegador (Safari, por supuesto) y nos ponemos a trabajar.

3. Ajustes y parches

Gráficos:
Yo seguí estas instrucciones. Al reiniciar, soporte para un sinfín de resoluciones y aceleración gráfica completita. No he probado a conectar simultaneamente varios monitores, pero probablemente funcionen sin problemas.

Audio:
Más instrucciones, esta vez un poco confusas por lo detalladas. Resumiendo, yo descargué el archivo Series of Legacy HDA e instalé HDAEnabler.kext y el LegacyHDA.kext que se encuentra dentro de la carpeta 3out2in HDA headphone ¿Y cómo se instala esto? Pues empleando Kext Helper. Un nuevo reinicio y sonido al canto.

Conexión a servidores smb / afp:
Para reparar esta característica tenemos que recurrir al Terminal, en el que escribiremos:
  • sudo rm /System/Library/Filesystems/afpfs.fs 
  • sudo ln -s/System/Library/Filesystems/AppleShare/afpfs.kext /System/Library/Filesystems/afpfs.fs (ojo, esto último en la misma línea).
Bonjour y apagado / suspensión:
Necesitamos descargarnos un conjuntos de kexts denominado Pack_for_10.5.7.zip que podemos encontrar aquí. Empleando nuevamente Kext Helper, instalaremos RealtekR1000.kext y el OpenHalRestart.kext localizado dentro de la carpeta withOUT speedstep. De nuevo reiniciaremos para comprobar que tanto Bonjour como el apagado, reinicio y suspensión del sistema funcionan correctamente.

Otros detalles:
Veremos que la herramienta de información del sistema en Acerca de este Mac no identifica correctamente algunas características del PC como la memoria o el procesador. Para solventarlo recurriremos a osx86tools, concretamente empleando el botón Modify About this Mac.

Aunque todos los archivos utilizados en esta fase de ajuste deberían estar disponibles siguiendo los enlaces que facilito, he recogido los que yo empleé aquí, junto a otros que nos vendrán bien más adelante, para facilitar su descarga:


4. Actualización a 10.5.8 y comentarios finales

Como el kernel que hemos empleado para la instalación es uno estándar, sin parchear (vanilla), ahora podemos incluso aventurarnos a realizar una actualización tanto de las aplicaciones instaladas como del propio sistema operativo a la versión 10.5.8, empleando para ello la herramienta de Actualización de Software. Tras un ratito de descargas y 2 o 3 reinicios (el último de ellos un tanto espeluznante por lo inesperado), el sistema quedará completamente actualizado y listo para funcionar.

En mi caso la actualización "rompió" alguna cosilla más:
  • Ni el disco duro en el que tengo instalado Windows / Ubuntu ni la grabadora de DVD aparecen ya por ninguna parte al iniciar OS X. Para subsanarlo establezco su modo de funcionamiento a AHCPI en la BIOS. Mucho cuidado porque cambiar el modo de acceso de un disco duro de IDE a AHCPI o viceversa probablemente impedirá que cualquier sistema operativo en él instalado deje de arrancar correctamente. Será necesario repararlo o reinstalarlo, a menos que realicemos los ajustes correspondientes en la BIOS antes y después de cada uso.
  • La suspensión tampoco funciona. Para solucionarlo hay que asegurarse de que el ACPI Suspend Type de la BIOS esté en S3 (STR) e instalar SleepEnabler.kext, que se puede descargar de esta página (archivo 10.5.8_Thireus_Fixes_3.3.zip). Hay que borrar también AppleIntelCPUPowerManagement.kext de /Sistema/Librería/Extensions. Elimina primero el archivo y añade SleepEnabler.kext después empleando Kext Helper para que se actualice el cache de las extensiones. Si en Extensions hay un archivo denominado Disabler.kext puedes eliminarlo también. Ten en cuenta que para "despertar" al sistema es necesario pulsar el botón de encendido, el teclado o el ratón no son suficientes.
  • Time Machine muestra un error al intentar seleccionar el disco para la copia de seguridad. Se solventa instalando IONetworkingFamily.kext, que también se encuentra dentro del archivo zip mencionado en el párrafo anterior.
Llegados a este punto, nuestro hackintosh funciona a las mil maravillas. A pesar de la pegatina manzanera que le he puesto, no es ni de coña tan glamuroso como el Powermac G5 que ahora mismo duerme el sueño de los justos a su lado... pero funciona a la velocidad del rayo. Empleando un conocido benchmark sintético para OS X, XBench, aquí os muestro cómo se comporta frente a todo un clásico, un Powermac G5 dual a 2ghz (en esta otra página con un pelín de overclocking aparentemente estable). Siguiendo los enlaces podéis compararlo también con otros equipos. Yo diría que no está nada mal.

Como os podéis imaginar, el cuerpo se te queda estupendamente después de muchas horas de trabajo y un gran número de intentos y pruebas frustradas cuando finalmente las cosas funcionan.

Y poco más, probablemente habrá otros procedimientos (más rápidos, más limpios, mejores en definitiva) de conseguir un estupendo hackintosh con los componentes que yo empleé, pero éste es el que me funcionó a mi, y os aseguró que no a la primera. A pesar de todo, el tiempo invertido ha merecido la pena.

¡A disfrutarlo!

03/04/11 (Actualización): Por casualidad acabo de darme cuenta de que había olvidado mencionar un pequeño detalle relacionado con un problema que tuve que resolver algunas semanas después de escribir este artículo y que se manifestaba del siguiente modo:
  • En ocasiones el puntero del ratón dejaba de responder a intervalos regulares, quedando congelado, para volver a la normalidad reapareciendo en una posición cercana apenas un instante después.
  • Los vídeos reproducidos utilizando Quicktime, especialmente en HD, evidenciaban tirones periódicos coincidentes con los del ratón.
Nada crucial. como veis, pero francamente molesto puesto que afecta a la experiencia de uso del sistema operativo y sus aplicaciones.

Tratando de diagnosticar el problema comprobé que bastaba con tener Quicktime o iTunes abiertos (aún sin estar reproduciendo nada) para que el sistema exhibiera este comportamiento, desapareciendo inmediatamente los síntomas al cerrarlos. Con otros reproductores como VLC no había ni rastro de tirones. Esto me hizo sospechar de algún componente de Quicktime, pero tras reinstalarlo, actualizar Perian y Flip4Mac (paquetes de codecs de vídeo indispensables, especialmente el primero) e incluso desinstalarlos, el problema no se resolvía

Rebuscando en Google di con un mensaje en el foro de soporte de Apple en el que un usuario de un Mac ¡real! sufría los mismos síntomas que yo. En el hilo originado por este mensaje se ofrecía una solución parcial consistente en emplear una versión anterior de Quicktime. También se vinculaba el problema a las tarjetas gráficas con procesador nvidia, como la que yo he empleado en este Hackintosh.

Indagando un poco más pude dar finalmente con la solución en este hilo de InsanelyMac. Basta con eliminar o renombrar el siguiente archivo:

/System/Library/ExtensionsAppleUpstreamUserClient.kext

Para ello podemos escribir, 
desde el Terminal:
  • sudo mv /System/Library/Extensions/AppleUpstreamUserClient.kext /System/Library/Extensions/AppleUpstreamUserClient.kext.OFF (todo en la misma línea, como de costumbre).
Tras reiniciar, problema resuelto.

5 comentarios :

Víctor dijo...

Enhorabuena Pablo, qué currada!

Aparte del tiempo empleado, sólo por el hw, ¿merece la pena el montaje? Por lo que veo todos los componentes son de cierta calidad, no?

Y una duda, estoy buscando una tarjeta gráfica para mi cuñado que la quiere para jugar al FSX (Flight Simulator X). Tiene un ordenador bastante nuevo pero quiere jugar con todo detalle al máximo. Como tiene buen procesador había pensado en una GTX260 896Gb DDR3 pero no sé si se quedaría corta. Ahora está bien de precio entorno a 150 euros pero lleva ya tiempo en el mercado.
Gracias

Takerna dijo...

Gracias, Victor.

Era una espinita que tenía clavada... tenía muchas ganas de intentar montar algo así, pero bueno, si cuentas todo el tiempo invertido la cosa es para pensársela, sobretodo si tienes cosas más importantes / urgentes que hacer.

Respecto al coste... el macpro más pequeño está ahora por los 2200€ (http://store.apple.com/es/browse/home/shop_mac/family/mac_pro?mco=MTE3MDU) y tiene peores características, al menos sobre el papel. El coste de todos mis componentes apenas llega a la tercera parte de eso.

Respecto a la gráfica, no estoy muy puesto, aunque esa tiene buena pinta. Tengo en casa una ATI 4670 y otra 4850 (esta tiene ahora mismo una relación precio / prestaciones muy buena) que pensaba devolver o vender.Si quieres te las dejo para que las pruebes, aunque creo que la que mencionas está un puntito por arriba de estas.

Víctor dijo...

Gracias, creo que me arriesgaré y pediré la que tenía pensada. Como dices está por encima de las que tienes aunque nunca se sabe porque en este caso se va a comprar sólo para un juego.

Xuthl dijo...

Mu currao, sí señor. Si no tuviera ya un montón de cacharritos, me ponía a cacharrear más ;-)

Takerna dijo...

Si es que nos pierde el cacharreo ;-)