[TUTORIAL] Sagar Hozkatua: un MacPro (2019)... a la bilbaina

Iniciado por DeBilbao, 08 de Febrero de 2021, 01:22:35 PM

Tema anterior - Siguiente tema

0 Usuarios y 1 Visitante están viendo este tema.

DeBilbao

Sagar Hozkatua: un MacPro a la bilbaina
Guía de instalación completa de macOS Big Sur y Windows 10 Pro



Contenidos de esta guía

  • Introducción
  • Selección del modelo de Mac que emulará nuestra configuración
  • Selección de los componentes hardware
  • Montaje del equipo
  • Configuración de la BIOS
  • Windows y macOS: juntos, pero no revueltos
  • Instalación de Windows 10 Pro (October 2020 Update)
  • Sincronización de la hora de Windows y macOS
  • Instalación de macOS Big Sur
  • Una instalación "Vanilla"
  • La partición EFI, el rincón oculto donde sucede el engaño
  • OpenCore, el gestor de arranque de nuestro Mac Pro
  • Preparación de la carpeta EFI
    • ACPI y parcheo de la DSDT
    • Kexts (Kernel Extensions)
    • Preparación del archivo config.plist
    • SMBIOS y el número de serie de nuestro Mac
  • Creación del instalador USB
  • Instalación final de macOS Big Sur
  • Comprobación de funcionamiento correcto del sistema
  • Instalación del software adicional

Introducción

Este verano actualicé mi iMac 2011 con pantalla FullHD de 21,5" por uno de 2017 con pantalla 4K, procesador Intel Core i5 Kaby Lake a 3,4GHz, 16GB de RAM y gráfica AMD Radeon Pro 560 , y lo vitaminé cambiando el disco Fusion Drive por un SSD NVMe Aura Pro X2 Pro de 480GB y un SSD Crucial MX500 de 2TB.

El resultado fue tan bueno que me dejó claro que la cercana renovación de mi equipo principal con Windows 10 Pro tendría que ser además compatible con macOS, y así nació mi proyecto Sagar Hozkatua (manzana mordida, en euskera). El proyecto ha sido todo un éxito y me he decidido a poner todo en orden y elaborar esta guía detallada por si queréis animaros.

Selección del modelo de Mac que emulará nuestra configuración

Muchos se acercan al universo Hackintosh para conseguir que su PC pueda  ejecutar macOS, y aunque se puede conseguir así, si queremos garantizar el éxito de nuestro proyecto, debemos pensar al revés y decidir cuál es el Mac del catálogo de Apple que queremos emular, y posteriormente elegir los componentes de hardware que más se aproximan.

A diferencia de Windows, que está pensado para que pueda funcionar con prácticamente cualquier combinación de hardware, macOS está optimizado para los modelos concretos que Apple ha ido sacando al mercado, y conviene no desviarse mucho de las características de su hardware o tendremos serios problemas. Incluso en un Mac original, un simple cambio de memoria RAM puede suponer un problema, así que este punto es realmente importante.

Aunque a todos nos apetece tener lo último de lo último, un consejo que os doy es que si montáis un Hackintosh, os quedéis en la penúltima generación. Encontraréis más soporte por parte de la comunidad y los problemas que se hayan presentado estarán resueltos. Si vais a por lo último, puede que acertéis, pero si tenéis un problema será más difícil de encontrar una solución.

Este proyecto está centrado en un equipo de sobremesa, y aunque se puede plantear lo mismo con portátiles, es mucho más difícil de encontrar un hardware compatible al 100% y al ser equipos con una configuración cerrada, no es tan sencillo cambiar las piezas.

Para elegir nuestro objetivo, os recomiendo consultar Everymac.com que tienen recopiladas las características de todos los equipos que ha fabricado Apple desde sus orígenes, desde el venerable Macintosh original presentado en 1984 hasta el último iMac 27" 5K de 2020. También podéis utilizar la aplicación MacTracker para macOS, que hace algo parecido y con una interfaz muy amigable.

Podía haberme propuesto emular un iMac, pero físicamente lo veía lejano por concepto de la máquina que tenía en mente. Un iMac es básicamente hardware de portátil encastrado en una pantalla, incluso aunque hablemos de un iMac Pro. He probado con éxito el iMac 27" Core i5 @3.7 (5K, 2019) conocido como iMac19,1 y también el iMac Pro "8-Core" 3.2 27" (5K, Late 2017) cuyo identificador es iMacPro1,1, pero no eran al 100% lo que buscaba.

Así que decidí centrar mi objetivo en los últimos MacPro, ya que por formato es lo más parecido a lo que quería montar. Hablamos de una torre, con componentes de equipo de sobremesa fácilmente reemplazables, con procesador sin gráfica incorporada, con gráfica (o gráficas) dedicada, en una configuración modular y ampliable, como mi proyecto. Y mi elección ha sido el Apple Mac Pro "Eight Core" 3.5 (2019)

En las fichas de cada equipo, EveryMac incluye los distintos identificadores que identifican al modelo, y para nosotros el más importante es el identificador que resalto en amarillo. Es el perfil SMBIOS y es lo que marcará nuestras configuraciones.


El MacPro de 2019 es una máquina espectacular, con unas características notables:
  • Procesador Intel Xeon W-3223 de ocho núcleos (16 virtuales con hyperthreading) a @3.5 GHz (4.0GHz con Turbo Boost) con chip de seguridad T2
  • 32GB de RAM DDR4 ECC a 2666MHz
  • AMD Radeon Pro 580X con 8GB de VRAM, que puede ser ampliada hasta 4 gráficas en dos slots MPX, para controlar hasta 6 pantallas 4K/5K/6K
  • Disco SSD NVMe de 256GB, con un diseño propietario de Apple, y vinculado al chip T2 del procesador.
  • 2x 10Gb Ethernet, compatibles con Gigabit Ethernet
  • Bluetooth 5.0 y Wi-Fi 802.11ac a través de una tarjeta AirPort
  • 2x USB 3.0, compatibles con USB 2.0
  • 4x Thunderbolt 3 (USB-C), 2 en la parte trasera y 2 en la parte superior
  • 8 ranuras de expansión PCI Express, 4 ocupadas por los 2 puertos MPX para hasta 4 gráficas.

Si os apetece verle las tripas al equipo original, podeís pasaros por la guía de reparación de iFixit en donde lo desmontan.


Selección de los componentes hardware

Todos los componentes son importantes, pero lo primero que debemos elegir es la placa base, que es sobre la que construiremos el sistema. Si buscamos placas base con puertos Thunderbolt 3, la lista de candidatas se reduce mucho, y si le añadimos las características de nuestro Mac Pro 2019 objetivo, todavía encontraremos menos.

La elección más cercana a esa configuración puede ser la placa W480 VISION D de Gigabyte, con socket para procesadores Xeon, pero el chipset W480 no está dentro de los soportados por OpenCore, que será un componente esencial de la solución, y he preferido usar algo parecido pero sobre una placa con chipset Z390 y un procesador Intel de 9ª generación Comet Lake con ocho cores, que es perfectamente compatible. Podría haber elegido una con chipset Z490 y un procesador de 10ª generación, pero siguiendo mi recomendación, he preferido quedarme en la penúltima generación.

