Windows 8 en mi iMac late 2009

TL;DR;

Este es el mejor resumen de lo que viene a continuación:

Escena de Dexter

Me gusta jugar.

Lo confieso. Especialmente a los juegos de acción en primera persona (vicio adquirido con el mítico Wolfestein 3D) y a los de estrategia por turnos. Por turnos. Los otros son un corre que te pillo para ganar. Esto se lo debo a Civilization, que conocí en el centro de cálculo de la entonces Facultad de Informática. Desde entonces (y desde antes) siempre me ha encantado jugar. De hecho, tengo un refrán propio: «desconfía del programador que no juegue».

En el Mac mis necesidades de juegos han estado bastante bien cubiertas por Steam estos años. Los juegos que me interesan los tengo. Salvo uno: Héroes of Might and Magic, que siguen empeñandose en sacarlo solo para Windows. Lo cual es absurdo, porque digo yo que si un montón de juegos salen ya para Mac es perder mercado y tal, pero bueno. El caso es que me lo compré hace un tiempo y no he podido jugar por no tener a mano una máquina Windows con una tarjeta gráfica de al menos 512 MB. Aquí no valen máquinas virtuales ni otros apaños: necesitas «the real thing».

En esta tesitura estaba cuando caí en que mi iMac tiene exactamente esa memoria gráfica. Y es un Core i7. Y tiene 12 GB RAM. Vamos, que es un maquinón. ¿Por qué no usarlo para mis necesidades de jugón instalando con BootCamp una partición con Windows? Eso es lo que hice con mi Mac Mini, pero terminé por no usarlo ya que los juegos iban muy, muy lentos debido a la triste potencia gráfica (y de CPU) de mi Mac Mini. Que de servidor y eso aguanta, pero para cosas más exigentes en gráficos el pobre no puede.

Así que me puse manos a la obra, pensando que con Bootcamp y mi DVD de Windows 8 la cosa estaba controlada. No sabía cuanto me equivocaba.

La clave de producto de Windows

Antes de hacer nada empecé planificando todos los pasos en mi libreta. Para reunir los materiales necesarios, anticipar problemas y esas cosas. Cuando salió Windows 8 compré una licencia de Windows 8 Pro por sí la necesitaba para desarrollo Windows Phone y por echar un vistazo a la interfaz Metro (o como se tenga que llamar ahora). Por todo eso y por otra cosa: porque estaba barata, 30 Eur.

Nota al margen: Microsoft, quizás aprendas que es mejor ganar un poco menos con cada licencia, y llevarte el 100% que seguir empeñada en cobrar un Potosí por cada programa...

Pues bien: no encontraba la licencia. No estaba en Evernote, ni en el disco duro del Mac, ni encontraba mensaje alguno de confirmación de la compra. Sólo veía un correo de Paypal de confirmación del pago, pero de «Product Key» nada de nada. Pues vaya. Para una vez que pago una licencia de Microsoft, me hace ilusión utilizarla. Como no la encontraba la solución fue arrancar una máquina virtual donde la había instalado y sacarle una foto con el iPhone a la clave. Luego, mucho más tarde, caí en que la clave estaba en un correo en mi cuenta de hotmail. Sí, esa que todos tenemos y no usamos. Pero eso es otra historia para un segundo post donde hablaré de las activaciones de productos Microsoft. Que tiene mucha guasa, por cierto.

Copias de seguridad

Armado con mi clave de producto me dispuse a hacer copias de seguridad del iMac. A fin de cuentas, usar Bootcamp supone crear nuevas particiones en el disco, y eso es peligroso, ¿no?. Así que con Techtool 7 he creado una copia arrancable del iMac en un HD externo de 1 TB que tengo para estas cosas. Y claro, además de crearla hay que reiniciar usando ese disco de copia de seguridad como disco de arranque y comprobar que si todo sale mal, al menos puedes dejarlo todo como estaba.

Todo Ok, tras un siglo de esperas.

Fusion drive

De pronto, un escalofrío recorre mi espalda. Recuerdo que tengo instalado un SSD en el sitio que antes ocupaba la unidad Superdrive. Y que creé un grupo de volúmenes con Fusion Drive, de manera que OS X gestiona de forma automática que ficheros deben ir en el SSD y cuales en el HD. Así qué me entra la duda: si instalo Windows 8 ¿dónde se instala?. ¿En el SSD? ¿Se carga el Fusion Drive? ¿No se puede instalar por culpa de este?

Buscando un poco encontré la respuesta en las preguntas frecuentes de Bootcamp. Simplemente se va a instalar en el HD, sin tocar el SSD. Así qué puedo seguir. Phew!

Bootcamp no soporta Windows 8

Pues eso. Que BootCamp no soporta Windows 8 en mi iMac late 2009 y no me lo ofrece como opción a la hora de instalar. Me deja bajar los drivers (en teoría, más sobre esto ahora) y sólo te deja instalar Windows 7. Según Apple, mi iMac no debe ser lo suficientemente potente para ejecutar Windows 8, o bien ellos no quieren seguir dando soporte a una máquina ya antigua. Voto por esto último.

