Ryzentosh (Hackintosh en AMD Ryzen)

Escrito el y tuvo 0 comentarios

Esta guia es compatible con OpenCore 0.6.9

En esta guía les trataré de explicar de forma sencilla, la creación de un dispositivo USB booteable para poder instalar macOS en un equipo con procesador AMD Zen; Dicha guía puede realizarse tanto en Windows, Linux o macOS.

El proceso requiere conocimientos en informática y que tan bien conoces los componentes de tu PC.

Graficas Nvidia

Si tienes una grafica Nvidia por favor considera estos puntos:

  • Las GTX 1000 e inferiores solo pueden ser utilizadas en macOS High Sierra
  • Las RTX 2000 en adelante no son soportadas en macOS
  • Las series 600 / 700 tienen soporte nativo, por ende es posible utilizar versiones superiores a High Sierra

Graficas AMD

En el caso de las GPU AMD la mayoría son soportadas de forma nativa, excepto las APU y casos especiales como la AMD RX 550.


Configuración de OpenCore


Elementos indispensables

Es necesario tener descargados e instalados los siguientes elementos:

Preparando el config.plist

Lo primero será extraer los archivos, luego entrar a la carpeta OpenCore/Docs/, copiamos el archivo Sample.plist, luego lo movemos a OpenCore/X64/EFI/OC/ y lo renombramos como config.plist

Ya teniendo el archivo en su lugar, lo abrimos con ProperTree y comenzamos a editarlo.

En el caso de Linux, ejecutar a ProperTree desde terminal mediante el comando python3 ./ProperTree.command

Agregando los archivos necesarios

Luego de tener el config.plist en su respectivo lugar, prepararemos cada carpeta con los archivos necesarios.

OpenCore/X64/EFI/OC/ACPI/

SSDT-EC-USBX-DESKTOP.aml
SSDT-CPUR.aml (Exclusivo para motherboards con chipset A520/B550)

OpenCore/X64/EFI/OC/Drivers/

Solo dejar los siguientes elementos:

OpenRuntime.efi
OpenHfsPlus.efi

OpenCore/X64/EFI/OC/Kexts/

Lilu
VirtualSMC
WhateverGreen
AppleALC
Kext de red (Leer mas abajo)
AppleMCEReporterDisabler
NVMeFix (para los que tengan almacenamiento por NVMe)

Kext de red: Les dejare los kext para los chipsets mas comunes que vienen en las placas AM4.

Realtek8111
LucyRTL8125Ethernet
AtherosE2200Ethernet
SmallTreeIntel82576 kext

OpenCore/X64/EFI/OC/Tools/

Solo dejar el siguiente archivo:

OpenShell.efi

Agregar archivos al config.plist

Luego de haber preparado cada carpeta; desde ProperTree presionamos las teclas CTRL + SHIFT + R (en macOS: CMD + SHIFT + R) les pedirá la ubicación de OpenCore/X64/EFI/OC/, después de haber ubicado la carpeta presionan la opción Choose (Seleccionar). Si todo salio bien, los archivos estarán configurados en el config.plist.

Estructura básica de OpenCore

Edición del config.plist

Lo que viene a continuación es un proceso que puede volverse tedioso, pero simple de entender si seguimos detenidamente las instrucciones.


ACPI

En este apartado solo necesitaremos agregar la opción SSDT-EC-USBX-DESKTOP en la sección add.

Comment: SSDT-EC-USBX-DESKTOP
Enabled: Yes
Path: SSDT-EC-USBX-DESKTOP.aml

Agregando a SSDT-EC-USBX-DESKTOP

El archivo SSDT-EC-USBX-DESKTOP debe de estar ubicado en la carpeta OpenCore/X64/EFI/OC/ACPI.

En el dado caso de tener una motherboard con chipset A520 / B550, deberán de descargar adicionalmente el archivo SSDT-CPUR.aml y realizar el mismo proceso:

Comment: SSDT-CPUR
Enabled: Yes
Path: SSDT-CPUR.aml


Booter

En este apartado nos ubicaremos en la sección Quirks y editamos las siguientes opciones:

  • DevirtualizeMmio: False / No (Si tienes un TRx40 activa esta opción)
  • EnableWriteUnprotector: False / No
  • RebuildAppleMemoryMap: True / Yes
  • SetupVirtualMap: True / Yes (Deshabilitar si se tiene una placa B550, A520, TRx40) (Deshabilitar si las placas B450/X470/X570 están actualizadas para soportar los Zen 3+)
  • SyncRuntimePermissions: True / Yes