Con ese objetivo en mente y después de analizar las opciones en el mercado de productos nuevos y de segunda mano, esta ha sido mi configuración elegida. Os dejo los enlaces de compra en Amazon como referencia, pero os recomiendo buscar, pues se pueden encontrar mejores precios en algunos componentes, y nunca dejaré de recomendar la opción de producto usado, hay grandes oportunidades.
  • Placa base Gigabyte Z390 Designare, completísima. Amazon
    • Socket LGA1151 para procesadores Intel de 8ª y 9ª generación
    • 4 slots para memoria RAM DDR4 de doble canal no-ECC para hasta 128GB. No es ECC y esto nos generará algún inconveniente.
    • 2 slots M.2 Socket 3 PCIe Gen3 x4 (si los usas, consumen 3 de los 6 puertos SATA 6Gb/s)
    • 6 puertos SATA 6Gb/s
    • 2x Thunderbolt 3 (USB-C) en la trasera, compatibles con USB 3.1 Gen2
    • 4x USB 3.1 Gen1 en la trasera
    • 1x USB-C en la trasera, compatibles con USB 3.1 Gen2
    • 2x USB 3.1 Gen2 en la trasera
    • 2x USB 3.1 Gen1 en la trasera
    • 4x USB 2.0. 2 en la trasera y otros dos en el frontal
    • 2x Ethernet Gigabit Ethernet (Intel I211 + Intel
    • Wi-Fi 802.11ac, que desactivaremos porque no es compatible con macOS)
    • Audio ALC1220-VB, multicanal hasta 7.1, analógico y digital, soporta hasta DSD, 114d
    • ALC1220-VB Enhance 114dB(Rear)/ 110dB(Front) SNR in Microphone with WIMA Audio Capacitors, USB DAC-UP 2 con voltaje ajustable, Smart Fan 5 con sensores de múltiple temperatura y cabezales de ventilación híbrida con FAN STOP, Support RGB Lighting Effect in Full Color, CEC 2019 Ready, Save the Power as Easy as One Click, Memoria Intel® Optane™
  • Procesador Intel Core i7-9700F sin gráfica dedicada. Amazon
    • Arquitectura 9ª generación, Coffe Lake, 14nm, de 2019
    • 3GHz de frecuencia base, hasta 4,7GHz en modo Turbo
    • 8 cores físicos, no tiene Hyperthreading así que no se pueden conseguir 16 núcleos virtuales.
    • No tiene gráfica interna. Si se quiere emular un iMac conviene elegir un modelo con gráfica interna como el i7-9700 o i7-9700K
    • Admite memoria DDR4 de doble canal a 2.666MHz, aunque soporta mayores velocidades sin problema. 
  • Disipador Noctua NH-U12S, mi marca de confianza para refrigeración por aire, eficiente y silencioso. Amazon
  • 32GB RAM DDR4 G.Skill Ripjaws V Red para tareas muy consumidoras de memoria como la virtualización. Amazon
    • Velocidad 3000MHz (PC4-24000)
    • Latencias 15-15-15-35
    • Kit de 2 módulos de 16GB (F4-3000C15D-32GVR) PC4-24000
    • Configuración fácil mediante perfil XMP (Xtreme Memory Profile)
  • Gráfica Sapphire Pulse AMD Radeon Vega 56 8GB HMB2 que tiene potencia más que suficiente para todo lo que necesito. PCC
  • Monitor BenQ DesignVue PD2700U. Espectacular. 4K UHD 3840x2160, IPS, 100% sRGB, 10 Bits, HDMI, DisplayPort USB 3.1 x4. Amazon
  • Emulador de pantalla 4K dkey Dummy Plug HDMI 4 K para poder acceder al sistema en remoto con la pantalla apagada. Amazon
  • SSD NVMe M.2 Samsung 970 EVO Plus 500GB , dedicado para Windows y sus aplicaciones. Amazon
  • SSD NVMe M.2 WD Black SN750 500GB, disco dedicado para macOS y sus aplicaciones. Amazon
  • SSD Sandisk Ultra 3D de 1TB para almacenamiento auxiliar de máquinas virtuales. Amazon
  • HDD Western Digital Red (3TB + 3TB + 8TB) para almacenamiento masivo
  • HDD Western Digital MyPassport 4TB for Mac para backups con Time Machine. Amazon
  • Unidad óptica Apple Super Drive. Regrabadora DVD con conexión USB. Apple
  • Lector de tarjetas Kingston Media Reader USB 3.0. Transferencias muy rápidas desde cualquier tarjeta de memoria. Amazon
  • Fenvi T-919, Bluetooth 4.0 y Wi-Fi 802.11ac para una experiencia de conectividad inalámbrica idéntica a la de un Mac con su chip Airport. Aliexpress
  • Webcam Logitech C920 HD Pro que utilizo como cámara para videoconferencias y como micrófono para Siri. Amazon
  • Capturadora TV Elgato Netstream DTT con doble sintonizador y transmisión a través de la red local. Leon Bazar
  • Fuente de alimentación Seasonic Focus+ GX-550W 80 Plus Gold Modular, fuente de alimentación de absoluta confianza. Amazon
  • Caja Fractal Design Define R6 USB-C, una caja completísima y totalmente silenciosa. Amazon
  • Teclado inalámbrico Logitech Craft, con un gran tacto y con distribución de teclado pensada para macOS y para Windows. Amazon
  • Ratón láser inalámbrico Logitech M705 Marathon, con buena ergonomía y excelente autonomía. Amazon
  • Altavoces autoamplificados Audioengine A2, que ofrecen un sonido excelente.
  • DAC USB Topping D10 que uso como conversor de USB a SPDIF
  • DAC Rega DAC para convertir a analógico la señal digital del Topping D10 y conseguir el sonido de mi gusto.
  • Amplificador de auriculares Rega EAR MK II, para amplificar la señal analógica y entregársela a mis auriculares
  • Auriculares Sennheiser HD 650. Llevan años conmigo y aunque he intentado cambiarlos muchas veces, ningún otro consigue su sonido, que me engancha con el Jazz y con cualquier otro género. Amazon

Montaje del equipo

Un buen montaje no es complicado y si te gusta el tema puedes incluso disfrutar con el proceso, pero hacerlo perfecto es importante para tener una buena ventilación y unas temperaturas controladas en el equipo. Yo he preferido contratar el montaje a Izar Micro, una empresa local especializada y de absoluta confianza, a quienes también he comprado parte de los componentes a mejores precios que en Amazon.

La caja Fractal Define R6 parece diseñada para el mueble donde tenía previsto colocar el equipo. Es un poco más grande que mi anterior equipo al que bauticé como LUZOKER (pepino, en euskera) pero no mucho más.



El mueble donde la tengo colocada es abierto por detrás, así que respira bien, y todos los puertos superiores están accesibles.



El acabado del frontal de la Fractal Design R6 USB-C está muy bien conseguido y la caja tiene un acabado general que transmite calidad.



El montaje interior ha quedado impecable. Limpio y sin apenas cables a la vista.



El otro lado de la caja alberga seis bandejas para discos duros de 3,5" y otras dos para discos de 2,5". En el montaje he dejado 3 tomas de datos y otras 3 de alimentación para los 3 discos SATA que mehe llevado desde mi antiguo equipo.



He montado la Fenvi T-919 en el puerto PCI Express x1 que hay en la segunda ranura, justo encima de la batería que alimenta la CMOS, y lo he conectado al puerto etiquetado como F_USB.



Un detalle importante: ese puerto F_USB es el que alimenta los puertos USB 2.0 que hay en el frontal superior de la caja, pero al conectar la Fenvi T-919, he tenido que prescindir de ellos. Sigo teniendo arriba 2 puertos USB 3.0 y 1 puerto USB-C, que es más que suficiente para el uso que le daré.

Para evitar confusiones he comprado unos tapones de silicona para tapar los puertos USB 2.0, en concreto este kit que tiene de todos los tipos.

También he tapado el puerto HDMI de la placa en la trasera, pues el procesador Intel Core i7-9700F no lleva gráfica integrada y solo usaré los puertos de Radeon Vega 56 y particularmente los DisplayPort, que se llevan mejor con macOS que los puertos HDMI.  La verdad es que la placa tiene una conectividad estupenda. Y me encanta lo bien que queda la fuente abajo, oculta y encerrada en su cajón.



Las memorias y el disipador Noctua han quedado de lujo, y es que la caja tiene espacio para meter lo que quieras, garantizando la ampliación futura.




Configuración de la BIOS

Una vez montado el equipo, lo siguiente que debemos hacer es actualizar la BIOS a la última versión F9i, disponible en la sección de soporte de la Z390 Designare de Gigabyte, y configurarla de una forma determinada para garantizar la compatibilidad con macOS.

La placa base Gigabyte Z390 Designare tiene una BIOS muy completa, pero conviene conocer a fondo sus opciones y elegir las adecuadas para aprovechar al máximo nuestro hardware y conseguir el mejor rendimiento y estabilidad. Si además queremos que la configuración sea compatible con macOS, hay una serie de configuraciones que deben tener unos valores determinados que veremos a continuación.

Para acceder a la BIOS hay que pulsar la tecla "Supr" al arrancar el equipo, y tras hacerlo entraremos veremos una pantalla de resumen que presenta las características principales de los componentes hardware y los valores reportados por los sensores sobre voltajes, temperaturas y frecuencias de funcionamiento de la memoria RAM, el procesador, etc.




Pulsando la tecla F2 pasamos al modo avanzado, en donde tenemos todas las opciones de configuración accesibles, distribuidas en pestañas y comenzando con la sección "Tweaker" en donde tenemos los valores de configuración de la CPU, la memoria y los voltajes.

Aquí lo dejamos todo configurado en Auto y activamos el perfil XMP para que realice la configuración de la memoria a los máximos valores de funcionamiento.



En Tweaker > Advanced CPU Settings tenemos que desactivar VT-d



En Tweaker > Advanced Memory Settings lo dejamos todo en Auto



En SPD Info podemos ver la información de cada uno de los módulos de memoria, con sus valores nominales (JEDEC) y los del Xtreme Profile (XMP1)



En Memory Channel Timings, podríamos cambiar los valores de latencia, pero como hemos activado el perfil XMP lo dejaremos todo en Auto.



En Tweaker > Advance Voltage Settings dejaremos también en Auto la gestión del voltaje



En CPU/VRM Settings tenemos dos opciones que en mi caso han sido fundamentales para conseguir la máxima estabilidad en el equipo, ya que con el perfil XMP activado, el voltaje que llega a la CPU si ponemos estos dos valores en Auto, no es suficiente y haciendo benchmarks y poniéndole en aprietos al equipo, el sistema se quedaba congelado.