El caso es que intenté bajar los drivers y ¡oh sorpresa! BootCamp fallaba al descargarlos. Tuve que usar mi Google-Fu y explorar un poco para encontrar una web desde la que descargarlos a mano. Porque esa es otra: Apple no te da una manera clara y sencilla de acceder a ellos. Una lista en una página de descargas bastaría, pero no.

Aunque hay unos drivers en Bootcamp > Lbrary > Application Support > Bootcamp > WindowsSupport.dmg que pueden servirte. Lo dejo aquí por si acaso.

Instalemos Windows 8

Ahora viene lo fácil. Vi un truco para saltarse a BootCamp en modo «sólo instalo Windows 7» que era meter un DVD con Win 7, dejarle hacer las particiones y luego, al reiniciar, cambiarlo por uno de Windows 8. Esa era una opción. La otra, instalar Win 7 y luego actualizarlo a Win 8, pero lleva más tiempo (son dos instalaciones)

Pero claro, todo esto es usando la unidad Superdrive del iMac. La interna. Sí, esa que ya no tengo desde que le puse un SSD y monté Fusion Drive. Pero no pasa nada, ¿no?. A fin de cuentas, la tengo instalada en una caja externa USB y podré iniciar la máquina con el DVD de Windows y… Pues no. No funciona. Lo intento, pero Windows no arranca desde el DVD (que, por cierto, he tenido que crear tras bajarme una ISO de la web de Microsoft). Grabando DVDs en 2014 like some kind of animal

Buscando en foros me encuentro con que sí quiero instalar Windows en mi iMac, por un lado BootCamp no me genera una llave USB de instalación (el iMac es muy antiguo por lo visto para eso) y que puedo instalar Win 7 (no Win 8) pero usando una unidad superdrive externa oficial de Apple. Que esas sí funcionan.

Tragedia. Estoy atrapado.

¿Pido a alguien prestada una unidad Superdrive de Apple pata negra? ¿Reinstalo el Superdrive? ¿Me como Win 8 con patatas?

Winclone

Como soy un cabezón y sabía que de alguna manera se podría hacer seguí buscando por foros y leí sobre Winclone. Winclone es un programa pensado para hacer copias de seguridad de particiones BootCamp. Puedes almacenar en un fichero tu partición y así te ahorras tener que andar instalando drivers, programas, actualizando, etc si tienes algún problema con Windows. En el Mac, con Time Machine por un lado y una copia arrancable que hagas con SuperDuper, Carbon Copy Cloner o Techtool Pro tienes el lado OS X perfectamente protegido. El problema es si tuviera que reinstalar todo el Windows.

Winclone, utilidad para clonar particiones Bootcamp

El caso es que se me ocurrió una idea. Yo ya tenía instalado Windows en mi Mac Mini. ¿Por qué no hacer un Winclone de esa partición, pasarla con un HD externo USB al iMac y machacar la partición BootCamp vacía con esa imagen? Mi lado geek me decía que no, que para que comprar un programa si con un dd podría hacerlo yo solito. El problema es el sector de arranque de Windows que se crea en la partición de BootCamp. Si pudiera iniciar Windows podría arreglarlo y tal, pero dado que estaba atrapado, pagué los 29 $ que cuesta y listo. Si funciona, los apenas 22 € valdrían la pena.

Y valieron la pena. Creé la imagen en el Mac Mini (unas horitas) y la pasé a un disco USB grande (en el que por supuesto no tenía espacio y tuve que ordenar). Una vez copiado, instalé Winclone en el iMac, restauré la imagen y… ¡vive! ¡Está vivo!

It's alive!

Colofón

Al fin, tras una lucha titánica, tengo instalado Win 8 en el Mac. Lo uso para el Héroes y en el futuro para algún que otro juego. Pero si lo necesito para algo, ahí está. Muchas veces hago instalaciones por el placer de cacharrear con los sistemas, pero en este caso, además, estoy disfrutando del resultado.

j j j

Cómo crear un entorno de desarrollo Android portable

Logo de Android

Logo de Android

Algún día me tenía que pasar. Después de ver tanto backend Java en cursos de todos los colores y de coleccionar certificaciones Java, después de desarrollar para iOS y webOS, alguna vez me tenía que poner en serio con Android. De hecho, siempre me han preguntado que por qué no era esta mi plataforma de desarrollo móvil «de cabecera». Quizás porque estaba saturado de Java. O porque, como comentaba en We.Developers, Java es un lenguaje que no me genera excesivas alegrías (sobre todo cuando lees la mayoría del código que hay por ahí, que es bastante feo, fruto del desconocimiento del lenguaje).