Edición de Quirks en Booter

DeviceProperties

En este apartado lo único que vamos hacer es eliminar la opción PciRoot(0x0)/Pci(0x1b,0x0) que se encuentra en la sección add, ya que no contamos con un procesador Intel con gráficos integrados.

DeviceProperties con el elemento eliminado

Kernel

Y este es uno de los apartados mas importantes, es recomendable revisar los elementos de forma detallada.

ADD

En esta sección agregaremos todos los Kext necesarios para hacer funcionar nuestro sistema.

Para esta sección necesitaremos los siguientes Kext:

Estos archivos están ubicados en la carpeta OpenCore/X64/EFI/OC/Kexts

Carpeta Kexts

Ahora comenzaremos a editar la sección add:

Gracias a ProperTree este proceso se realiza de forma automática, pero es bueno conocer como están configurados los Kext basicos.

No todos los Kext tienen el archivo Contents, por ende hay que revisarlo para ver si existe o no dicho elemento.

Estructura basica de add en el apartado de Kernel

NOTA: Revisar que el valor Enabled este en Yes para que funcione el Kext.

Emulate

En esta seccion solo activaremos la siguiente opcion:

  • DummyPowerManagement: True / Yes
Edición de Emulate

Path

Esta sección la borraremos y la reemplazaremos por los patch para AMD. Para ello tendremos que abrir el archivo /AMD_Vanilla-opencore/17h_19h/patches.plist

Copy/paste

Quirks

En esta sección solo habilitaremos cuatro opciones:

  • PanicNoKextDump: True / Yes
  • PowerTimeoutKernelPanic: True / Yes
  • XhciPortLimit: True / Yes
Edicion de Quirks en el apartado de Kernel

Misc

Y en este apartado no vamos hacer tantos cambios como la anterior.

Debug

  • AppleDebug: True / Yes
  • ApplePanic: True / Yes
  • DisableWatchDog: True / Yes
  • Target: 67

Security

  • AllowNvramReset: True / Yes
  • AllowSetDefault: True / Yes
  • BlacklistAppleUpdate: True / Yes
  • ScanPolicy: 0
  • SecureBootModel: Default (cambiar a Disabled si se esta utilizando una GPU Nvidia)
  • Vault: Optional
Estructura editada de Misc

NVRAM

En este apartado se editaran unos cuantos elementos en diferentes secciones, pero dependiendo de nuestro hardware tendrá algunas variaciones.

Add

4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14

UIScale

CondiciónValor
Si el monitor es 1080p – 2K<01>
Si el monitor es igual o superior a 4K – UHD<02>

7C436110-AB2A-4BBB-A880-FE41995C9F82

boot-ags

VariaciónValor
-v keepsyms=1 debug=0x100 npci=0x2000 alcid=1Cualquier GPU AMD que soporte a Mojave+
-v keepsyms=1 debug=0x100 npci=0x2000 alcid=1 agdpmod=pikeraSi se está utilizando una GPU AMD Navi
-v keepsyms=1 debug=0x100 npci=0x2000 alcid=1 nvda_drv_vrl=1Habilita los drivers web Nvidia con GPU (High Sierra)

El valor alcid=1 varía dependiendo del chipset de audio que estemos utilizando (casi siempre el valor 1 funciona sin problemas), para conocer el valor que se necesita, revisa la siguiente lista.

csr-active-config: Por razones de seguridad el mejor valor es 00000000.

prev-lag:kbd formato de teclado para OpenCore, por defecto viene configurado en ruso. Para activar el idioma español cambiamos el valor data a string y escribimos es:8

prev-lag:kbd en string

Después hacer los cambios, regresamos el valor a data:

prev:lag:kbd en data

NOTA: Por si no les funciona este método en la sección pre-lag:kbd escriban en tipo data el valor 65733a38 y en el dado caso que tengan un teclado ingles estadounidense el valor es 656e2d55533a30

Delete

7C436110-AB2A-4BBB-A880-FE41995C9F82

Debemos de estar seguros que el valor de Item 0 sea boot-args

WriteFlash: True / Yes

Ejemplo NVRAM editado para una PC AMD con gráfica Polaris

PlatformInfo

En este apartado solo editaremos la sección Generic para agregar una SMBIOS que se adapte a nuestro equipo. Para ello abrimos el archivo GenSMBIOS que esta en la carpeta /GenSMBIOS-master.

Advertencia: hacer una copia de seguridad del config.plist por si algo sale mal en el proceso que viene a continuación.