Con CPU Internal AC/DC Load Line y CPU Vcore Loadline Calibration en modo "Extreme" he conseguido absoluta estabilidad, y ha soportado una hora de Prime95 con 8 workers activos ejecutando el test más completo "Blend" sin despeinarse.



En la siguiente sección "Settings" podemos configurar los dispositivos que tiene la placa, la configuración de energía y otros aspectos.



Platform Power Management lo dejamos desactivado y el resto por defecto. A mí me gusta dejar AC BACK en Always On por si hay un fallo de suministro eléctrico, para que cuando se recupere el equipo se encienda de nuevo. Muy útil si lo tienes montado en 24x7.




Accedemos a IO Ports. En mi caso que no tengo gráfica en el procesador, la pantalla inicial la tengo asignada a la gráfica que está en el slot 1 PCIe. La tarjeta inalámbrica Wi-Fi integrada la desactivo ya que no es compatible con macOS y usaremos la Fenvi T-919 y nos aseguraremos de que Above 4G Decoding está activo. Wake On LAN también está muy bien tenerlo activo para poder despertar un equipo apagado a través de la red, aunque requiere de más configuraciones de las que contamos aquí.




Thunderbolt Configuration lo dejamos así, incluso con la seguridad desactivada.




Y en Discrete Thunderbolt Configuration activaremos el soporte USB



Y por último la sección DTBR Controller la dejamos así y habremos acabado con Thunderbolt.




El Network stack lo dejamos desactivado




En NVMe configuration no hay nada que tocar, es solo informativo




Y en la configuración de los puertos SATA nos aseguramos de tener el modo AHCI activado.




EZ RAID lo dejamos desactivado y las dos tarjetas de red las dejamos como están. Podéis acceder a su ficha, pero solo veréis valores informativos, nada que se pueda cambiar.




La sección Miscellaneous la dejamos así




Y Trusted Computing así




PC Health settings es meramente informativo, pero está bien para comprobar los valores de voltajes que están llegando a los componentes.




Y en Smart Fan 5 tenéis una visualización gráfica de la refrigeración. La verdad, está muy bien presentada la información en esta BIOS.




En la sección System Info no hay nada que tocar, salvo que queráis cambiar la fecha y hora, el idioma de presentación de la BIOS o poner una contraseña.




En Plug in Devices info os da un resumen de los dispositivos detectados, interesante tras el montaje para comprobar que todo está OK antes de meternos con la instalación del sistema operativo.




Y desde Q-Flash podéis actualizar la BIOS fácilmente si hay una nueva versión, o si vuestra placa viene con una versión anterior a la F9i, que os recomiendo instalar pues es la más compatible y además resuelve algunos problemas de seguridad importantes.




En la pestaña "Boot" se esconde una opción muy importante que no está presente en todas las versiones de la BIOS. A partir de la versión F9g se incluye un switch para desactivar el CFG Lock, un parámetro fundamental para que la información que se escribe en los registros de estado del procesador MSR se haga correctamente. De no hacerlo, tendremos problemas con macOS.

En las Boot Option Priorities marcaremos nuestra preferencia para iniciar el equipo. Mi elección es iniciar con el disco de Windows en primer lugar, y con el de macOS como disco alternativo que selecciono pulsando F12 en el momento de iniciar el equipo, aunque cuando hagamos la primera instalación, aquí elegiremos el pendrive de instalación como disco de arranque.

Fast Boot deactivado, al igual que CMS Support y dejamos las Features de Windows 8/10 en modo WHQL.



El Secure Boot lo dejamos desactivado.



Y por último, una vez configurado todo correctamente, os recomiendo salvar el perfil usando la opción "Save Profiles" para que si necesitáis rescatar la configuración se pueda hacer rápida y fácilmente. Podéis guardar el perfil en la propia BIOS y además en un USB externo, lo que os recomiendo para tenerla a buen recaudo, ya que esto hace que el macOS funcione... o no.

JazzBai Un proyecto DeBilbao para el mundo del Jazz
http://www.jazzbai.com

Sennheiser HD650 < Rega Ear MKII < Rega DAC < Douk U2 < Mac Pro 2019 (Z390 Designare)
Sennheiser HD650 < Rega Ear MKII < Topping D10s < iMac 4K
Sennheiser IE 300 < HiBy R3 Pro
Sennheiser IE 300 < HIDIZS Sonata HD USB-C DAC < MacBook Pro 2020 | Surface Pro 7+ LTE
Sennheiser IE 300 < Apple 3,5mm Lightning DAC < iPad Air 3 LTE | iPhone 12 Pro
Tidal HiFi Plus | Spotify | Audirvana Plus | MusicBee | Windows 11 Pro | macOS Monterey

DeBilbao

Windows y macOS: juntos, pero no revueltos

Quiero que mi máquina sea capaz de ejecutar tanto Windows 10 Pro como macOS Big Sur, pero no quiero que haya ninguna dependencia entre ambos sistemas, por lo que he dedicado un disco separado para cada sistema, y cada uno de esos discos tendrá su propio gestor de arranque para que si un día quito un disco, el otro pueda funcionar sin problema.

Esto parece trivial, pero no lo es, y para conseguirlo mi consejo es realizar la instalación de cada sistema por separado, desconectando físicamente el disco del otro sistema para evitar problemas. Si no lo hacemos, podemos terminar con Windows funcionando, pero con el gestor de arranque dentro del disco de macOS, por ejemplo.

Instalación de Windows 10 Pro (October 2020 Update)

Instalar Windows 10 Pro no puede ser más fácil, y tras desconectar físicamente el disco de macOS, solo necesitaremos un pendrive de al menos 8GB y haremos lo siguiente:
  • Descargar la herramienta de instalación de Windows 10 desde la web de Microsoft
  • Elegir la opción de grabar la imagen en un pendrive
  • Iniciar el equipo desde el pendrive de instalación pulsando F12 en el arranque
  • Seleccionar en el asistente la instalación personalizada
  • Eliminar completamente las particiones que tenga el disco
  • Crear una partición nueva (el asistente creará dos particiones adicionales)


  • Continuar con el asistente hasta tener el sistema completamente instalado
  • Instalar los controladores que no haya podido detectar (Fenvi T-919, p.ej.)
  • Instalar el software para dejar nuestro sistema a nuestro gusto.
Windows 10 cada día funciona mejor, y puede competir de tú a tú con macOS sin complejos. Cada uno de los sistemas tiene sus ventajas y sus inconvenientes, y en mi caso utilizo ambos indistintamente, Windows más para temas de trabajo y macOS para temas de ocio.



Sincronización de la hora de Windows y macOS

Un tema importante a tener en cuenta: Windows y macOS tienen una forma distinta de gestionar la hora del sistema, y si no hacemos nada, cuando volvemos a Windows después de haber estado en macOS, tendremos la hora cambiada.

Para resolverlo hay que hacer un ajuste en el registro del sistema usando Regedit, acceder a la rama HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation y crear un nuevo Valor DWORD (32 bit) con el nombre RealTimeIsUniversal y asignarle el valor 1.

Con este cambio, la hora de ambos sistemas será la misma.
          



Instalación de macOS Big Sur

Instalar macOS Big Sur en un Mac original es igual de fácil que lo que os he explicado para Windows, pero para hacerlo en un equipo que no es de Apple requiere de una serie de pasos previos que hagan creer a macOS que está funcionando en un Mac genuino, y de esto hablaremos ahora.

Una instalación "Vanilla"

Nuestro objetivo es realizar una instalación exactamente igual que la que haríamos en un Mac, sin parches de ningún tipo, sin alterar las extensiones del kernel, sin usar componentes distintos a los que vienen de serie con macOS.

Y a eso le llamamos una instalación "Vanilla".

Hacerlo así nos garantiza un mejor funcionamiento y una mayor garantía de éxito con las actualizaciones del sistema. Nunca hablaré de garantía completa, pues cualquier día Apple podría meter algún cambio que dejara nuestro equipo fuera de juego, pero para evitarlo seguiremos fieles a nuestro objetivo: hacer creer a macOS que está funcionando en un Mac genuino para que eso no pueda pasar.

La partición EFI, el rincón oculto donde sucede el engaño

¿Y cómo conseguimos que macOS piense que el ordenador que estamos usando es un equipo de Apple? Aprovecharemos un rincón del sistema en donde se guarda el gestor de arranque que se ejecuta en el proceso de arranque del equipo, previo a la carga del sistema operativo.

Hasta hace unos años, los equipos arrancaban usando la BIOS y el MBR (Master Boot Record), unos pocos datos que se grababan al principio del disco del sistema y que dirigían el proceso de arranque.

Hoy los sistemas son mucho más completos y utilizan un sistema llamado UEFI, que en lugar de unos pocos bytes, utiliza una partición completa denominada EFI en la que se guarda el gestor de arranque, un software que se encarga de realizar la presentación del hardware al sistema operativo.

Y es ahí donde sucede el engaño, cambiando ese gestor de arranque por uno especializado (OpenCore) capaz de presentar el hardware a macOS como si se tratara de componentes soportados por el sistema de Apple.