El caso es que estoy actualmente desarrollando una App para Android (de la que daré más datos cuando se suba a Google Play) y me ha surgido la oportunidad de impartir un curso a los programadores de RTVA. Como en todo curso, me gusta instalar el entorno de desarrollo. Y si vas a desarrollar para Android, sabes que tienes que instalarte:

  • un JDK para poder compilar todo el código Java que escribimos como parte de nuestras Apps Android
  • un JRE, necesario para ejecutar Eclipse
  • Eclipse, como IDE para escribir nuestros programas
  • el SDK de Android, que pone a nuestra disposición las bibliotecas necesarias para crear los programas Android, así como el Emulador, herramientas e imágenes para ejecutar ese emulador.
  • el plug-in ADT para Eclipse, que nos permite gestionar el SDK cómodamente desde Eclipse

Este curso se imparte en dos semanas, dejando varios días por medio. Y el tiempo que se tarda en descargar las distintas partes del SDK de Android y el plugin ADT (ambos hay que descargarlos para instalarlos) no es despreciable cuando lo intentamos hacer con 10 portátiles todos conectados a la misma Wifi. Además de la limitación inherente a compartir la conexión HTTP, el medio físico (el canal de radio usado por el punto de acceso WiFi) es el mismo para todos los portátiles. Luego hay colisiones. Y cuantos más portátiles, peor para todos.

En una primera opción, llevaba el JDK, Eclipse y el paquete de instalación del SDK en un pendrive, para irlo instalando todo. Pero de estas dos últimas descargas no me podía librar… ¿o si? Y mi miedo es volver la segunda semana y encontrarme los portátiles formateados…

Cómo crear un entorno de desarrollo Android Portable

En este caso, me centro en cómo crear el entorno portable para Windows 32 bits, que corre en XP y Windows 7. Al final comento las diferencias con Mac.

  • Lo primero es bajar todo lo que necesitamos a una carpeta:
  • Java JDK para Windows es un ejecutable, y escogeremos, de la versión 6, el saber que nos interese: 32 bits (i586) o 64 (x64).
  • De Eclipse nos interesa la última versión de la distribución Eclipse IDE for Java developers. No la versión para Java EE, ya que no vamos a usar servets ni nada de eso. A fecha de escritura de este post, la última versión es la Indigo.
  • La última versión del SDK de Android. Nos bajamos la versión en ZIP, no la instalable.
  • Una vez que tenemos todo esto bajado, debemos instalar el JDK en la máquina. Realmente queremos las carpetas que van dentro, pero al no disponer de un ZIP no tenemos más remedio que instalar. Lo dejará en C:\Archivos de Programa\Java
  • Una vez termine la instalación del JDK, nos crearemos una carpeta en el escritorio que podemos llamar Android-Portable, o como más nos guste.
  • Debemos descomprimir dentro de esta carpeta el ZIP de Eclipse.
  • Ahora, copiaremos la carpeta JRE que está en C:\Archivos de Programa\Java\Jre6\ dentro de la carpeta de Eclipse, justo donde está Elipse.exe. Así, al arrancar Eclipse usará ese JRE que le hemos instalado «tan a mano»
  • Igualmente descomprimiremos el SDK de Android dentro de Android-Portable.
  • Como necesitaremos el JDK para compilar, vamos a copiarnos en Android-portable la carpeta C:\Archivos de programa\Java\jdk1.6.0_31
  • Ahora debemos tener dentro de Android-Portable: una carpeta con Eclipse, otra con el JDK y el SDK de Android.
  • Ya podemos arrancar Eclipse. Necesitamos instalar el plugin ADT, para lo cual iremos a Help > Install Software e instalaremos ADT indicando como repositorio https://dl-ssl.google.com/android/eclipse/
  • Tras reiniciar Eclipse, nos pedirá que instalemos un SDK de Android, o que le indiquemos dónde tenemos uno instalado. Le indicamos que dentro de Android-Portable tenemos uno. Nos muestra el Android SDK Manager para descargar las imágenes de los emuladores para las versiones de Android que nos interesen, así como los SDKs propiamente dichos. Yo me los bajaría todos.
Eclipse nos pide un SDK de Android (click para agrandar)

Eclipse nos pide un SDK de Android (click para agrandar)

  • ¡Listo! Ahora podemos copiar la carpeta Android-Portable y todo lo que necesitamos lo llevamos dentro. Para arrancar Eclipse bastará con entrar en su carpeta y hacer doble click en Eclipse.exe. Si quieres, siempre te puedes crear un acceso directo, pero que sepas que al mover la carpeta tendrás que volver a crearlo.

<

div class=»mceTemp mceIEcenter»>

<

dl id=»attachment_1707″ class=»wp-caption aligncenter» style=»width: 470px;»>

Así debe quedar la carpeta Android-Portable

Así debe quedar la carpeta Android-Portable

Esta carpeta ya la podemos poner en un pendrive, comprimirla, copiarla de un equipo a otro, etc. Funcionará con los distintos Windows.

Si tienes un Mac el proceso es el mismo, salvo que:

  • no tienes que instalarte Java, ya que el JDK viene instalado con OS X (es una instalación opcional del S.O.). No puedes «bajarlo» de la página de Oracle.
  • debes bajar el Eclipse de Mac
  • debes bajar el SDK de Android de Mac

Ahora, a ver alguien compra las Apps que hagamos 🙂