OpenCore ile macOS Kurulum Rehberi

Durum
Mesaj gönderimine kapalı.
Bu rehberde yeni nesil önyükleyici olan OpenCore ile nasıl macOS kuracağınızı adım adım öğreneceksiniz.

Giriş

Rehberin hazırlandığı sürüm: 0.5.9

1. Hakkında

OpenCore, bir sisteme macOS yüklemek amacıyla tasarlanmış açık kaynaklı bir önyükleyicidir. Clover gibi alternatiflerinin getirdiği kısıtlamaların çoğunu hafifletmek için tasarlanmıştır. OpenCore'un yapmayı amaçladığı ana şey, yamalamayı çok daha hassas ve etkili hale getirmek için sembolleri ve yapıları daha iyi anlayabilen daha çok yönlü ve modüler bir sistem oluşturmaktır. Özel ön bağlayıcısı ile kext enjeksiyonunu macOS bağımsız hale getirmektedir. Bu da demektir prelinked kernel destekleyen bütün macOS sürümlerini daha ilk günden çalıştırabilir. OpenCore öncelikle Hackintosh sistemler için tasarlanmış olsa da, birçok KVM uygulamasında ve hatta herhangi bir durumda emüle edilmiş EFI'nin gerekli olduğu gerçek Mac'lerde de kullanılabilir.

2. Başlarken

Rehbere başlayıp, OpenCore'u ayarlamadan öncesinde sistemimizin macOS için uyumlu olduğundan emin olmamız lazım:
Gerekli kontrolleri sağladıktan sonra başlayabiliriz!

3. OpenCore ipuçları