El gestor de arranque se almacena en la partición EFI dentro de una carpeta llamada EFI, y una vez que tengamos preparada esa carpeta EFI con la configuración de OpenCore adaptada a nuestro equipo, tendremos que copiarla en los discos desde los que queramos iniciar el sistema con macOS. En mi caso, la tengo replicada en tres:
  • El pendrive de instalación de macOS Big Sur
  • El disco SSD NVMe donde tengo instalado macOS Big Sur
  • El disco de Time Machine donde hago las copisa de seguridad de macOS Big Sur
Tanto Windows como macOS utilizan UEFI y la partición EFI para albergar su propio bootloader para iniciar el sistema. Windows usa una partición de 100MB (en la captura la veis en el disco 4), y macOS una partición de 200MB.



Estas particiones no las vemos en nuestros sistemas porque son volúmenes que no se montan en el escritorio automáticamente, pero podemos montarlas de forma manual tanto en Windows como en macOS para ver su contenido.

Para montar la partición EFI desde Windows tenemos que usar el programa DISKPART para seleccionarla y asignarle una unidad de red



Y para poder visualizar su contenido, necesitamos usar un explorador de archivos alternativo ya que se considera contenido protegido del sistema os recomiendo usar el programa Explorer++ que tendremos que abrir en modo administrador.

Aquí veis el contenido de la partición EFI del disco de Windows:


Y aquí el contenido de la partición EFI de macOS.



Desde macOS es más sencillo y solo necesitamos el programa MountEFI, que podemos descargar desde su repositorio de GitHub corpnewt/MountEFI

La mayor parte de los componentes que vamos a descargar están en GitHub, y nromalmente hay una sección Releases que te lleva a la descarga de los archivos, pero a veces como en este caso, no la hay y tenemos que acceder al botón "Code" y seleccionar la opción "Download ZIP" para descargar el programa.
       

Una vez descargado y descomprimido el archivo, hay que ejecutar el programa MountEFI.command (tendréis que autorizar su ejecución en las preferencias de seguridad) y se abrirá una pantalla del terminal presentando una lista de los distintos volúmenes que tienen una partición EFI.

Montar esa particion es tan sencillo como indicar el número que tiene el volumen que quieras y pulsar intro, tras lo cual aparecerá montado como un disco más de nuestro sistema.



OpenCore, el gestor de arranque de nuestro Mac Pro

Actualmente hay dos gestores de arranque (bootloaders) que se pueden utilizar para iniciar macOS en nuestro PC: Clover y OpenCore. Clover tiene un planteamiento más clásico y es un poco más "dinosaurio" con mucha historia a sus espaldas, y OpenCore, que ha sido mi elección porque es mucho más moderno, y está increíblemente bien documentado y estructurado. En este enlace tenéis una comparativa de uno frente a otro, aunque está elaborada por OpenCore y podría no ser imparcial.

Como os decía, OpenCore está increíblemente bien documentado y el único inconveniente que le veo es que la documentación está en inglés, lo cual puede hacerlo menos accesible, pero el rigor y la calidad de la documentación es fantástico y da gusto pasearse por la guía de instalación de OpenCore en el proyecto Dortania.

En esta guía os contaré los pasos que he seguido para mi configuración, pero la guía de Dortania cubre todo tipo de plataformas, tanto Intel como AMD en sus distintas generaciones de procesadores, y ahí podéis encontrar todo lo necesario para el proceso de pre-instalación, instalación y post-instalación para terminar con éxito cualquier proyecto que utilice hardware compatible.

Hay muchísima información y es necesario leerla bien a fondo y por completo si se quiere acabar con un sistema al 100%. Es muy fácil dejarse algo por el camino y que el sistema "casi funcione", pero que no lo esté haciendo como debe.

OpenCore se instala en una carpeta llamada EFI que se almacena dentro de la partición EFI, no os despistéis con ello. Es el mismo nombre el que tiene la partición y la carpeta.


Preparación de la carpeta EFI

El siguiente paso es descargar el bootloader OpenCore desde su GitHub. A día de hoy la última versión es la 0.6.3 y es la que usaremos como gestor de arranque tanto de nuestro pendrive de instalación, como de nuestra instalación definitiva. El enlace para la descarga está al final de la lista de las notas de la versión, y descargaremos el archivo OpenCore-0.6.3-RELEASE.zip. Hay otro que indica DEBUG pero nos interesa este.

Descomprimimos el archivo descargado y vemos que entre otras carpetas, contiene una llamada EFI que es la que nos interesa. Esa carpeta contiene la estructura base de nuestra carpeta EFI que tendremos que completar, y una vez revisada, es la que tendremos que copiar en la partición EFI oculta que acabamos de montar con MountEFI.

Empiezo por el final, y aquí podéis ver el contenido de la carpeta EFI que estoy utilizando en mi equipo. Veréis que está organizado en carpetas y he añadido un breve comentario junto a cada componente y también la versión del mismo, y a continuación os detallaré qué es lo que hace cada uno de ellos y tendréis sus enlaces de descarga.


El equipo de OpenCore mantiene actualizado su bootloader y la mayoría de los componentes que utilizamos para nuestra carpeta EFI en su repositorio de Github y mi configuración está basada en la última versión 0.6.3

https://github.com/acidanthera/OpenCorePkg/releases/tag/0.6.3

Una vez descomprimido el archivo OpenCore-0.6.3-RELEASE.zip, podéis copiar la carpeta EFI que está dentro de la carpeta X64, ya que contiene la estructura base de la carpeta EFI que personalizaremos para nuestro sistema.



Además del núcleo de OpenCore, que realiza la función del gestor de arranque, necesitaremos descargar más componentes que tendremos que guardar en las distintas carpetas ACPI, Drivers, Kexts y Resources. Todas son necesarias, pero la más importante es la carpeta Kexts, que es como se llaman a las extensiones del Kernel del sistema operativo que se ejecutarán antes de iniciar macOS y que se encargarán de "realizar la magia" y convencer a macOS de que lo que hay debajo es hardware 100% compatible.


ACPI y parcheo de la DSDT

La carpeta ACPI contiene las tablas DSDT que describen con detalle el hardware de nuestro equipo, y si queremos conseguir que nuestro equipo funcione a la perfección, necesitaremos extraer las tablas DSDT, revisarlas, parchearlas y compilarlas.

El proyecto OpenCore ofrece unas DSDT genéricas para los diferentes chipsets, y hablan de todo esto en su documentación online.
  • SSDT-PLUG para la gestión de energía
  • SSDT-EC/USBX para el controlador embebido
  • SSDT-AWAC/RTC0 para corregir el reloj del sistema
  • SSDT-PMC para ajustar la NVRAM
Con esto el sistema funciona, pero no funciona perfecto ya que no conseguiréis que macOS identifique correctamente todos los componentes hardware, y entre otras cosas hay que mapear los puertos USB para que coincidan con los que tiene realmente vuestro equipo.

Para que todo se detecte perfectamente por macOS Big Sur, hay que extraer el binario de la DSDT, decompilarlo, analizarlo, editarlo para adaptarlo a macOS y volverlo a compilar. Y eso requiere de un conocimiento profundo no solo de tu hardware, sino de las herramientas necesarias para hacerlo.

Aquí podéis ver el contenido de mi archivo DSDT.aml abierto por el programa MACIasl, posicionado en el código que define los puertos USB, y a la izquierda el contenido del programa IO Registry Explorer, equivalente al registro de Windows y que es la representación interna que tiene macOS sobre nuestro hardware.

Si pulso "compilar", aparecen tan solo unos warnings, pero el archivo DSDT está perfecto y lo guardo a buen recaudo junto con el resto de mi carpeta EFI.



Este capítulo de ACPI es demasiado complejo para mi, así que he utilizado un atajo y he recurrido a Mald0n, del foro Olarila, que probablemente sea la persona que más sabe sobre este tema y que tiene bastante industrializado el proceso de creación de la DSDT que necesitáis para vuestra configuración.

Si os pasáis por su foro, veréis que a cambio de un donativo os ofrece el servicio de parcheo de la DSDT. De hecho, tiene un programa "Runme.app" que se encarga de extraer la información necesaria de vuestro sistema y generar un archivo comprimido, que se lo pasáis a Mald0n por privado y os devuelve el archivo con el resultado.

No exige cantidades concretas y el servicio que ofrece me parece que bien merece esa donación, pero esto es un tema muy personal y si no queréis hacerlo, podéis usar la configuración estándar de OpenCore o intentar parchearlo por vuestra cuenta.

En mi caso y tras una breve conversación - con permiso de la diferencia horaria con Brasil - Mald0n me envió el archivo DSDT.aml y el archivo SSDT-TB3HP.aml que es un complemento necesario para Thunderbolt. Con esos archivos colocados en la carpeta ACPI, todos los componentes son reconocidos a la perfección por macOS Big Sur.




Kexts (Kernel Extensions)

Estas extensiones del kernel del sistema operativo son las responsables de "maquillar" el hardware para que se identifique frente al sistema como una componente soportado por macOS Big Sur.

