01 Jan 0001, 00:00

Share

https://hackintosh.gitbook.io/-r-hackintosh-vanilla-desktop-guide/

OpenCore ou CLover ? OpenCore est + récent, semble plus stable, plus fonctionnel avec certaines fonctions de macos (filevault, system integrity protection, meilleur support général), mais semble + complexe à mettre en oeuvre, et peut-être + instable, car + jeune

clover/Opencore : le bootloader. il modifie les id acpi, insere les kext (kernel extensions, basiquement les pilotes) pour rendre le noyau compatible avec le matériel https://github.com/Dids/clover-builder/releases

clover configurator (pour éviter de faire le ficher de conf à la main) genere le Config.plist ? fichier qui configure clover pour lui dire quoi faire

VirtualSMC - pour émuler la présence du chip (nécessaire pour booter) https://github.com/acidanthera/VirtualSMC/releases


les kexts doivent être choisies en fonction du matériel https://onedrive.live.com/?authkey=%21APjCyRpzoAKp4xs&id=FE4038DA929BFB23%21455036&cid=FE4038DA929BFB23

— création de l’usb d’install

La clé USB créée sera spécifique pour cette machine, avec les bons KExts chargés. Clover (/Opencore ?) doit être installé sur la clé elle-même.

—- matos X230 : https://dortania.github.io/OpenCore-Install-Guide/macos-limits.html#wireless-networking i5 3320M (ivyBridge) gpu intel HD 4000 (supporté de 10.7.3 à 10.15.7) wifi probablement not supported (ou peut-être 3d party ?)

—– Open Core USB Creation

Pour l’install, utiliser la version DEBUG ; si tout marche bien, passer à la RELEASE ?

Depuis maxOS, une clé complète d’install peut être créée. Depuis Linux/Windows, seule une clé de recovery par internet peut être créée. Créée sous Linux, seule le boot UEFI sera supporté. https://dortania.github.io/OpenCore-Install-Guide/installer-guide/linux-install.html

Télécharger OpenCore : https://github.com/acidanthera/OpenCorePkg/releases cd OpenCore-0.6.8-DEBUG/Utilities/macrecovery/
python ./macrecovery.py -b Mac-7BA5B2D9E42DDD94 -m 00000000000J80300 download # download macOS depuis les serveurs Apple

Ceci donne, dans le répertoire actuel, BaseSystem.dmg et BaseSystem.chunklist (ou RecoveryImage.dmg/chunklist)

Formater la clé d’install :

  • table de partition GPT
  • 1 seule partition, GUID 0700 (ceci se voit avec fdisk -l /dev/sdX qui donne “Microsoft basic data” ; ou avec gdisk -l /dev/sdX qui donne “Code : 0700” ; peut se changer avec gdisk) Avec gdisk /dev/sdX
  • o
  • n (définir uniquement le type à 0700 ; laisser le reste par défaut)
  • w

sudo mkfs.vfat -F 32 -n "OPENCORE" /dev/sdX1

À la racine de la partition FAT32, mkdir com.apple.recovery.boot et copier les fichier .dmg et .chunklist dans ce dossier

———- Préparation des fichiers EFI

https://dortania.github.io/OpenCore-Install-Guide/installer-guide/opencore-efi.html

Dans l’archive d’OpenCore, copier les fichiers du dossier X64 (ou IA32 si EFI 32b) à la racine de la partition que l’on vient de créer.

dans OC\Drivers, supprimer les pilotes non souhaités (voir site) ; je ne garde QUE OpenRuntime.efi Dasn OC\Tools, ne garder QUE OpenShell.efi (optionnel, mais utile pour du debug)

On peut maintenant récupérer les pilotes pour NOTRE matériel ; .aml (SSDT et DSDT) vont dans ACPI ; .kext vont dans Kexts ; .efi vont dans Drivers. Il faut HfsPlus.efi

Pour les kext, sous Linux/Win, ce sont des dossiers ; il FAUT qu’ils aient l’extensions .kext On peut en trouver ici : http://kexts.goldfish64.com/ Il FAUT VirtualSMC et LiLu . Penser à supprimer les plugins non-nécessaires de VirtualSMC (SMCLightSensor si pas de capteur de luminosité, SMCBatteryManager pour l’install de l’OS (peut être rajouté plus tard), et SMCDellSensors si pas un Dell supporté)

Il FAUT WhateverGreen pour la gestion des GPUs. SSDT-pnlf ? Semble ne plus être nécessaire pour les versions récentes.

AppleALC : pour avoir du son, optionnel

Ethernet : pour un Lenovo X230M, c’est le chipset Intel 82579LM ; il faut donc IntelMausi

USB : Pour les chipset Skylake et ultérieurs, il ne devrait y avoir besoin de rien ; pour Coffee Lake et précédents (donc X230), il faut un injecteur universel. Ne fonctionne que sur chipsets intel

Wifi : pour carte intel, tester https://github.com/OpenIntelWireless/itlwm/releases ?

Trckpad/Trackpoint : pour Synaptics, https://github.com/VoodooSMBus/VoodooRMI/releases/

—— SSDTs DSDT et SSDT sont des tables présentes dans le firmware du PC, qui servent à définir le matériel présent. La DSDT est la principale, les SSDT sont les secondaires.
Il faut compiler/installer les SSDT nécessaires pour notre matériel. Sous forme de code, ce sont des .dsl. Une fois compilés, ce sont des .aml. Ce sont les .aml qu’il faut passer à OpenCore. Pour X230, il faut CPU-PM (post-install de macOS), SSDT-EC (pour le contrôleur embarqué), SSDT-PNLF (pour le rétroéclairage) et IRQ SSDT.

On peut en compiler certains avec SSDTTime , notamment SSDT-EC. À faire sur la machine cible, depuis Lnux (ou windows).

—— config.plist Dit à OpenCore comment se comporter. On récupère Sample.plist depuis le répertoire OpenCore\Docs\ et on le copie dans le dossier OC sur la clé USB, puis on le renomme config.plist

On utilise ProperTree (qui nécessite apt install python-tk) https://github.com/corpnewt/ProperTree Ctrl-Shift-R pour faire un “Clean snapshot” : intègre les fichiers (kexts, ssdt etc…) ajoutés dans le config.plist

Vérificateur de config OpenCore : https://opencore.slowgeek.com/