GenSMBIOS

Ya abierta la aplicación seleccionamos la opción 1, luego seleccionamos la opción 2 para editar nuestro config.plist (escribir la ruta en donde esta ubicado el archivo) y terminamos con la opción 3 para seleccionar un modelo que se aproxime más a nuestro hardware.

Para los procesadores AMD Zen tenemos cuatro modelos diferentes:

ModeloHardware
iMac19,1AMD RX Polaris y GPU recientes (Catalina y versiones superiores NO ES RECOMENDABLE USARLO)
iMacPro1,1AMD RX Polaris y GPU recientes (Este SMBIOS es el mas adecuado para los recién llegados con un ecosistema AMD)
MacPro7,1AMD RX Polaris y GPU recientes (este modelo es exclusivo para Catalina y versiones superiores)

Este SMBIOS es el mejor de todos para el Hackintosh (por experiencia) pero puede llegar a generar algunos problemas (aislados), asi que si te gusta la aventura puedes utilizar este modelo

NOTA: Hay que usar el Kext RestrictEvents para eliminar el error de RAM
MacPro6,1AMD R5/R7/R9 y GPU antiguas
iMac14,2Nvidia Kepler hasta Pascal (Para los que tengan una GPU Nvidia)

Ya elegido el modelo, simplemente lo escribimos en la aplicación y si todo salio bien les mostrará el siguiente mensaje:

SMBIOS agregado de forma exitosa al config.plist

Para estar seguros, abrimos el config.plist y revisamos la sección Generic:

Sección Generic

En dado caso que no se pueda editar el config.plist de forma automática, simplemente se agregan los datos de forma manual a la seccion Generic:

Valor generadoSeccion
TypeSystemProductName
SerialSystemSerialNumber
Broad SerialMLB
SmUUIDSystemUUID
Tabla de valores para los campos de generic

UEFI

Y por último configuramos el apartado UEFI.

Drivers

En esta sección deben de estar activados dos drivers:

  • OpenHfsPlus.efi
  • OpenRuntime.efi

Estos archivos van ubicados en el directorio OpenCore/X64/EFI/OC/Drivers

Ejemplo del apartado Drivers

Ya con esto tendremos listo a OpenCore para poder iniciar macOS en nuestra memoria USB y asi poder instalarlo.

Es recomendable tener un disco duro/SSD secundario para instalar a macOS.


Creación de dispositivo USB booteable

Para mas información visitar el siguiente enlace.

NOTA: No bootear la USB hasta que hayan terminado de configurar la UEFI


Configuración de la UEFI

Antes de comenzar a instalar, hay que preparar la UEFI de la PC y para ello hay que editar las siguientes configuraciones:

  • Fastboot: Deshabilitado
  • CSM (Compatibility Support Module): Deshabilitado
  • Modo UEFI: Habilitado
  • Above 4G decoding: Habilitado (Si se puede habilitar esta opción, eliminar el argumento npci=0x2000 que está en NVRAM > boot-ags)

NOTA: recomiendo tener deshabilitado el Above 4G decoding si realizaran un dual boot junto a Windows 10.


Post-Instalación

Instalar OpenCore en el almacenamiento de nuestro equipo

Para realizar dicho proceso, abren la terminal y luego escriben el siguiente comando:

sudo diskutil list

Nos mostrará la lista de particiones que existen en los diferentes dispositivos de almcenamiento, la que necesitamos ubicar es la partición EFI.

Imagen
Resultado del comando

Ya teniendo la ubicación de la partición, ejecutamos el siguiente comando:

sudo diskutil mount /dev/diskXsX

diskX es el dispositivo de almacenamiento en donde esta la partición y sX es la partición EFI.

Luego de haber montado la partición, simplemente copiamos la carpeta EFI que esta en nuestro dispositivo USB a la partición EFI del almacenamiento.

Ya teniendo la EFI en la partición, editan el config.plist con ProperTree y buscan la opción Misc > Boot > LauncherOption luego cambian el valor a Full, ahora buscan la opción UEFI > Quirks > RequestBootVarRouting y cambian su valor a True

Luego de haber realizado dicho proceso, reinician la PC para revisar si el bootloader esta instalado. En dado caso que no inicie, hay que revisar el orden de boot en la UEFI de la placa.

EN CONSTRUCCION


Si tienes preguntas o dudas puedes comentar en el grupo de Telegram o en Hackintosh_Spain.

La guía lleva mucho tiempo y estudio para elaborarla. Si deseas puedes invitarme a un café mientras estoy redactando 🙂