VirtualSMC es un emulador de SMC, que es la consola de gestión del sistema de los equipos Apple, una especie de director de orquesta del hardware. Existe una alternativa muy popular llamada FakeSMC, pero prefiero quedarme con la oficial del proyecto OpenCore, actualmente en la versión 1.1.8.

Además del archivo VirtualSMC.kext, tendremos que copiar los archivos SMCProcessor.kext y SMCSuperIO.kext, responsables de presentar los sensores de funcionamiento del procesador y de los dispositivos de entrada / salida al sistema operativo.

https://github.com/acidanthera/VirtualSMC/releases/tag/1.1.8

LiLu es un parcheador de extensiones que es prerrequisito para otras opciones, y se ha actualizado a la versión 1.4.9

https://github.com/acidanthera/Lilu/releases/tag/1.4.9

WhateverGreen es una extensión que presenta nuestra gráficas tal y como necesita verla macOS, actualizada a la versión 1.4.4.

https://github.com/acidanthera/WhateverGreen/releases/tag/1.4.4

AppleALC presenta nuestra tarjeta de sonido como una tarjeta geniuna de Apple, y se ha actualizado a la versión 1.5.4

https://github.com/acidanthera/AppleALC/releases/tag/1.5.4

NVMeFix se encarga de eliminar la limitación que impone Apple para que los discos SSD que se usan sean los suyos, y consigue que nuestros discos SSD NVMe funcionen de forma nativa. La última versión es la 1.0.5

https://github.com/acidanthera/NVMeFix/releases/tag/1.0.4

IntelMausi se encarga de la tarjeta Ethernet Intel I219V7 que utilizo como principal. Actualizado a a versión 1.0.4

https://github.com/acidanthera/IntelMausi/releases/tag/1.0.4

Os recomiendo que os paséis de vez en cuando por el repositorio bugtracker que el proyecto Acidenthera tiene en GitHub, en donde mantienen actualizado un listado del estado de cada uno de sus proyectos.

Mejor aún, os recomiendo que os registréis en GitHub y que marquéis como "Watch > Releases only" cada uno de los repositorios que os interesan y así os llegará al correo un mensaje cuando haya una nueva versión.

https://github.com/acidanthera/bugtracker

Además de los componentes del proyecto Acidanthera mantenidos por el equipo de OpenCore, usamos algún componente más de otros desarrolladores de la comunidad.

SmallTreeIntel82576 se encarga de la tarjeta Ethernet Intel secundaria, en este momento en versión 1.3.0

https://github.com/khronokernel/SmallTree-I211-AT-patch/releases/tag/1.3.0

Resolviendo el problema de la memoria en MacPro7,1

macOS presenta un error cuando usamos memoria que no es ECC en un MacPro, y para resolverlo se utiliza el kest MacProMemoryNotificationDisabler. Actualmente está en versión 1.1 y funciona con macOS Catalina, pero no en macOS Big Sur. Es un problema estético y no impide el correcto funcionamiento, pero me gusta dejar las cosas bien y he dado con una solución.

La clave está en activar una opción en el archivo config.plist que lleva la personalización de OpenCore llamada "CustomMemory", y definir de forma manual los 12 slots de memoria que tiene un MacPro de 2019 original, y rellenarlos con los módulos de memoria que tenemos en sus slots correctos, y con módulos falsos de 1MB en los que hemos creado.

Todo está documentado en este capítulo de la guía de Dortania

https://dortania.github.io/OpenCore-Post-Install/universal/memory.html#mapping-our-memory



No es necesario indicar que la memoria que se está usando sea ECC, pero sí que es necesario que todos los módulos estén identificados y con al menos 1MB de RAM. Aquí veis qué pasa si dejo uno de ellos con 0MB de RAM, macOS Big Sur muestra el error de nuevo y marca todos los módulos en naranja.



Así que con todos los módulos identificados, el problema queda resuelto. No es la forma más elegante y me hubiera gustado poder indicar que los módulos falsos están vacíos, pero me vale perfectamente.



Y ahora el sistema reconoce perfectamente los 32GB de RAM como memoria soportada y bien instalada.

JazzBai Un proyecto DeBilbao para el mundo del Jazz
http://www.jazzbai.com

Sennheiser HD650 < Rega Ear MKII < Rega DAC < Douk U2 < Mac Pro 2019 (Z390 Designare)
Sennheiser HD650 < Rega Ear MKII < Topping D10s < iMac 4K
Sennheiser IE 300 < HiBy R3 Pro
Sennheiser IE 300 < HIDIZS Sonata HD USB-C DAC < MacBook Pro 2020 | Surface Pro 7+ LTE
Sennheiser IE 300 < Apple 3,5mm Lightning DAC < iPad Air 3 LTE | iPhone 12 Pro
Tidal HiFi Plus | Spotify | Audirvana Plus | MusicBee | Windows 11 Pro | macOS Monterey

DeBilbao

Preparación del archivo config.plist

Hemos preparado todos los componentes de OpenCore en la estructura de carpetas, pero nos falta el archivo de configuración que contiene todas las variables que controlan el funcionamiento del sistema. Ese archivo se llama config.plist y está ubicado dentro de la carpeta OC que está dentro de nuestra carpeta EFI.

Para crear nuestro archivo config.plist tomaremos como base el archivo sample.plist que encontraremos en la carpeta Docs de OpenCore.


El archivo config.plist es un archivo XML y lo podemos abrir con un editor de texto, pero hay editores más especializados que podéis utilizar como Plist Edit Pro, que a mi me gusta mucho.


Pero la documentación del proyecto Dortania recomienda el uso de un editor gráfico realizado en Python llamado ProperTree que os recomiendo utilizar, ya que incorpora una serie de utilidades que nos hará el proceso de personalización mucho más fácil.

https://github.com/corpnewt/ProperTree

Nuestro archivo sample.plist se visualiza así con ProperTree


El archivo sample.plist lo copiaremos a la carpeta OC de la carpeta EFI, y le cambiaremos el nombre a config.plist, pues es donde debe estar ubicado.

La opción más interesante de ProperTree es la llamada OC Snapshot (Cmd+R) que completa el archivo config.plist simplemente indicando dónde tenemos el archivo config.plist. Lee todos los archivos que tengamos en nuestra carpeta EFI y completa de forma automática las líneas del archivo config.plist.

Esto último es muy importante, pues cada cambio que hagamos en la estructura de nuestra carpeta EFI, añadiendo extensiones de kernel, p.ej. hay que reflejarlo en el interior del archivo config.plist, y la opción OC Snapshot se encarga de automatizarlo.

El archivo config.plist está estructurado en secciones y existen herramientas alternativas como OpenCore Configurator que permite visualizar y editar de una forma más gráfica y agradable, pero no las recomiendo porque pueden corromper el archivo config.plist

https://mackie100projects.altervista.org/opencore-configurator/


Si queréis usarlo como base, comparto con vosotros mi archivo config.plist al que lógicamente he eliminado los datos de identificación del equipo que os explicaré a continuación cómo generar.

http://www.mediafire.com/file/3pn0nifu47ke6fa/config.plist/file


SMBIOS y el número de serie de nuestro Mac

Un Mac original tiene unos datos de identificación que son imprescindibles para que todo funcione bien. El equipo tiene su número de serie, la placa base tiene su número de serie, el sistema tiene su identificador único (UUID), todo esto es indispensable para que nuestro Mac Pro se comporte como un verdadero Mac Pro.

Y para que funcione de forma idéntica a como lo haría uno genuino en combinación con los servicios de iCloud, el número de serie debe ser válido y reconocible en la web de soporte de Apple.

Afortundamente, contamos con el programa GenSMBIOS que podéis descargar aquí y que es capaz de generar los datos necesarios para nuestro equipo, en este caso un Mac Pro de 2019, cuyo modelo es MacPro7,1.

Además del número de serie del equipo, necesitaremos el número de serie de la placa y el UUID del equipo. Todos estos datos nos los proporciona el programa GenSMBIOS, muy sencillo de utilizar siguiendo la secuencia del menú

Y terminaremos con una pantalla que habrá generado una combinación válida de datos

Y la habrá inyectado dentro del archivo config.plist que hayamos seleccionado.

Antes de dar por bueno este número de serie en nuestro archivo config.plist, debemos asegurarnos de que Apple lo reconoce como válido, y que no lo tiene asignado a ningún equipo de otro usuario.

Para ello, accedemos a la página web de soporte de Apple para verificar la cobertura del número de serie en Comprobar tu cobertura de servicio y soporte técnico - Soporte técnico de Apple y deberíamos tener como respuesta una pantalla así, que nos indique que el número no existe.


Y solo nos quedaría afinar algú valor más del config.plist:
  • Generic > ROM lo he dejado con 00000000 0000 y tenéis que cambiarlo por el valor de la dirección MAC de la tarjeta de red que usáis para conectar con Internet. Este es un tema importante para que funcionen los servicios de iCloud.
  • PlatformNVRAM > BID para que sea Mac-"el valor de la variable MBL"