Kernel uzantıları (Kext'ler, macOS sürücüleri) config dosyanızdaki sıralamaya göre yüklenmektedir. Yani bir eklentiyi yüklemeden önce onun ihtiyacı olan eklentilerin yüklenmesi gerekiyor. Örneğin: Lilu, WhateverGreen veya VirtualSMC'den önce yüklenmek zorundadır.
  • SMBIOS verisi, ACPI yamaları ve DSDT/SSDT'ler tüm işletim sistemlerine uygulanır. SSDT'lerinizi şu şekilde ayarlayın: If (_OSI ("Darwin")) {}
    • Ayrıca şunu aklınızda bulundurun, bu rehberde bahsi geçen tüm SSDT'ler güncellenmiştir ve önyüklemeyi etkilememelidir.
  • Bazı sistemlerde saf UEFI modu gerekebilir. (Bu ayar genellikle anakart üreticileri tarafından BIOS'ta şu adal yer alır: "Windows 8.1/10 UEFI Mode")
    • Ayrıca bkz:
    • Ekran kartımı nasıl flashlarım?
    • UEFI destekli ROM'unuzu karta yazmak için bu kılavuzu
      takip edebilirsiniz. GPU'nuz için UEFI etkin bir ROM oluşturmak için bu kılavuzu takip edebilirsiniz. macOS için de bir araç var lakin kullanırken dikkatli olmanızda fayda var!
  • OpenCore, macOS'un önbağlantılı(prelinked) çekirdek(kernel) desteklediği sürümü gerektirir. Yani OS X 10.7 Lion veya daha günceli.
  • Clover'dan, OpenCore'a dönüştürürken sorun yaşayanlar için: Clover'dan, OpenCore'a dönüştürürken sorun yaşayanlar için Clover'ı çevirmek - Technopat Sosyal

Clover ve diğerleri yerine, neden OpenCore?

Bu bölüm, topluluğun neden OpenCore tercih ettiğine dair kısa bir özettir. Sadece macOS kurmak isteyenler burayı atlayabilir.

1. OpenCore özellikleri
  • Ortalama olarak, daha az gereksiz yama yapıldığından OpenCore sistemler, Clover kullananlardan daha hızlı açılır.
  • Yamalar çok daha hassas olduğundan daha kararlıdır:
    • macOS 10.15.4 güncellemesi ile Clover kullanan sistemler açılmamaya başlamıştı.
    • Her ufak güvenlik güncellemesinde AMD OSX yamalarının güncellemesi gerekmemekte.
  • Çoğu durumda daha iyi güvenlik:
    • System Integrity Protection (SIP)'i kapatmak gerekmiyor
    • Dahili FileVault 2 desteği
    • Vaulting, EFI görüntüsü oluşturulmasına izin vererek istenmeyen değişiklikleri engeller.
    • Gerçek secure-boot desteği (Şu anlık güvenlik denetiminde, kısa süre içerisinde geliyor!)
  • BootCamp geçişi ve önyükleme aygıtı seçimi, tıpkı gerçek bir Mac gibi Başlangıç Diski tarafından ayarlanan NVRAM değişkenleri okunarak desteklenir.
  • Önyükleme kısayol tuşlarını boot.efi aracılığıyla destekler. - Başlangıçta önyükleme aygıtını seçmek için Option veya ESC'ye basılı tutun, Kurtarma moduna girmek için Cmd+R, NVRAM resetlemek için de Cmd+Opt+P+R.
2. Yazılım Desteği
Birisinin, bir başka önyükleyiciye geçmesinin en büyük sebebi belki de yazılım desteğidir:
  • Kextler artık Clover için test edilmemekte:
    • Kext'de bug mu buldunuz? Çoğu geliştirici, hatta Acidanthera bile(çoğu favori kextlerinizin yapımcısı) OpenCore dışında destek sağlamamakta.
  • Çoğu Firmware sürücüleri OpenCore ile birleşmeye başladı:
  • AMD OSX yamaları:
    • AMD tabanlı sisteminiz mi var? MacOS'u önyükleyebilmek için gereken çekirdek(kernel) yamaları artık Clover'ı değil, sadece OpenCore'u desteklemekte.
3. Kext enjeksiyonu
OpenCore'un kext enjeksiyon sistemini daha iyi anlamak için ilk önce Clover'ın nasıl çalıştığına bakmalıyız:
  1. SIP'i yamalayarak devreye sokar
  2. Kext enjeksiyonu için XNU'un zombie code'unu yamalayarak etkinleştirir.
  3. Kext enjeksiyonu ile yarışma durumunu yamalar.
  4. Kextleri enjekte eder
  5. SIP'i geri yamalar
Clover'ın yönteminde not edilmesi gereken şeyler:
  • XNU zombie code'u 10.7'den beri kullanılmamakta. Apple'ın bu kodu kaldırmaması hala etkileyici.
    • OS güncellemeleri çoğunlukla bu yamayı bozar, tıpkı geçenlerdeki 10.14.4 ve 10.15 gibi.
  • SIP'i devre dışı bırakır ve yeniden aktifleştirmeyi dener, söylenilecek çok bir şey yok gibi
  • 10.16 ile bozulma olasılığı yüksek
  • 10.5'e kadar tüm OS X sürümlerini destekler.
Şimdi bir de OpenCore'un yöntemine bakalım:
  1. Var olan önbağlantıdaki(prelinked) çekirdek(kernel) ve kextleri enjeksiyona hazır hale getirir
  2. Yeni kextler ile EFI ortamındaki önbelleği yeniden oluşturur
  3. Yeni önbelleği ekler
OpenCore'un yönteminde not edilmesi gereken şeyler :
  • OS Agnostic önceden seçilen çekirdek(kernel) formatı olarak 10.6'dan beri aynı kaldı, desteği kırmak çok daha zor.
    • Bu aynı zamanda tam desteğin 10.7'de başladığı anlamına gelir, ancak 10.6 zaten kurulu olduğu sürece kullanılabilir (10.6 yükleyicisinin önbağlantılı(prelinked) çekirdeği(kernel) yoktur)
  • Daha az yamalamada daha çok kararlılık.


USB'yi oluşturma

Gereksinimler:
  • OpenCorePkg, Debug sürümünün kullanılması daha fazla bilgi görmek için şiddetle önerilmektedir.
  • ProperTree .plist dosyalarınızı düzenlemek için (OpenCore Configurator ise başka bir araç ama oldukça tarihi geçmiş ve Mackie sürümü ise bozulması ile bilinmekte. Ne pahasına olursa olsun bu tür araçlardan kaçının!).
  • Temizlenmiş NVRAM(Eğer öncesinde Clover kullandıysanız bu çok önemli, çoğu değişkenler kalıyor ve çakışmaya sebep oluyor. Şanslısınız ki config dosyanızda AllowNvramReset açık olduğu sürece önyükleyici seçiminde CleanNvram'e tıklayarak temizleyebilirsiniz.
  • Hackintosh'un nasıl çalıştığı ve hangi dosyalara ihtiyacınız olduğuna dair temel bilgi birikimi(örneğin: Ağ denetleyicisi türü).
  • OC'yi ana önyükleyici olarak kullanmak istiyorsanız Clover'ı sisteminizin tamamen kaldırmanız gerekli. Clover tabanlı EFI'nızın yedeğini saklayın. Nelerin temizlenmesi gerektiğine bkz: [Rehber] Clover Önyükleyiciden OpenCore'a Geçiş - Technopat Sosyal
Yükleyiciyi Oluşturma
Hangi işletim sisteminde olduğunuza göre değişir.

macOS kullanıcıları

macOS'da yükleyiciyi yapma

OpenCore kullanmak için temiz macOS kurulumu yapmaya gerek duymasanız da, bazı kullanıcılar önyükleme yöneticisini güncellerken tercih etmekte.

Başlamak için kendimize macOS'un kopyasını almalıyız, eğer sadece OpenCore USB'si yapıp, yükleyici yapmak istemiyorsanız bu adımı geçip "USB'yi formatlama" kısmına atlayabilirsiniz. Diğer herkes için, macOS'u App Store'dan veya gibMacOS ile indirebilirsiniz.

Legacy kullanıcıları için
  1. Öncelikle Legacy Install bölümünü takip edin
  2. Tamamlandıktan sonra macOS'u indirme kısmından devam edebilirsiniz.
Apple'ın kataloğunda yer almayan macOS versiyonları için(örn. Sierra ve daha eskisi), Legacy macOS kurulumu rehberini takip edin.

1. macOS'u indirme

Yüklemek istediğiniz işletim sistemi sürümünün gereksinimlerini karşılayan bir macOS makinesinden, doğrudan AppStore'a girin ve istediğiniz OS sürümünü indirin. Ardından Yükleyiciyi Ayarlama kısmından devam edin.

Belirli bir OS sürümüne ihtiyaç duyan veya App Store'dan indiremeyen makineler için GibMacOS programını kullanabilirsiniz.

GibMacOS'u indirip yerel bir dizine çıkaralım.

Ardından gibMacOS.command'ı çalıştıralım:
gib.png

Görebileceğiniz üzere macOS yükleyicilerinin güzel bir listesi karşımıza geldi. Eğer macOS'un beta sürümüne ihtiyacınız varsa, C. Change Catalog'u seçebilirsiniz. Bu örnekte 1'i seçeceğiz:
gib-process.png

8GB+ macOS yükleyicisinin tamamını indirmek biraz zaman alacaktır. Bu yüzden beklerken rehberin kalan kısmını okumanızı tavsiye ederim.

İndirme işlemi tamamlandığında, BuildmacOSInstallApp.command'ı açın:
gib-location.png
MacOS yükleyici dosyalarının konumu istenilecek. İndirilen konum ise GibMacOS klasörünün içerisindeki macOS Downloads adlı klasör.

Finder'da indirilen dosyaları içeren klasöre gidin ve komut satırına sürükleyin veya Terminale "Cmd+C" ve yapıştır yapın.

İşlem tamamladığında çıkın, yükleyiciyi klasör konumunda bulacaksınız.

Yeni oluşturulan imajı Applications(Uygulamalar) klasörüne taşıyın. Bu işlem, önümüzdeki işlemi kolaylaştırmakta.
gib-done.png

2. Yükleyiciyi Ayarlama
Şimdi USB'yi formatlayarak macOS yükleyicisi ve OpenCore için hazır hale getiriyoruz.
Biçim olarak macOS Extended(HFS+) ile GUID partition map kullanmalıyız. Bu bize iki bölüm oluşturacak. Ana bölüm MyVolume ve ikinci bölüm olan EFI, yazılımın önyükleme dosyalarını kontrol ettiği ve önyükleme bölümü olarak kullanıldığı yerdir.
  • Varsayılan olarak Disk İzlencesi sadece bölümleri gösterir. Cmd/Win+2'ye veya Tüm aygıtları göster'e tıklayın.(Alternatif olarak Görüntü butonuna basabilirsiniz)
format-usb.png

Sonraki adımda Apple'ın sağladığı createinstallmedia komutunu çalıştırın. Bu komutun MyVolume ismiyle formatlanmış USB için hazırlandığını aklınızda bulundurun.
Kod:
sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume
Bu biraz zaman alacağı için bir bardak kahve koymayı veya rehberi okumayı devam etmek isteyebilirsiniz.(Açık konuşmak gerekirse adım adım ilerlemek yerine, öncesinde tüm rehberi okumanızda fayda var.)

Ayrıca createinstallmedia yolunu yükleyicinizin olduğu lokasyon ile değiştirebilirsiniz, aynısı bellek ismi için de geçerli.

3. OpenCore EFI'sini ayarlama
OpenCore'un EFI ortamını ayarlamak gerçekten çok kolay. Yapmanız gereken tek şey, EFI bölümümüzü sisteme yerleştirmek. Bu aslında otomatik olarak GUID olarak formatladığımızda oldu fakat varsayılan olarak yerleşmemekte. Bu adımda tam olarak MountEFI sahneye çıkmakta:
mount-efi-usb.png
EFI bölümünü açtığınızda bomboş olduğunuzu göreceksiniz. İşte eğlencenin tam da başladığı yer.
base-efi.png

3.1 Tüm bunlar bittiğine göre
İşi bitirmek için EFI'yı ayarlama kısmına geçebiliriz.


Windows kullanıcıları

Windows'da yükleyiciyi yapma

Başlamak için gerekenler:
1. macOS'u indirme
Başlangıç olarak, gibMacOS.bat'ı Yönetici olarak açıp Toggle Recovery-Only'i seçin:
gib-default.png


Şimdi istediğiniz macOS sürümünü arayın, bu örnekte 5.seçenek olan macOS Catalina'yı seçiyoruz:

gib-recovery.png


Bu işlem \gibmacos-master\macOS Downloads\publicrelease\xxx-xxxxx - 10.x.x macOS xxx konumuna RecoveryHDMetaDmg.pkg indirecek.

gib-done.png


2. Yükleyiciyi yapma
Sıradaki adımda MakeInstall.bat'ı Yönetici olarak çalıştırın ve USB belleğinizi OpenCore için O ibaresi ile seçin(Örneğin: 1O):

make-install.png


Belleğiniz formatlandığında öncesinde indirmiş olduğumuz RecoveryHDMetaDMG.pkg'ın konumunu soracak. Sol üst kısımdaki File(Dosya) kısmı, yolu kopyalayabilmenizi sağlayacak.

make-install-location.png

recovery-location.png


MakeInstall USB'nizdeki EFI sistem bölümüne OpenCore'u kurduğunda bitecektir. Bu bölüm BOOT ismindedir:

make-install-done.png

EFI-base.png


3. Tüm bunlar bittiğine göre
İşi bitirmek için EFI'yı ayarlama kısmına geçebiliriz.


Linux kullanıcıları

Linux'da yükleyiciyi yapma

Başlamak için gerekenler:
1. macOS'u indirme
Başlamak için, gibmacOS.py'i terminalde Toggle Recovery-Only ile birlikte açın:
  • python gibMacOS.command -r
Şimdi ise istediğiniz macOS sürümünü arayın, bu örnekte 5 numaradaki macOS Catalina'yı seçeceğiz:
1-gib.png


Bu işlem \gibmacos-master\macOS Downloads\publicrelease\xxx-xxxxx - 10.x.x macOS xxx konumuna RecoveryHDMetaDmg.pkg dosyası indirecektir.

3-gib-finished.png


2. Yükleyiciyi yapma
Bu bölümün hedefi USB bellekte sadece gerekli bölümleri yapmaktır. Favori programınız olan gdisk fdisk parted gparted veya gnome-disks'i kullanabilirsiniz. Bu rehberin odağı gdisk olacaktır. Hoş ve sonrasında bölüm tipini değiştirmemizi sağlayabiliyor, macOS Recovery HD'yi önyükleyebilmek için ihtiyacımız olacak. (Burada kullanılan distro Ubuntu 18.04'dür, diğer sürümlerde veya distrolarda belki çalışabilir)

2.1 Yöntem 1
Terminalde:
  1. lsblk'yi çalıştırın ve USB belleğinizin bloğunu belirleyin.
  2. Ardından bunu çalıştırın: sudo gdisk /dev/<USB bloğunuz>
    1. Hangi bölüm tablosunu kullanacağınızı soracak olursanız, GPT'yi seçin.
      unknown-5.png
    2. Bloğunuzun bölümlerini çıkartmak için p gönderin(ve gerekli olan olduğunu doğrulayın)
      unknown-6.png
    3. o göndererek bölüm tablosunu temizleyin ve GPT olarak yeni bir tane yapın(eğer boş değilse)
      1. y ile onaylayın
        unknown-8.png
    4. n gönderin
      1. partition number: varsayılan için boş bırakın
      2. first sector: varsayılan için boş bırakın
      3. last sector: tüm disk için boş bırakın
      4. Hex code or GUID: Microsoft temel veri bölüm tipi için 0700
    5. w gönderin
      • y ile onaylayın
        unknown-9.png
      • Bazı durumlarda yeniden başlatma gerekebilir, ama nadiren, eğer emin olmak istiyorsanız bilgisayarınızı yeniden başlatın. Ayrıca USB belleğinizi yeniden takmayı deneyebilirsiniz.
    6. q göndererek gdisk'i kapayın. (normalde kendi başına quit olması lazım)
  3. lsblk kullanarak bölümünüzün tanımlayıcılarını belirleyin
  4. sudo mkfs.vfat -F 32 -n "OPENCORE" /dev/<USB bölüm bloğunuz> yazarak USB belleğinizi FAT32'ye formatlayıp OPENCORE olarak adlandırın.
  5. Ardından cd gibmacos-master/macOS\ Downloads/publicrelease/xxx-xxxxx - 10.x.x macOS xxx ile pkg dosyası gelmesi lazım.
    unknown-10.png
    1. p7zip-full indirin (Distronuzun araçlarına göre değişir)
      • Ubuntu ve Ubuntu-tabanlı sistemlerde sudo apt install p7zip-full
      • arch ve arch-tabanlı sistemlerde sudo pacman -S p7zip
      • Diğer sistemlerde, zaten biliyor olmanız lazım
      • Tüm distrolar için: 7zip'in çalışabilmesi için bash kullandığınızdan emin olun.
    2. BaseSystem.dmg ve BaseSystem.chunklist'i çıkartmak için bunu çalıştırın: 7z e -txar *.pkg *.dmg; 7z e *.dmg */Base*
    3. udisksctl ile USB bölümünüzü yerleştirin. (udisksctl mount -b /dev/<USB bölüm bloğunuz>, çoğu zaman sudo gerekmez) veya mount ile (sudo mount /dev/<USB bölüm bloğunuz> /mount/dosyanız/nerede/ise, bkz: sudo gereklidir)
    4. USB belleğinizi cd'leyin ve FAT32 USB bölümünüzün kök bölümünde mkdir com.apple.recovery.boot
    5. Şimdi BaseSystem.dmg ve BaseSystem.chunklist'i com.apple.recovery.boot klasörüne rsync'leyin veya cp'leyin.
3. Tüm bunlar bittiğine göre
İşi bitirmek için EFI'yı ayarlama kısmına geçebiliriz.


Temel OpenCore dosyalarını ekleme

OpenCore'un dosya yapısını oluşturmak için, OpenCorePkg'in sürümleri içerisindeki EFI bölümünü alıp USB'deki EFI'ye atmamız gerekecek.
  • Windows kullanıcıları: Bu zaten MakeInstall tarafından BOOT olarak oluşturuldu.
  • Linux kullanıcıları: Bu öncesinde oluşturduğumuz OPENCORE bölümü.
    • Yöntem 1 sadece 1 bölüm oluştururken, yöntem 2 ise 2 bölüm oluşturmakta.
base-efi.png

Dikkatinizi çekecek olan bir şey ise Drivers ve Tools klasörlerinin içerisinde birçok dosya ile gelecek olması. Bunlardan çoğunu istemiyoruz:
  • Drivers klasöründen silin:
    • OpenUsbKbDxe.efi DuetPkg ile çalışan Legacy sistemlerde OpenCore seçicisi olarak kullanılır. Tavsiye edilmez, hatta Ivy Bridge ve daha yeni sistemlerde zararlıdır.
    • UsbMouseDxe.efi
      • Hemen hemen OpenUsbKbDxe ile aynı hesap, sadece DuetPkg kullanan Legacy sistemlerde gerekir.
    • NvmExpressDxe.efi
      • Hiçbir NVMe sürücüsü yazılım olarak yapılmadığı için Haswell ve daha eski sistemlerde kullanılır.
    • XhciDxe.efi
      • Hiçbir XCHI sürücüsü yazılım yapılmadığı için Sandy Bridge ve daha eski sistemlerde kullanılır.
    • HiiDatabase.efi
      • OpenShell.efi'deki gibi arayüzleri düzeltmek için Sandy Bridge ve daha eskisinde kullanılır.
    • OpenCanopy.efi
      • Bu, OpenCore'un opsiyonel arayüzüdür. Bu arayüzün nasıl ayarlanacağı burada anlatılmakta Post Install. Bu yüzden şimdilik silin.
    • Ps2KeyboardDxe.efi + Ps2MouseDxe.efi
      • USB klavye ve mouse kullanıcıları için gereksiz.
      • Hatırlatma: PS2 ≠ USB
  • Tools'daki her şeyi silin:
    • Hepsini listelemek çok uzun, fakat OpenShell.efi'yi silmemek sorunları gidermek için tavsiye edilir.
Temizlenmiş bir EFI:
clean-efi.png

Şimdi gerekli yazılım sürücülerinizi(.efi) Drivers klasörüne, kextleri ve ACPI'leri de kendi klasörlerine atabilirsiniz. Clover'daki UEFI sürücülerinin OpenCore'da desteklenmediğini aklınızda bulundurun.(EmuVariableUEFI, AptioMemoryFix, OsxAptioFixDrv, vb). Desteklenen sürücüler ve OpenCore ile birleşen sürücüler için lütfen bkz: Clover yazılım sürücüsü dönüşümü.

İşte tamamlanmış bir EFI'nin görüntüsü(sizinkisi farklı olabilir):
populated-efi.png

Hatırlatma:
  • SSDT'ler ve özel DSDT'ler(.aml) ACPI klasörüne,
  • Kext'ler(.kext) Kexts klasörüne,
  • Ve yazılım sürücüleri(.efi) de Drivers klasörüne gitmekte.


Dosyaları toplama

Bu bölümde macOS'u önyüklebilmek için çeşitli dosyaları toplayacağız. Halihazırda başlamadan önce donanımınızı iyi bildiğinizi ve bu rehberden önce en az bir Hackintosh kurulumu yaptığınızı umuyoruz zira burada çok detaya girmeyeceğiz.
Donanımımın desteklendiğini en iyi yolla nasıl anlarım?
MacOS'un önyükleme için neleri gerektirdiğini daha iyi anlamak için bkz: desteklenen donanım bölümü, Clover ve OpenCore arasındaki donanım desteği oldukça benzer.

1. Yazılım sürücüleri
Bunlar OpenCore tarafından kullanılan sürücüler, çoğunlukla sisteminizin önyüklenip çalışması için 2 adet .efi gereklidir:
  • ApfsDriverLoader.efi
    • APFS disk bölümlerini görebilmek için gereklidir(örn. macOS).
    • OpenCore 0.5.8'da, bu sürücü config.plist -> UEFI -> APFS'de yerleşiktir.
  • HfsPlus.efi
    • HFS disk bölümlerini görebilmek için gereklidir(örn. macOS yükleyicileri ve kurtarma bölümleri/imajları). Diğer HFS sürücüleri ile karıştırmayın
  • OpenRuntime.efi
    • AptioMemoryFix.efi yerine geçer, OpenCore'a boot.efi'yi NVRAM düzeltmeleri ve daha iyi bellek yönetimi için yamalamasında yardımcı olan bir uzantıdır.
Legacy kullanıcıları için:
  • OpenUsbKbDxe.efi
  • NvmExpressDxe.efi
    • Hiçbir NVMe sürücüsü yazılım olarak yapılmadığı için Haswell ve daha eski sistemlerde kullanılır. NVMe sürücüsü kullanmıyorsanız gereksizdir.
  • XhciDxe.efi
    • Hiçbir XCHI sürücüsü yazılım yapılmadığı için Sandy Bridge ve daha eski sistemlerde kullanılır. USB 3.0 genişleme kartı kullanmıyorsanız gereksizdir.
  • HfsPlusLegacy.efi
    • HfsPlus'ın Legacy varyantıdır, RDRAND yönerge desteği olmayan sistemler için kullanılır. Genel olarak Sandy Bridge ve daha eski sistemlerde görülür.
Uyumlu sürücülerin tam bir listesi için, bkz: OpenCorePkg Docs'daki 11.2 Properties. Bu dosyalar EFI'deki Drivers klasörüne gitmekte.

2. Kextler
Kext bir kernel extension yani çekirdek(kernel) uzantısıdır. Bunu, macOS'daki sürücüler gibi düşünebiliriz. Tüm kextler EFI'deki Kexts klasörüne gitmekte.
  • Windows ve Linux: Kextler bir klasör gibi görünecektir, o klasörlerin içerisinde .kext olduğundan emin olun(ve eğer yoksa da manuel olarak eklemeyin)
Olmazsa olmazlar:
  • VirtualSMC
    • Gerçek mac'lerdeki SMC çipini taklit eder, bu olmadan macOS önyüklenmeyecektir.
    • Alternatifi ise FakeSMC'dir. Daha iyi veya daha kötü bir desteğe sebep olabilir, ayrıca genellikle Legacy sistemlerde görünür.
  • Lilu
    • Çoğu süreçi yamalamak için bir kext'dir. AppleALC, WhateverGreen, VirtualSMC ve çoğu başka kext'ler için gereklidir. Lilu olmadan çalışmayacaklardır.
VirtualSMC eklentileri:
  • SMCProcessor.kext
    • İşlemci sıcaklığını görmek için kullanılır, AMD işlemcili sistemlerde çalışmaz
  • SMCSuperIO.kext
    • Fan hızını görmek için kullanılır, AMD işlemcili sistemlerde çalışmaz
  • SMCLightSensor.kext
    • Laptop'larda ortam ışık sensörü için kullanılır, masaüstü kullanıcıları görmezden gelebilir
    • Eğer ortam ışık sensörünüz yoksa kullanmayın aksi taktirde sorun yaratabilir
  • SMCBatteryManager.kext
    • Laptop'larda batarya verisini okumak için kullanılır, masaüstü kullanıcıları görmezden gelebilir
    • Batarya tamamen yamalanmadığı sürece kullanmayın aksi halde sorun yaratabilir
Grafikler:
  • WhateverGreen
    • Grafikleri yamalamak için kullanılır. DRM, boardID, framebuffer düzeltmeleri vb. Tüm ekran kartları bu kext'den yararlanır.
    • SSDT-PNLF.dsl dosyası sadece laptoplar ve AIO(All-in-One) sistemler için gerekir.
Ses:
  • AppleALC
    • AppleHDA'yı yamalamak ve ayrıca yerleşik sesi almak için kullanılır. AMD 15h/16h sistemlerde problem çıkarabilir ve ayrıca Ryzen/Threadripper sistemlerde nadir mikrofon desteği vardır
Ethernet:
  • IntelMausi
    • Intel NIC'ler için gereklidir, I211 tabanlı tüm yonga setleri için bu kext lazım olacaktır: SmallTreeIntel82576.kext
  • SmallTreeIntel82576 kext
    • I211 NIC'ler için gereklidir, SmallTree tabanlı bir kext fakat yama ile I211 destekler
    • Intel NIC'ler ile çalışan çoğu AMD anakartlar için gereklidir
  • AtherosE2200Ethernet
    • Atheros ve Killer NIC'ler için gereklidir
  • RealtekRTL8111
    • Realtek'in Gigabit Ethernet'i için gereklidir
  • LucyRTL8125Ethernet
    • Realtek'in 2.5Gb Ethernet'i için gereklidir
USB:
  • USBInjectAll
    • ACPI'de tanımlanmamış USB portları olan sistemlere Intel USB kontrolcülerini enjekte etmek için gereklidir
    • Skylake ve daha güncel sistemlerde ihtiyaç duyulmaz(ASRock tam bir teneke olduğu için ASRock anakartlar için gerekir)
    • AMD işlemciler ile hiç çalışmaz
  • XHCI-desteklenmiyor
    • Yerleşik olmayan USB kontrolcüleri için gereklidir
    • AMD işlemcili sistemler için gereksizdir
    • Buna ihtiyaç duyan genel yonga setleri:
      • H370
      • B360
      • H310
      • Z390(Mojave ve daha güncelinde gerekmez)
      • X79
      • X99
      • ASRock kartlar(Özellikle Intel anakartlarında, hatta aslında tüm anakartlarında)
Wi-Fi ve Bluetooth:
  • AirportBrcmFixup
    • Apple'a ait olmayan Broadcom kartları yamalamak için kullanılır. Intel, Killer, Realtek vb.'lerde çalışmayacaktır.
  • BrcmPatchRAM
    • Broadcom Bluetooth yonga setine yazılımı yüklemek için kullanılır, Apple/Fenvi'nin olmayan tüm Airport kartları için gereklidir.
    • BrcmFirmwareData.kext ile eşleştirmek için
      • BrcmPatchRAM3 10.14 ve daha yenisi için (BrcmBluetoothInjector ile eşleştirilmelidir)
      • BrcmPatchRAM2 10.11-10.14 için
      • BrcmPatchRAM 10.10 ve daha eskisi için
Kernel -> Add kısmındaki sıralama böyle olmalı:
  1. BrcmBluetoothInjector
  2. BrcmFirmwareData
  3. BrcmPatchRAM3
AMD işlemcilere özel kextler:
  • NullCPUPowerManagment
    • DummyPowerManagement adında config.plist'in Kernel -> Quirks yolunda bulunabilen daha iyi bir çözümümüz var.
  • XLNCUSBFIX
    • AMD FX sistemler için USB düzeltmeleri, Ryzen için tavsiye edilmez.
  • VoodooHDA
    • FX sistemler için ses, Ryzen sistemler için ön paneldeki mikrofon ve ses desteği, AppleALC ile birlikte kullanmayın. Ses kalitesi, Ryzen sistemlerde AppleALC'ye göre daha kötüdür.
Ekstralar:
  • AppleMCEReporterDisabler
    • Catalina ile kullanışlı bir başlangıç için AppleMCEReporter.kext'i kapatmak, AMD ve çift işlemcili sistemlerde(Xeon vs.) kernel panic alınmasını engeller.
    • Etkilenen SMBIOS'lar:
      • MacPro6,1
      • MacPro7,1
      • iMacPro1,1
  • VoodooTSCSync
    • Intel'in HEDT ve sunucu anakartlarında TSC'i senkronize etmek için gerekir. Bu olmadan macOS aşırı yavaş olabilir, hatta önyüklenmeyebilir. Skylake-X kullananlar bunun yerine TSCAdjustReset kullanmalı.
  • TSCAdjustReset
    • Skylake-X'de, ASUS ve EVGA dahil olmak üzere çoğu aygıt yazılımı, TSC'yi tüm çekirdeklere yazmamakta. TSC'yi cold boot(yavaş önyükleme)'da sıfırlayıp ardından uyandırmalıyız. Derlenmiş sürüm buradan bulunabilir: TSCAdjustReset.kext. Aklınızda bulunsun, kext'i açıp (Finder'da Paket İçeriğini Göster, İçindekiler -> Info.plist) ve Info.plist'de-> IOKitPersonalities -> IOPropertyMatch -> IOCPUNumber işlemcinizdeki thread sayısına göre 0'dan başlayarak değiştirin.(Mesela i9-7980XE'de 36 thread var fakat 35 olarak yazılıyor.)
  • NVMeFix
    • Güç yönetimini düzeltmek ve Apple olmayan NVMe'i başlatmak için kullanılır, macOS 10.14 veya daha yenisini gerektirir
Laptop'a özeller:
  • VoodooPS2
    • PS2 klavye ve trackpadli sistemler için gerekir
    • Trackpad kullanıcıları ayrıca bununla eşleştirmelidir: VoodooInput(Config.plist'inizde mutlaka VoodooPS2'den önce gelmelidir)
  • VoodooI2C
    • I2C aygıtlarını düzeltmek için kullanılır, daha süslü touchpadlı ve touchscreen'li makinelerde görülür
    • Eklenti ile eşleştirmek için:
      • VoodooI2CHID - Microsoft HID aygıt tanımlanmasını uygular
      • VoodooI2CElan - Elan'a özel cihazlar için destek uygular. (ELAN1200+ ile çalışmaz, onun yerine HID kullanın)
      • VoodooI2CSynaptics - Synaptics'e özel cihazlar için destek uygular.
      • VoodooI2CFTE - FTE1001 touchpad desteği uygular.
      • VoodooI2CUPDDEngine - Touchbase sürücü desteği uygular.
Ne tür klavye ve trackpad'e sahip olduğunuzu anlamak için Windows'da Aygıt Yöneticisi'ne veya Linux'da dmesg |grep input'e bakın.
  • NoTouchID
    • Kimlik doğrulama sorunlarını gidermek için TouchID sensörü içeren bir SMBIOS önerilir
Desteklenen tüm kextler için lütfen bkz: Kexts.md

3. SSDT'ler
Şimdi tüm bu SSDT'lerin AcpiSamples klasöründe olduğunu görüyorsunuz fakat hangisine ihtiyacınız olduğunu bilmiyorsunuz. Bizim için, config.plist'inizdeki ACPI bölümünde hangi SSDT'ye ihtiyacınız olacağını tespit edeceğiz, hangi SSDT'lere ihtiyacınız olduğu ise platforma göre özeldir. Yapılandırılması gereken bazı sistemlerdee bile, şimdi seçim yapabileceğiniz SSDT'lerin bir listesinin verilmesi sonucu kolayca kaybolabilirsiniz.

ACPI ile başlama bölümü, SSDT'lerin farklı platformlarda derlenmesi için genişletilmiş bir bölümdür.

Gerekli SSDT'ler için hızlı bir TL;DR (Bu bir kaynak kodudur, bunları bir .AML dosyasına derlemeniz gerekir):

3.1. Masaüstü
SSDTIvyBridgeHaswell/BroadwellSkylakeKabyLakeCoffeeLakeCometLakeAMD(15/16/17h)
CPUCPU-PM(Kurulum sonrası çalıştırın)SSDT-PLUGSSDT-PLUGSSDT-PLUGSSDT-PLUGSSDT-PLUGN/A
ECSSDT-ECSSDT-ECSSDT-EC-USBXSSDT-EC-USBXSSDT-EC-USBXSSDT-EC-USBXSSDT-EC-USBX
AWACN/AN/AN/AN/ASSDT-AWACSSDT-AWACN/A
NVRAMN/AN/AN/AN/ASSDT-PMCN/AN/A
USBN/AN/AN/AN/AN/ASSDT-RHUBN/A
3.2. Üst Seviye Masaüstü
SSDTIvyBridge-EHaswell-EBroadwell-ESkylake-X
CPUCPU-PM(Kurulum sonrası çalıştırın)SSDT-PLUGSSDT-PLUGSSDT-PLUG
ECSSDT-ECSSDT-ECSSDT-ECSSDT-EC-USBX
AWACN/AN/AN/ASSDT-AWAC


ACPI ile başlama

acpi-logo.png

ACPI hakkında hızlı bir açıklama
Nedir bu DSDT ve SSDT'ler? Bunlar yazılımınızın donanım aygıtlarının(USB kontrolcüleri, işlemci thread'leri, gömülü kontrolcüler, sistem saatleri vb.) taslağını sunan tablolardır. DSDT(Differentiated System Description Table)'yi, SSDT(Secondary System Description Table) tarafından iletilen daha küçük bilgi bitleri ile bilginin çoğunu tutan gövde olarak görülebilir. DSDT'nin bir projenin bina planı, SSDT'lerin de bina planındaki ek ayrıntıları özetleyen yapışkan notlar olarak düşünebilirsiniz.

ACPI ve özellikleri hakkında daha fazla bilgiyi buradan edinebilirsiniz: ACPI 6.3 Manual
Neden bu tabloları umursuyoruz?
macOS DSDT'deki mevcut aygıtlar için bayağı bir seçici olabiliyor ve bizim işimiz bunu düzeltmek. macOS'un düzgün çalışabilmesi için düzeltilmesi gereken ana cihazlar:
  • Gömülü kontrolcüler(EC)
    • Bütün yarı-modern Intel makinelerde DSDT'lerinde açığa çıkmış EC(genellikle böyle de bilinir: H_EC, ECDV, EC0, vb...) vardır, ayrıca çoğu AMD sistemde de açığa çıkar. Bu kontrolcüler genellikle macOS ile uyumsuzdur ve panic'e sebep olur, bu sebeple macOS'dan gizlenmeleri gerekir. macOS Catalina için EC adında bir cihaz olmasını gerekir, böylece sahte bir EC yaratılır.
    • Laptoplarda batarya ve kısayol tuşlarının çalışabilmesi için gömülü kontrolcünün aktif olması gerekli ve EC'yi yeniden adlandırmak ilaveten Windows'da sorunlara sebep olabiliyor. Bu yüzden gerçek gömülü kontrolcüyü(EC'yi) kapatmadan sahte bir EC yaratmak tercih edilebilir.
  • Plugin type
    • Bu bize XCPM kullanarak Intel'de Haswell ve daha yeni işlemcilerde yerleşik işlemci güç yönetimini sağlar, SSDT işlemcideki ilk thread'e bağlanacaktır. AMD'de aynısı olmuyor.
  • AWAC system clock.
    • AWAC saati etkin gelen tüm yeni 300 serisi anakartlara ve çoğu Z370 anakartlara uygulanır. Bu bir sorun çünkü macOS, AWAC saati ile bağlantı kuramıyor. Bu durum bize Legacy RTC saatini zorunlu açık yapmayı, yapılamıyorsa da macOS için sahte bir tanesini yapmayı gerektiriyor.
  • NVRAM SSDT
    • Gerçek 300 serisi anakartlar(Z370 değil) ACPI'de FW yongasını MMIO olarak bildirmez ve böylece çekirdek(kernel) UEFI hafıza haritası tarafından yapılan MMIO bölgesini görmezden gelir. Bu SSDT NVRAM desteğini geri getirir.
  • Backlight SSDT
    • Laptoplar'daki backlight kontrolünü düzeltmek için kullanılır
  • GPIO SSDT
    • VoodooI2C'nin bağlanmasına izin vermek için taslak oluşturmada kullanılır, sadece laptoplar içindir
  • XOSI SSDT
    • OSI çağrılarını bu SSDT'ye yönlendirmek için kullanılır. Genellikle donanımı sanki Windows'u önyüklüyormuşuz gibi kandırıp daha iyi trackpad desteği almak için kullanılır. Windows önyüklemesini bozmak için çok hileli bir çözüm, bunun yerine GPIO SSDT'yi kullanın. Bu rehberde XOSI kullanımı kapalı değildir.
  • IRQ SSDT ve ACPI yamaları
    • DSDT'deki IRQ çatışmalarını düzeltmek için gerekir, hatta genellikle laptoplar için. SSDTTime özeldir.
    • Skylake ve daha güncel sistemlerde IRQ çatışmaları nadir olur, bu genellikle Broadwell ve daha eski sistemlerde yaygındır.


Config.plist Ayarlama

Şimdi tüm Kextlerimizi(.kext), SSDT'lerimizi(.aml) ve yazılım sürücülerimizi(.efi) aldığımıza göre belleğimiz bu şekilde görünmeye başlayacaktır:

almost-done.png


  • Not: USB'niz farklı görünecektir, herkesin sistemi farklı gereksinimlere ihtiyaç duyar.
1. Config.plist oluşturma
İlk olarak OpenCorePkg'ın içerisinden sample.plist'i almamız gerekecek, Docs klasörünün içerisinde olacaktır:

sample-location.png


Sonraki adımda ise bunu EFI'de(Windows'da BOOT isminde görünecektir) EFI/OC/ yoluna atıp config.plist olarak yeniden adlandıralım:

renamed.png


2. SSDT'leri, Kextleri ve yazılım sürücülerini ekleme
Bu rehberin geriye kalan kısmında bir plist düzenleyicisine ihtiyacınız olacak. Ve bizim rehberimizde, biz bu sıkıcı işleri halletmek için ProperTree ve GenSMBIOS kullanacağız:
  • ProperTree
    • Kapsamlı plist düzenleyicisi
  • GenSMBIOS
    • SMBIOS verisini oluşturmak için gereklidir
Sonraki adımda ProperTree'yi açalım ve config.plist'imizi düzenleyelim:
  • ProperTree.command
    • macOS için
    • Harika bir ipucu: Scripts klasöründe ProperTree'yi, macOS'ta özel bir uygulamaya dönüştürmenizi sağlayan buildapp.command adında yardımcı bir programı var.
  • ProperTree.bat
    • Windows için
Açıldığında, Cmd/Ctrl + Shift + R tuşlarına basın ve EFI/OC klasörünüzü seçin:
  • Bu işlem config.plist'deki tüm girdileri siler ve içerisine Kextlerinizi, SSDT'leriniz ve yazılım sürücülerinizi(.efi)'leri ekler.
  • Cmd/Ctrl + R ise girdilerinizi ekler fakat eğer öncesinde devre dışıysa o şekilde bırakan alternatif bir seçenektir. Sorun yaşadığınızda faydalı olur fakat şu anda biz bunu kullanmayacağız.
before-snapshot.png


Bittiğinde, config.plist'inizde SSDT'leri, kextleri ve yazılım sürücülerini çoğalmış olarak göreceksiniz::

after-snapshot.png


Eğer biraz daha temiz görünmesini isterseniz #WARNING girdilerini silebilirsiniz, orada durmaları herhangi bir soruna sebep olmazlar, silmek sizin tercihinize kalmış.

3. Platformu seçme
İşte önemli kısım geldi, konfigürasyon yolunu seçmek. Her platformun kendine özel eklenmesi gereken Quirk'leri vardır ki işte bu yüzden donanımınızı bilmeniz çok önemli. Yapmanız gerekenleri takip etmeniz için aşağıya bakın:

3.1. Intel masaüstü
Ivy Bridge
  • 3XXX serileri, 2012 dönemi
Haswell
  • 4XXX serileri, 2013 dönemi
  • Ayrıca Broadwell kullananlar da uygulasın
Skylake
  • 6XXX serileri, 2015-2016 dönemi
Kaby Lake
  • 7XXX serileri, 2017 dönemi
  • Kaby Lake-R ve Amber Lake ayrıca uygulasın
Coffee Lake
  • 8XXX ve 9XXX serileri, 2017-2019 dönemi
Comet Lake
  • 10XXX serileri, 2020 dönemi
3.2. Intel HEDT
Bu bölüm sunucu tabanlı donanımları içerir.

Haswell-E
  • 5XXX serileri, 2014 dönemi
Broadwell-E
  • 6XXX serileri, 2016 dönemi
Skylake/Cascade Lake-X/W
  • 7XXX, 9XXX, 10XXX serileri, 2017-2019 dönemi
3.3. AMD
Bulldozer/Jaguar
  • Google'da bu serileri arayın, AMD'nin isimlendirme şeması çok kötü olduğu gibi bu jenerasyonlara çok uzun süre destek verdi.
Zen
  • 1XXX, 2XXX, 3XXX serileri, 2017-2020 dönemi
  • Not: Threadripper 3.nesil (39XX) desteklenmemekte, 1. ve 2.nesil desteklenmekte.

Kurulum Aşaması

OpenCore hakkında her şeyi tamamladınız, USB'y önyüklemeye hazırsınız fakat bunları aklınızda bulundurmanızda fayda var:
  • macOS için uygun BIOS ayarlarını yapın
  • Multiboot rehberine bakın.
    • Genellikle tek diskte birden fazla işletim sistemi kullananlar için uygun bir rehberdir.
  • Sorun giderme sayfasının bir kopyası
  • macOS önyükleme aşamasını okuyun
    • İlk defa kuracaklar için nerede takılabileceklerini anlamalarına yardımcı olur.
  • Ve bayağı bir sabır
1. Yapılanları iki sefer kontrol edin
Önyüklemeden önce yapmanız gereken tek şey tekrardan EFI düzenine bakmamız:

İyi bir EFI örneğiKötü EFI örneği
good-efi.png
bad-efi.png
* EFI klasörü EFI bölümünün içerisinde* EFI klasörü kayıp
* ACPI dosyaları derlenmiş(.aml)* ACPI dosyaları derlenmemiş(.dsl)
* DSDT içinde değil* DSDT içerisinde
* Gereksiz sürücüler silinmiş(.efi)* Varsayılan sürücüler bırakılmış
* Gereksiz araçlar silinmiş(.efi)* Araçlar olduğu gibi bırakılmış
* Kext klasöründeki tüm dosyalar .kext uzantısı ile bitmekte* Kaynak kodu ve klasörleri içermekte
* config.plist dosyası EFI/OC'ın içinde* .plist dosyası ne yeniden adlandırılmış, ne de düzenlenmiş ve doğru konumda değil
* Sadece gerekli kextler kullanılmakta* Listelenmiş tüm kextler indirilmiş

Hatırlatıcı olarak slowgeek sitesi işinize yarayabilir:
2. OpenCore USB belleğini önyükleme
Nihayet USB belleği bilgisayar takıp önyüklemeye hazırsınız. Laptopda varsayılan olarak Windows olan disk önyükleneceği için, BIOS>BOOT kısmından USB'yi seçmeniz gerektiğini aklınızda bulundurun. BIOS'a girmek için veya Boot menüsüne girmek için gerekli tuşu kılavuzdan veya internetten bakmanızda fayda var.(örneğin. ESC, F2, F10 veya F12)

USB'yi önyüklediğinizde karşınıza muhtemelen bu liste gelecektir:
  1. Windows
  2. macOS Base System (External) / Install macOS Catalina (External)
  3. OpenShell.efi
  4. Reset NVRAM
Burada 2.seçeneceği seçiyoruz. Yükleyicinin nasıl yapıldığına göre isim değişikliği olabilir. Windows veya Linux'da yapıldıysa macOS Base System (External), macOS'da yapıldıysa da Install macOS Catalina (External) olarak görünecektir.

3. macOS yükleyicisi
Sonunda yükleyiciyi önyüklediniz ve verbose modunu da geçip yükleyiciye ulaştınız! Buraya kadar tamam, aklınızda bulundurmanız gereken birkaç şey var:
  • macOS kurmak istediğiniz disk GUID bölüm şemasında ve APFS türünde olmalıdır.
    • HDD'de High Sierra ve tüm Sierra kullanıcıları macOS Journaled(HFS+) kullanmalı.
  • Diskte ayrıca 200MB bölüm olması lazım
    • Varsayılan olarak, macOS 200MB ile yeni biçimlendirilmiş disklere kurulacak
    • Windows diskini bölüntüleme hakkında daha fazla bilgi için bkz: Multiboot rehberi
Kurulumu başlattığınızda, sistem yeniden başlayana kadar beklemelisiniz. Yeniden başladığında tekrardan OpenCore'u önyükleyin, fakat bu sefer OpenCore'da macOS Installer'i seçmelisiniz. Ekrana Apple simgesi gelecek ve arkaplan siyah olacaktır ve simgenin altında da kalan dakika yazacaktır. Bu esnada bir şeyler içmek veya atıştırmak güzel olacaktır. Birkaç defa daha sistem yeniden başlayabilir, fakat her şey yolunda giderse "Setup your Mac screen(Mac ekranınızı ayarlayın)" cup diye ekrana gelecektir.


Kaynak: OpenCore Desktop Guide · GitBook

 
Son düzenleme:
Durum
Mesaj gönderimine kapalı.
Yukarı