Yosemite, Linux y rEFInd en un Macbook pro viejuno

Hola queridos lectores.

Salió Yosemite y los fanboys se empezaron a masturbar pensando en Steve Jobs desnudo en una piscina de iphones 6. Pero algunos power users que queremos tener también linux en nuestro precioso y hojalatado Macbook, o por lo menos yo, no estábamos tan contentos con el cambio. Para empezar han cambiado la versión de Ruby y, los que usamos brew, ya nos ha tocado reinstalar todo. También les ha dado por joder con el journaled y OBLIGAR a usarlo. También han guarreado la EFI, en fin… pero es super cuqui y super bonito el diseño, eso sí.

A mi, manías que tengo, me gusta tener mi partición con $LinuxDistribution. Y hace un tiempo que encontré una herramientita que se llamaba rEFIt, que luego pasó a llamarse rEFInd, muy maja y sencillita, que funcionaba muy bien para tener nuestro arranque dual. Con sus themes y sus cositas. Pues claro, al joder la marrana con la EFI, pues no funcionaba. Me puse a indagar.

Lo primero que vi es que el creador de rEFInd quería que le comprásemos un mac nuevo porque su comentario en la web de la herramienta era el siguiente:

Recently, Apple released OS X 10.10 (aka Yosemite), and I’ve been getting e-mails with problem reports. Unfortunately, my only Mac is an ancient 32-bit model that can’t run the latest version, so I can’t investigate the cause of the problems myself.

Que en cristiano significa: “No tengo ganas de marearme en arreglaros vuestros problemas con mi herramienta, pero si queréis que lo haga, necesito un mac en el que pueda instalar Yosemite”. A lo que los usuarios respondieron pasando de él bastante, preguntándole cosas sueltas, y probando.

Parece ser que la solución pasaba por instalar la EFI modificada en una partición ESP, que es lo que usaban los que no quería tener el disco particionado y lo instalaban en uno externo. Esto lo que hace es instalarlo en una partición msdos que tiene nuestro querido Mac, montarla en el directorio /Volumes/ESP, guarrear con la EFI tuneada y a correr.

De aquí surgían dos problemas:

  1. No detectaba la magnifica partición de MacOSX.
  2. Tardaba más de 30 segundos en aparecer el menú del bootloader, un coñazo, vaya.

Bueno, el primer problema era muy sencillo, basta con descomentar la opción “dont_scan_volumes” (que viene comentada) y a correr. Os aparecerá una opción de arranque que rezará “Recovery HD” pero es mentira, no es el recovery, es la partición donde está Yosemite. La renombrais y tal con la conf, que pa eso está.

El segundo problema ya era un poco más complejo. En la web de rEFInd hay unas pinceladas que da el muchacho de cómo arreglarlo, pero se marea poco, porque claro: no le hemos comprado el Mac que quería. Pero bueno, en un hilo de discusión de sourceforge encontré a un tal Uncle Sam, “tío Sam”, que me gustó su nombre mucho y además parece que entendía de la movida.

Básicamente el tío Sam lo que hace es renombrar la EFI modificada al nombre que MacOSX espera ver como EFI, que es bootx64.efi que tiene que estar dentro de la carpeta BOOT. En lugar de ser refind_x64.efi como venía siendo hasta ahora. Se renombra y con bless se le dice al sistema que la EFI nueva es esa, y ya está. Solucionado. El muchacho propone un script muy majo en este hilo. Script que me he permitido el lujo de rematar para los más vagos del lugar:

#!/bin/bash
mkdir /Volumes/esp
read -p “Press [Enter] key to continue…”

mount -t msdos /dev/disk0s1 /Volumes/esp
read -p “Press [Enter] key to continue…”

mv /Volumes/esp/EFI/refind/ /Volumes/esp/EFI/BOOT
read -p “Press [Enter] key to continue…”

mv /Volumes/esp/EFI/BOOT/refind_x64.efi /Volumes/esp/EFI/BOOT/bootx64.efi
read -p “Press [Enter] key to continue…”

bless –mount /Volumes/esp –setBoot \
–file /Volumes/esp/EFI/BOOT/bootx64.efi –verbose
read -p “Press [Enter] key to continue…”

diskutil unmount /Volumes/esp
read -p “Press [Enter] key to continue…”

Se tiene que ejecutar como root. Basicamente lo que hace es montar la partición, renombrar el fichero y el directorio, hacer el bless y desmontar. En el script original del tío Sam utiliza un umount que en Yosemite ya no funciona. En Yosemite se desmonta con diskutil.

Y con esto tendréis vuestro maravilloso boot dual, amigos. Espero que si alguno llega rebotando desde google todo esto le pueda servir de ayuda.

Anuncios

3 comments

  1. Gracias por la entrada.

    Yo he estado trasteando con el macmini, y me he decantado por un arranque quíntuple con 2 particiones con Windows 7 (la principal y otra clonada para cuando casque), Yosemite con otra también clonada, un Kubuntu (/ & home), swap y partición de almacenamiento.
    Todo ello lo he hecho con un sistema de archivos MBR, ya que no me termino de aclarar demasiado con el GUID.

    Como gestor de arranque tengo también rEfind desde Yosemite.

    Pero tengo un par de problemillas que me han surgido ahora, que antes no se me daban.

    1.- El inicio del sistema operativo (no mac) se demora mucho tiempo (no me refiero al sistema en si, sino a lo que tarda refind en darle la orden de inicio)

    2.- Al instalar el grub de Linux en la partición root, desconozco el motivo, pero no carga. Se queda la pantalla parpadeando en negro, como si fallase el grub. Para solucionarlo he tenido que instalar el grub en el MBR, cosa que no me gusta nada de nada.

    3.- Al tener tanta partición, el refind me muestra demasiadas entradas, una por cada partición que tengo, cosa que es un coñazo, y no termino de aclararme de como se “eliminan entradas”, se les cambia el nombre o/y icono, etc.

    Quería preguntarte si sabes de alguna guía en español para configurar el refit.conf en mac, ya que lo que he encontrado está en ingles y todo es demasiado técnico. Necesitaría alguna guía de andar por casa 😉

    Gracias y un saludo.

  2. Hola!

    Gracias a ti por leer.

    Perdona que tardara en contestar, estaba fuera de España y no podia atender mucho esto.

    Pues mira, mirate mi último post en el que comento que el creador de rEFInd ha sacado una nueva versión ya con todos estos fallos arreglados. Te irá mejor.

    En cuanto a lo que me comentas de eliminar entadas y el tema del MBR, si te instalas la última versión te instalará refind en una partición a parte, sin tocar los sectores de arranque de tus particiones, eso es bien. Y lo de grub lo que pasa es que refind te detecta por defecto el grub y luego la instalación después de grub. Así que te salen muchas entradas locas y, efectivamente, algunas no van. Eso lo puedes tocar con el fichero de config que va en esta particion que te digo, la cosa es que tienes que saber bien tus puntos de arranque porque para controlarlo tienes que poner las entradas a mano. Luego busco un conf mio viejo, en el que lo tenía así (ahora lo dejo en auto) y te pego aqui un par de ejemplos.

    Saludos!

  3. Buenas..
    La última que había probado era la 8.4, que no podía instalar porque me obligaba a tener una posición EFI que no tengo.
    Ahora estoy con la 8.3

    Echaré un vistazo de nuevo.

    Saludos

Dime si me equivoco

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s