Con eso tendrías terminado vuestro archivo config.list y por tanto completada vuestra carpeta EFI, que permitirá que el proceso de instalación se realice sobre un Mac perfectamente descrito y con su número de serie válido.
JazzBai Un proyecto DeBilbao para el mundo del Jazz
http://www.jazzbai.com

Sennheiser HD650 < Rega Ear MKII < Rega DAC < Douk U2 < Mac Pro 2019 (Z390 Designare)
Sennheiser HD650 < Rega Ear MKII < Topping D10s < iMac 4K
Sennheiser IE 300 < HiBy R3 Pro
Sennheiser IE 300 < HIDIZS Sonata HD USB-C DAC < MacBook Pro 2020 | Surface Pro 7+ LTE
Sennheiser IE 300 < Apple 3,5mm Lightning DAC < iPad Air 3 LTE | iPhone 12 Pro
Tidal HiFi Plus | Spotify | Audirvana Plus | MusicBee | Windows 11 Pro | macOS Monterey

DeBilbao

#3
Creación del instalador USB

A partir de aquí necesitamos un equipo ejecutando macOS. Mejor si es un Mac original, pero podría ser una máquina virtual ejecutando macOS.

Lo primero que haremos será descargar el instalador de macOS Big Sur, que podremos descargar desde la Mac App Store, siguiendo este enlace. Es una descarga voluminosa y el instalador de esta versión de macOS pesa nada menos que 12GB, por lo que necesitaremos al menos un pendrive de 16GB de capacidad.



Se puede usar cualquier pendrive de al menos 16GB, pero yo he preferido usar un pendrive de calidad, un Sandisk Extreme GO de 32GB que ofrece mucha velocidad de lectura y escritura y tiene mucha más capacidad de la que necesito, pero en él he guardado no solo el instalador de macOS, sino también los instaladores del software principal de mi configuración. Es un dispositivo que guardo a buen recaudo.

Antes de empezar, conviene inicializar el pendrive en formato Mac OS Plus (con registro)


El instalador que hemos descargado estará ubicado en nuestra carpeta aplicaciones, y el siguiente paso es crear un pendrive con el instalador de macOS, siguiendo la guía oficial de Apple

https://support.apple.com/es-es/HT201372

Que básicamente se traduce en ejecutar este comando en el terminal, cambiando USB_32GB por el nombre de vuestro pendrive

sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/USB_32GB 
Dependiendo de la velocidad de vuestro pendrive tardará más o menos, pero necesitaréis dejarlo un buen rato hasta que indique que ha terminado.


El siguiente paso será copiar nuestra carpeta EFI en la partición EFI del pendrive de instalación de macOS Big Sur, usando el programa  MountEFI.command.



Ya tenemos nuestro pendrive preparado para instalar macOS Big Sur en nuestro equipo, modificado para que el instalador "lo vea" como un auténtico Mac genuino, con su número de serie y todo lo necesario para poder completar el proceso completamente, incluso la configuración de los servicios de iCloud.



Instalación de macOS Big Sur

Conectamos el pendrive a un puerto USB, reiniciamos el equipo y pulsamos la tecla "Supr" en el arranque para definir el pendrive como disco de arranque. Esto es importante porque el equipo se reiniciará varias veces y nos interesa que cada reinicio sea gobernado por el gestor de arranque en el pendrive.

Si lo hemos hecho todo bien, aparecerá la pantalla principal del instalador de macOS Big Sur, con su nuevo diseño con el modo oscuro activado.


Antes de lanzarnos a instalar macOS Big Sur, tendremos que preparar el disco donde lo vamos a instalar y para eso accedemos a la Utilidad de discos, en donde inicializaremos el disco en formato APFS.



Salimos de la Utilidad de discos, arrancamos el instalador de macOS Big Sur, y elegimos el disco donde lo queremos instalar



A partir de ahí, seguimos el proceso de instalador con normalidad


Durante el proceso de instalación, el sistema se reiniciará varias veces y el reinicio pasará siempre por el gestor de arranque de Open Core y tendréis que ir seleccionando distintos volúmenes de arranque: la primera vez será el propio Instalador de macOS Big Sur y luego irán apareciendo varios volúmenes, uno temporal y finalmente el disco de macOS Big Sur,


Y tras todos esos reinicios y tras superar el asistente de bienvenida, llegaremos al escritorio del macOS Big Sur.


Casi hemos concluido la instalación, pero el disco de macOS Big Sur sigue siendo dependiente del pendrive de instalación, porque la partición EFI aún no tiene copiada la carpeta EFI personalizada para el equipo, y eso será el siguiente paso que tenemos que hacer para completar el proceso.

Como hemos hecho con el pendrive de instalación, usaremos el comando MountEFI.command para montar la partición EFI y y copiaremos la carpeta EFI en su interior.

Reiniciamos el equipo, pulsamos la tecla Supr para colocar el disco de macOS como disco de arranque preferente y ya tendremos el sistema listo.


Con este último paso, habremos completado el proceso y podremos iniciar con tranquilidad el equipo sin necesidad de pendrives auxiliares, pero guardaremos a buen recaudo nuestro pendrive ya que si en algún momento tenemos un problema, siempre podremos iniciar el equipo desde el pendrive y elegir nuestro disco interno como volumen de arranque.
JazzBai Un proyecto DeBilbao para el mundo del Jazz
http://www.jazzbai.com

Sennheiser HD650 < Rega Ear MKII < Rega DAC < Douk U2 < Mac Pro 2019 (Z390 Designare)
Sennheiser HD650 < Rega Ear MKII < Topping D10s < iMac 4K
Sennheiser IE 300 < HiBy R3 Pro
Sennheiser IE 300 < HIDIZS Sonata HD USB-C DAC < MacBook Pro 2020 | Surface Pro 7+ LTE
Sennheiser IE 300 < Apple 3,5mm Lightning DAC < iPad Air 3 LTE | iPhone 12 Pro
Tidal HiFi Plus | Spotify | Audirvana Plus | MusicBee | Windows 11 Pro | macOS Monterey

DeBilbao

#4
Comprobación de funcionamiento correcto del sistema

Son muchas las cosas que podemos probar para comprobar que nuestro sistema funciona correctamente, y a continuación comentaré las más importantes.

Un buen indicador de que nuestra DSDT ha sido correctamente reconocida por el sistema y que nuestro hardware está siendo visto por macOS Big Sur como hardware soportado, es acceder a Información del sistema > PCI y comprobar que todos los dispositivos que están conectados aparecen reflejados.

Ahí tenemos el controlador de Audio tanto para la salida HDMI de la placa como para la tarjeta de sonido HD, y las dos controladoras NVMe para los discos M2, todo detectado como hardware de Apple gracias a las extensiones de kernel que hemos cargado desde la partición EFI gracias a OpenCore.

La tarjeta Bluetooth + Wi-Fi Fenvi T-919 usa el mismo controlador que los equipos de Apple y aparece reflejada como una AirPort Extreme. La controladora Titan Ridge Thunderlot 3 y USB-C de Gigabyte, todos los componentes del chipset de Intel Z390, y las 2 tarjetas Gigabit Ethernet. Perfecto


En el Menú Apple > Acerca de este Mac, tenemos información general revisando sus pestañas y accediendo a Informe del sistema obtendremos información más detallada.

En la primera pestaña debiera aparecer correctamente detectado el modelo de procesador, el tipo y la cantidad de memoria RAM, el disco de arranque, la tarjeta gráfica y el número de serie que hayamos inyectado en el archivo config.plist con la herramienta GenSMBIOS.


En Informe del sistema > Hardware tenemos una primera ficha de nuestro hardware, un Mac Pro, modelo MacPro7,1 como queríamos, con un Intel Core i7 de 8 núcleos a 3GHz detectado correctamente, con
256KB de cache de nivel 2 por núcleo, 12MB de caché de nivel 3 y 32GB de RAM.

También aparecen el número de serie y el UUID que identifican a nuestro equipo de forma precisa.


En Informe del sistema > Hardware > Memoria tenemos un detalle de nuestros módulos de memoria, que deben reflejar correctamente el tipo DDR4, la velocidad de 3000Mhz y los bancos de memoria donde los hemos instalado, en mi caso el 1 y el 3, alternos para que gestione correctamente el doble canal. Los he preferido a los 0 y 2 ya que están un poco más alejados de la CPU y el disipador.


En Informe del sistema > Almacenamiento aparecerán todos nuestros discos y los volúmenes de cada uno de ellos. Despista un poco que tengamos un volumen llamado macOS Big sur y otro llamado macOS Big Sur - Datos, pero son cosas del sistema de archivos APFS que representa un mismo volumen como si fueran dos y en el primero guarda todo lo relacionado con el sistema y en el segundo las aplicaciones y los datos de usuario.


Pero nuestros discos son de dos clases. Por una parte tenemos los discos ultrarrápidos NVMe conectados al bus PCI Express


Podemos comprobar si su rendimiento es correcto con una utilidad como Blackmagic Disk Speed Test. El fabricante WD anuncia que el Black SN750 de 500GB consigue hasta 3.400MB/s en lectura y 2.600MB/s en escritura y me quedo muy cerca de los de escritura, pero me quedo lejos de los de lectura.

No sé si será el tipo de benchmark, y aunque es una velocidad muy grande, me gustaría saber por qué y ver cómo conseguir llegar a esos 3.400 prometidos.


Además de los dos discos NVMe, tengo 3 discos SATA conectados en modo AHCI a la controladora de la placa base Gigabyte Z390 Designare, y aparecen correctamente reportados: son dos discos de 3TB y otro de 8TB.


Aquí lo curioso es que los dos discos SATA de 3TB que tengo son idénticos, dos WD RED que sin embargo miden distinto a la hora de pasarles un benchmark. Uno llega a los 130MB/s de lectura y escritura y el otro no pasa de 80MB/s.

Viendo las especificaciones, veo que uno indica "Nombre de comportamiento" SATA2 y el otro SATA 3. Ahí está el problema y trataré de buscar la explicación. No creo que hay un jumper en el disco, pero lo consultaré.

Por cierto, en Windows he realizado un benchmark y ambos discos me dan 90 MB/s y los dos aparecen como SATA III, así que tengo un gremlin que resolver.


Y el otro no pasa de los 80MB/s. Tendré que investigarlo y probarlo también en Windows.

En la segunda veremos la pantalla o pantallas que tengamos conectadas. En mi caso tengo mi monitor  BenQ PD2700U que soporta correctamente la resolución 4K UHD (3820x2160) y un segundo monitor que en realidad no existe, es un dispositivo "dummy" que emula un segundo monitor que me permite conectarme a la máquina de forma remota aunque la pantalla esté apagada.


En Informe del sistema > Gráficos/pantallas se recoge la información detallada de vuestras pantallas, incluyendo su compatibilidad con Metal.


A pesar de que mi monitor 4K UHD BenQ DesignVue PD2700U viene calibrado de fábrica, a mi me gusta siempre calibrar mis monitores para conseguir una reproducción de color natural y adaptada a las condiciones de iluminación de mi cueva. Uso un calibrador SpyderX de Datacolor y el software de calibración DisplayCAL, que me parece buenísimo y es gratuito.

https://displaycal.net/

También utilizo el software SwitchResX para tener mayor control sobre las resoluciones de salida de cada uno de los dos monitores.

https://www.madrau.com/


Para comprobar la sección de la tarjeta gráfica, os recomiendo dos programas. Por una parte GLView, que os dará información detallada de vuestra tarjeta gráfica, la compatibilidad con OpenGL


http://www.realtech-vr.com/home/glview


Y por otra parte, para comprobar que tenemos soporte de aceleración gráfica por hardware completa, usaremos el programa VideoProc. Si todo está correcto, deberá mostrar compatibilidad con la aceleración por hardware tanto para el codec H.264 como para el codec HEVC

https://www.videoproc.com/


En el apartado de red, podéis probar a realizar transferencias de archivos grandes entre equipos de vuestra red y comprobar que llegáis a sostener una transferencia de 1 Gbps, o podéis realizar un test de velocidad contra vuestro proveedor de acceso a la red. En mi caso tengo Vodafone y consigo unas fantásticas velocidades con mi acceso FTTH.


Para medir el rendimiento del equipo, el estándar en macOS es el software Geekbench, que realiza unos cuantos tests que simulan cargas de trabajo reales tanto en single-core como en multi-core, y además es multiplataforma, por lo que puedo comparar el rendimiento de la misma configuración con macOS Big Sur y con Windows o Linux.

https://www.geekbench.com/

Este es el rendimiento medio de un Mac Pro original con procesador Intel Xeon W-3223 de 8 núcleos al que me he propuesto imitar:


Estos los resultados que obtengo con el equipo en macOS, que como veis los superan en single-core y los empatan prácticamente en multi-core, y es que esta configuración es un auténtico cañón y todo responde de forma instantánea.


Muy similares a los que me ofrece el mismo test desde Windows

JazzBai Un proyecto DeBilbao para el mundo del Jazz
http://www.jazzbai.com

Sennheiser HD650 < Rega Ear MKII < Rega DAC < Douk U2 < Mac Pro 2019 (Z390 Designare)
Sennheiser HD650 < Rega Ear MKII < Topping D10s < iMac 4K
Sennheiser IE 300 < HiBy R3 Pro
Sennheiser IE 300 < HIDIZS Sonata HD USB-C DAC < MacBook Pro 2020 | Surface Pro 7+ LTE
Sennheiser IE 300 < Apple 3,5mm Lightning DAC < iPad Air 3 LTE | iPhone 12 Pro
Tidal HiFi Plus | Spotify | Audirvana Plus | MusicBee | Windows 11 Pro | macOS Monterey

DeBilbao

Actualización a la versión de OpenCore 0.6.5

OpenCore ha sido actualizado a la versión 0.6.5, y mi Sagar Hozkatua ya está utilizando el bootloader con todas las nuevas correcciones aplicadas:

  • Fixed installing OpenDuet on protected volumes
  • Updated underlying EDK II package to edk2-stable202011
  • Updated builtin firmware versions for SMBIOS and the rest
  • Fixed macrecovery server protocol compatibility
  • Added basic audio assistant support in OpenCanopy
  • Added compiled ACPI samples to the package
  • Fixed timer resolution restoration at boot time
  • Fixed memory capacity when using custom SMBIOS memory config
  • Removed no longer required DeduplicateBootOrder quirk
  • Fixed macserial crashes when processing invalid serials
  • Fixed macserial issues when processing 2021 year serials
  • Added advanced error checking in ocvalidate utility
  • Added SetupDelay to configure audio setup delay
  • Reworked LogoutHook.command to support older macOS
  • Implemented MP3 audio decoding for audio assistant support
  • Added support for PickerVariant for more theme variants
  • Added OC_ATTR_HIDE_THEMED_ICONS PickerAttribute for Time Machine
  • Fixed OpenUsbKb compatibility with certain keyboards


Además de OpenCore, se han actualizado otros kexts esenciales (no todos):
  • AppleALC 1.5.6 (Audio)
  • IntelMausi v1.0.5 (Ethernet)
  • NVMeFix v1.0.5 (M2 SSD)
  • WhateverGreen 1.4.6 (VGA)

Lo tenéis todo para descargar en el GitHub del proyecto Acidanthera

https://github.com/acidanthera/

Antes de nada, aseguraros de tener un pendrive desde el que podéis iniciar el equipo con la carpeta EFI que ahora mismo os funciona. No cuesta nada reiniciar el equipo desde el mismo y asegurarse de que en caso de problemas, tenemos posibilidad de iniciar el equipo para arreglar lo que se haya podido estropear.

Para actualizar desde la versión 0.6.5 he seguido los consejos recomendados por la guía oficial de Dortania, en el capítulo dedicado a la actualización de OpenCore.

https://dortania.github.io/OpenCore-Post-Install/universal/update.html

Hay que copiar los archivos nuevos de OpenCore sustituyendo los existentes en vuestra carpeta, y lo mismo con los Kexts actualizados, copiarlo en su lugar correcto, y ejecutar ProperTree para hacer un Snapshot y que recoja las nuevas actualizaciones.

Tras la actualización, mi carpeta EFI ha quedado así:


Pero OpenCore con cada versión añade nuevas opciones al archivo config.plist y si no las añadimos al archivo config.plist uqe usábamos hasta ahora, estaremos haciéndolo mal.

La clave está en usar el programa OCConfigCompare para comparar el archivo config.plist que estábamos utilizando en la versión 0.6.4 con el archivo sample.plist de la nueva versión 0.6.5 de OpenCore.

Ejecutando el comando, afloran las diferencias, un par de novedades introducidas por la nueva versión, otras eliminada en esta versión, y mis ajustes personalizados de memoria que debo conservar para evitar el error de memoria en el Mac Pro.


Como siempre, he abierto los dos archivos con mi editor de Plist favorito (Plist Edit Pro) pero podéis hacerlo perfectamente con el recomendado ProperTree, y he copiado lo que faltaba de uno a otro hasta que tras volver a comparar, no queda nada pendiente.

No sé si tendrá que ver con la actualización del Kext que se encarga del NVME, pero la verdad es que noto el sistema un punto más ágil en su respuesta. Nada exagerado, pero bastante evidente.

Una vez más, el proceso ha sido sencillo y sigo encantado con mi Mac Pro "a la bilbaina".
JazzBai Un proyecto DeBilbao para el mundo del Jazz
http://www.jazzbai.com

Sennheiser HD650 < Rega Ear MKII < Rega DAC < Douk U2 < Mac Pro 2019 (Z390 Designare)
Sennheiser HD650 < Rega Ear MKII < Topping D10s < iMac 4K
Sennheiser IE 300 < HiBy R3 Pro
Sennheiser IE 300 < HIDIZS Sonata HD USB-C DAC < MacBook Pro 2020 | Surface Pro 7+ LTE
Sennheiser IE 300 < Apple 3,5mm Lightning DAC < iPad Air 3 LTE | iPhone 12 Pro
Tidal HiFi Plus | Spotify | Audirvana Plus | MusicBee | Windows 11 Pro | macOS Monterey

DeBilbao

La semana pasada se actualizó macOS Big Sur a la versión 11.2 y al mismo tiempo teníamos OpenCore actualizado a la versión 0.6.6, que ya está funcionando perfectamente en mi Sagar Hozktua en modo MacPro (2019).

Actualización a la versión de OpenCore 0.6.6

Este es el registro de cambios de la versión del bootloader:

  • Added keyboard and pointer entry scroll support in OpenCanopy
  • Added background image support in OpenCanopy
  • Fixed selector boot option choice in OpenCanopy
  • Relaxed selector dimensions for OpenCanopy
  • Added MaxBIOSVersion option to Generic
  • Fixed MLB verification feature in macrecovery
  • Replaced VBoxHfs driver with OpenHfsPlus
  • Added audio codec dumping to SysReport
  • Fixed compatibility with page protection for all binaries
  • Fixed crashes in OpenUsbKbDxe when handling unsupported devices
  • Removed HdaCodecDump application in favor of SysReport
  • Added SetApfsTrimTimeout to tune APFS trim command
  • Changed OpenCore.efi to application to improve FW compatibility
  • Added DisableSecurityPolicy UEFI quirk to workaround driver loading
  • Added support for ranged widget connections in AudioDxe
  • Fixed supplying non-RT SetVirtualAddressMap for non-macOS systems
  • Fixed using SystemUuid from DataHub in non-Automatic mode for SMBIOS
  • Dropped failsafe defaults from Generic to match non-Automatic mode
  • Replaced BootProtect with LauncherOption and LauncherPath
  • Added OpenPartitionDxe with Apple Partition Management scheme
  • Improved ocvalidate checks in Misc, NVRAM, and UEFI sections
  • Fixed multiple flaws in EFI image loading, APFS driver in particular
  • Fixed NVRAM system-id being accidentally stored in Little Endian format
  • Added UseRawUuidEncoding to choose SMBIOS UUID encoding style
  • Updated builtin firmware versions for SMBIOS and the rest

Además de OpenCore, se han actualizado otros kexts esenciales (no todos los que utilizo):
  • AppleALC 1.5.7 (Audio)
  • Lilu v1.5.1 (Patcher)
  • VirtualSMC v1.2.0 (Emulador SMC)
  • WhateverGreen 1.4.7 (VGA)

Lo tenéis todo para descargar en el GitHub del proyecto Acidanthera

https://github.com/acidanthera/

Antes de nada, aseguraros de tener un pendrive desde el que podéis iniciar el equipo con la carpeta EFI que ahora mismo os funciona. No cuesta nada reiniciar el equipo desde el mismo y asegurarse de que en caso de problemas, tenemos posibilidad de iniciar el equipo para arreglar lo que se haya podido estropear.

Para actualizar desde la versión 0.6.6 he seguido los consejos recomendados por la guía oficial de Dortania, en el capítulo dedicado a la actualización de OpenCore.

https://dortania.github.io/OpenCore-Post-Install/universal/update.html

Hay que copiar los archivos nuevos de OpenCore sustituyendo los existentes en vuestra carpeta, y lo mismo con los Kexts actualizados, copiarlo en su lugar correcto, y ejecutar ProperTree para hacer un Snapshot y que recoja las nuevas actualizaciones.

Tras la actualización y antes del primer reinicio, mi carpeta EFI ha quedado así. Utilizo las etiquetas de colores para identificar los elementos que he actualizado en color naranja, y una vez que compruebo que van bien, los vuelvo a dejar en verde.


De nuevo he usado el programa OCConfigCompare para comparar el archivo config.plist que estábamos utilizando en la versión 0.6.5 con el archivo sample.plist de la nueva versión 0.6.6 de OpenCore.

Ejecutando el comando, afloran las diferencias, elementos que faltan en el archivo config.plist introducidos por OpenCore 0.6.6 y elementos que sobran, porque esta versión los ha eliminado.

Como siempre, he abierto los dos archivos con mi editor de Plist favorito (Plist Edit Pro) pero podéis hacerlo perfectamente con el recomendado ProperTree, y he copiado lo que faltaba de uno a otro hasta que tras volver a comparar, no queda nada pendiente.

Aquí tenéis la lista de los que me han aparecido y cómo he dejado sin eliminar la sección Memory, que la tengo configurada de modo manual para evitar los problemas de configuración de memoria como MacPro.


Además, en esta versión han eliminado la carpeta Bootstrap dentro de EFI/OC, y he aprovechado también para actualizar la interfaz gráfica del gestor de arranque con OpenCanopy, que ha quedado así de chula con los iconos en modo "Modern"


Una vez más, el proceso ha sido sencillo y sigo encantado con mi Mac Pro "a la bilbaina".
JazzBai Un proyecto DeBilbao para el mundo del Jazz
http://www.jazzbai.com

Sennheiser HD650 < Rega Ear MKII < Rega DAC < Douk U2 < Mac Pro 2019 (Z390 Designare)
Sennheiser HD650 < Rega Ear MKII < Topping D10s < iMac 4K
Sennheiser IE 300 < HiBy R3 Pro
Sennheiser IE 300 < HIDIZS Sonata HD USB-C DAC < MacBook Pro 2020 | Surface Pro 7+ LTE
Sennheiser IE 300 < Apple 3,5mm Lightning DAC < iPad Air 3 LTE | iPhone 12 Pro
Tidal HiFi Plus | Spotify | Audirvana Plus | MusicBee | Windows 11 Pro | macOS Monterey

DeBilbao

Y aquí termina mi guía. Es larga y no se puede leer en poco tiempo, pero si os animáis con un proyecto similar, lo agradeceréis.

Si tenéis cualquier consulta, os contesto por aquí.

 :)
JazzBai Un proyecto DeBilbao para el mundo del Jazz
http://www.jazzbai.com

Sennheiser HD650 < Rega Ear MKII < Rega DAC < Douk U2 < Mac Pro 2019 (Z390 Designare)
Sennheiser HD650 < Rega Ear MKII < Topping D10s < iMac 4K
Sennheiser IE 300 < HiBy R3 Pro
Sennheiser IE 300 < HIDIZS Sonata HD USB-C DAC < MacBook Pro 2020 | Surface Pro 7+ LTE
Sennheiser IE 300 < Apple 3,5mm Lightning DAC < iPad Air 3 LTE | iPhone 12 Pro
Tidal HiFi Plus | Spotify | Audirvana Plus | MusicBee | Windows 11 Pro | macOS Monterey

Garlack

Repros: ipod classic 7g, touch 2g, creative zen vision M, creative x-fi2,  sony x-1050, sony a-844, xduuo x3, Astell sr15. numerosos discman mi preferido sony D-20, minidisc sony net md mz-n520.
Un montón de auriculares, demasiados.


La música es un eco del mundo invisible.

DeBilbao

Gigabyte ha publicado una nueva versión F9j de la BIOS para la placa base Z390 Designare que utilizo en mi Sagar Hozkatua, pero DESACONSEJO SU INSTALACIÓN si utilizáis dispositivos USB conectados a los puertos USB-C traseros, pues tanto en Windwos como en macOS dejan de funcionar, aunque sí que funcionan dispositivos Thunderbolt.

En mi caso, tengo dos discos externos conectados a esos puertos y aunque la actualización ha sido sencilla y sin problemas, he tenido que dar marcha atrás y volver a la versión F9i para evitar el problema.



La versión nueva es la F9j, que entre otras cosas resuelve una vulnerabilidad de la CPU, actualizando el microcódigo, y siempre me ha gustado estar actualizado en estos temas.



Y este es "el síntoma". Los dos puertos SSP1 y SSP2 del controlador USB XHC5, no funcionan con la versión F9j



Cuando lo hacen perfectamente en la versión F9i



Lo he probado también en la instalación de Windows 10 Pro que tengo en la misma máquina, y no he conseguido que funcione tampoco, así que lo achaco a la BIOS y no al sistema operativo.
JazzBai Un proyecto DeBilbao para el mundo del Jazz
http://www.jazzbai.com

Sennheiser HD650 < Rega Ear MKII < Rega DAC < Douk U2 < Mac Pro 2019 (Z390 Designare)
Sennheiser HD650 < Rega Ear MKII < Topping D10s < iMac 4K
Sennheiser IE 300 < HiBy R3 Pro
Sennheiser IE 300 < HIDIZS Sonata HD USB-C DAC < MacBook Pro 2020 | Surface Pro 7+ LTE
Sennheiser IE 300 < Apple 3,5mm Lightning DAC < iPad Air 3 LTE | iPhone 12 Pro
Tidal HiFi Plus | Spotify | Audirvana Plus | MusicBee | Windows 11 Pro | macOS Monterey