Bu rehberde yeni nesil onyukleyici olan OpenCore ile nasıl macOS kuracağınızı adım adım oğreneceksiniz.
Giriş
Rehberin hazırlandığı surum: 0.5.9
1. Hakkında
OpenCore, bir sisteme macOS yuklemek amacıyla tasarlanmış acık kaynaklı bir onyukleyicidir. Clover gibi alternatiflerinin getirdiği kısıtlamaların coğunu hafifletmek icin tasarlanmıştır. OpenCore'un yapmayı amacladığı ana şey, yamalamayı cok daha hassas ve etkili hale getirmek icin sembolleri ve yapıları daha iyi anlayabilen daha cok yonlu ve moduler bir sistem oluşturmaktır. Ozel on bağlayıcısı ile kext enjeksiyonunu macOS bağımsız hale getirmektedir. Bu da demektir prelinked kernel destekleyen butun macOS surumlerini daha ilk gunden calıştırabilir. OpenCore oncelikle Hackintosh sistemler icin tasarlanmış olsa da, bircok KVM uygulamasında ve hatta herhangi bir durumda emule edilmiş EFI'nin gerekli olduğu gercek Mac'lerde de kullanılabilir.
2. Başlarken
Rehbere başlayıp, OpenCore'u ayarlamadan oncesinde sistemimizin macOS icin uyumlu olduğundan emin olmamız lazım:
Hackintosh uyumlu ekran kartları - Technopat Sosyal Ekran kartınızın desteklenip-desteklenmediğine ve destekleniyorsa hangi surum ile uyumlu olduğuna bakın. macOS Uyumlu WiFi Adaptorler - Technopat Sosyal Wi-Fi kartınızın/adaptorunuzun uyumluluğunu kontrol edin. Gerekli kontrolleri sağladıktan sonra başlayabiliriz!
3. OpenCore ipucları
Kernel uzantıları (Kext'ler, macOS suruculeri) config dosyanızdaki sıralamaya gore yuklenmektedir. Yani bir eklentiyi yuklemeden once onun ihtiyacı olan eklentilerin yuklenmesi gerekiyor. Orneğin: Lilu, WhateverGreen veya VirtualSMC'den once yuklenmek zorundadır.
SMBIOS verisi, ACPI yamaları ve DSDT/SSDT'ler tum işletim sistemlerine uygulanır. SSDT'lerinizi şu şekilde ayarlayın: If (_OSI ("Darwin")) Ayrıca şunu aklınızda bulundurun, bu rehberde bahsi gecen tum SSDT'ler guncellenmiştir ve onyuklemeyi etkilememelidir. Bazı sistemlerde saf UEFI modu gerekebilir. (Bu ayar genellikle anakart ureticileri 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 icin bu kılavuzu
takip edebilirsiniz. GPU'nuz icin UEFI etkin bir ROM oluşturmak icin bu kılavuzu takip edebilirsiniz. macOS icin de bir arac var lakin kullanırken dikkatli olmanızda fayda var! OpenCore, macOS'un onbağlantılı(prelinked) cekirdek(kernel) desteklediği surumu gerektirir. Yani OS X 10.7 Lion veya daha gunceli. Clover'dan, OpenCore'a donuştururken sorun yaşayanlar icin: Clover'dan, OpenCore'a donuştururken sorun yaşayanlar icin Clover'ı cevirmek - Technopat Sosyal
Clover ve diğerleri yerine, neden OpenCore?
Bu bolum, topluluğun neden OpenCore tercih ettiğine dair kısa bir ozettir. Sadece macOS kurmak isteyenler burayı atlayabilir.
1. OpenCore ozellikleri
Ortalama olarak, daha az gereksiz yama yapıldığından OpenCore sistemler, Clover kullananlardan daha hızlı acılır. Yamalar cok daha hassas olduğundan daha kararlıdır: macOS 10.15.4 guncellemesi ile Clover kullanan sistemler acılmamaya başlamıştı. Her ufak guvenlik guncellemesinde AMD OSX yamalarının guncellemesi gerekmemekte. Coğu durumda daha iyi guvenlik: System Integrity Protection (SIP)'i kapatmak gerekmiyor Dahili FileVault 2 desteği Vaulting, EFI goruntusu oluşturulmasına izin vererek istenmeyen değişiklikleri engeller. Gercek secure-boot desteği (Şu anlık guvenlik denetiminde, kısa sure icerisinde geliyor!) BootCamp gecişi ve onyukleme aygıtı secimi, tıpkı gercek bir Mac gibi Başlangıc Diski tarafından ayarlanan NVRAM değişkenleri okunarak desteklenir. Onyukleme kısayol tuşlarını boot.efi aracılığıyla destekler. - Başlangıcta onyukleme aygıtını secmek icin Option veya ESC'ye basılı tutun, Kurtarma moduna girmek icin Cmd+R, NVRAM resetlemek icin de Cmd+Opt+P+R. 2. Yazılım Desteği
Birisinin, bir başka onyukleyiciye gecmesinin en buyuk sebebi belki de yazılım desteğidir:
Kextler artık Clover icin test edilmemekte: Kext'de bug mu buldunuz? Coğu geliştirici, hatta Acidanthera bile(coğu favori kextlerinizin yapımcısı) OpenCore dışında destek sağlamamakta. Coğu Firmware suruculeri OpenCore ile birleşmeye başladı: APFS desteği FileVault desteği Firmware yamaları AMD OSX yamaları: AMD tabanlı sisteminiz mi var? MacOS'u onyukleyebilmek icin gereken cekirdek(kernel) yamaları artık Clover'ı değil, sadece OpenCore'u desteklemekte. 3. Kext enjeksiyonu
OpenCore'un kext enjeksiyon sistemini daha iyi anlamak icin ilk once Clover'ın nasıl calıştığına bakmalıyız:
SIP'i yamalayarak devreye sokar Kext enjeksiyonu icin XNU'un zombie code'unu yamalayarak etkinleştirir. Kext enjeksiyonu ile yarışma durumunu yamalar. Kextleri enjekte eder SIP'i geri yamalar Clover'ın yonteminde not edilmesi gereken şeyler:
XNU zombie code'u 10.7'den beri kullanılmamakta. Apple'ın bu kodu kaldırmaması hala etkileyici. OS guncellemeleri coğunlukla bu yamayı bozar, tıpkı gecenlerdeki 10.14.4 ve 10.15 gibi. SIP'i devre dışı bırakır ve yeniden aktifleştirmeyi dener, soylenilecek cok bir şey yok gibi 10.16 ile bozulma olasılığı yuksek 10.5'e kadar tum OS X surumlerini destekler. Şimdi bir de OpenCore'un yontemine bakalım:
Var olan onbağlantıdaki(prelinked) cekirdek(kernel) ve kextleri enjeksiyona hazır hale getirir Yeni kextler ile EFI ortamındaki onbelleği yeniden oluşturur Yeni onbelleği ekler OpenCore'un yonteminde not edilmesi gereken şeyler :
OS Agnostic onceden secilen cekirdek(kernel) formatı olarak 10.6'dan beri aynı kaldı, desteği kırmak cok daha zor. Bu aynı zamanda tam desteğin 10.7'de başladığı anlamına gelir, ancak 10.6 zaten kurulu olduğu surece kullanılabilir (10.6 yukleyicisinin onbağlantılı(prelinked) cekirdeği(kernel) yoktur) Daha az yamalamada daha cok kararlılık.
USB'yi oluşturma
Gereksinimler:
OpenCorePkg, Debug surumunun kullanılması daha fazla bilgi gormek icin şiddetle onerilmektedir. ProperTree .plist dosyalarınızı duzenlemek icin (OpenCore Configurator ise başka bir arac ama oldukca tarihi gecmiş ve Mackie surumu ise bozulması ile bilinmekte. Ne pahasına olursa olsun bu tur araclardan kacının!). Temizlenmiş NVRAM(Eğer oncesinde Clover kullandıysanız bu cok onemli, coğu değişkenler kalıyor ve cakışmaya sebep oluyor. Şanslısınız ki config dosyanızda AllowNvramReset acık olduğu surece onyukleyici seciminde CleanNvram'e tıklayarak temizleyebilirsiniz. Hackintosh'un nasıl calıştığı ve hangi dosyalara ihtiyacınız olduğuna dair temel bilgi birikimi(orneğin: Ağ denetleyicisi turu). OC'yi ana onyukleyici 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 Onyukleyiciden OpenCore'a Geciş - Technopat Sosyal Yukleyiciyi Oluşturma
Hangi işletim sisteminde olduğunuza gore değişir.
macOS kullanıcıları
macOS'da yukleyiciyi yapma
OpenCore kullanmak icin temiz macOS kurulumu yapmaya gerek duymasanız da, bazı kullanıcılar onyukleme yoneticisini guncellerken tercih etmekte.
Başlamak icin kendimize macOS'un kopyasını almalıyız, eğer sadece OpenCore USB'si yapıp, yukleyici yapmak istemiyorsanız bu adımı gecip "USB'yi formatlama" kısmına atlayabilirsiniz. Diğer herkes icin, macOS'u App Store'dan veya gibMacOS ile indirebilirsiniz.
Legacy kullanıcıları icin
Oncelikle Legacy Install bolumunu takip edin Tamamlandıktan sonra macOS'u indirme kısmından devam edebilirsiniz. Apple'ın kataloğunda yer almayan macOS versiyonları icin(orn. Sierra ve daha eskisi), Legacy macOS kurulumu rehberini takip edin.
1. macOS'u indirme
Yuklemek istediğiniz işletim sistemi surumunun gereksinimlerini karşılayan bir macOS makinesinden, doğrudan AppStore'a girin ve istediğiniz OS surumunu indirin. Ardından Yukleyiciyi Ayarlama kısmından devam edin.
Belirli bir OS surumune ihtiyac duyan veya App Store'dan indiremeyen makineler icin GibMacOS programını kullanabilirsiniz.
GibMacOS'u indirip yerel bir dizine cıkaralım.
Ardından gibMacOS.command'ı calıştıralım:
Gorebileceğiniz uzere macOS yukleyicilerinin guzel bir listesi karşımıza geldi. Eğer macOS'un beta surumune ihtiyacınız varsa, C. Change Catalog'u secebilirsiniz. Bu ornekte 1'i sececeğiz:
8GB+ macOS yukleyicisinin tamamını indirmek biraz zaman alacaktır. Bu yuzden beklerken rehberin kalan kısmını okumanızı tavsiye ederim.
İndirme işlemi tamamlandığında, BuildmacOSInstallApp.command'ı acın:
MacOS yukleyici dosyalarının konumu istenilecek. İndirilen konum ise GibMacOS klasorunun icerisindeki macOS Downloads adlı klasor.
Finder'da indirilen dosyaları iceren klasore gidin ve komut satırına surukleyin veya Terminale "Cmd+C" ve yapıştır yapın.
İşlem tamamladığında cıkın, yukleyiciyi klasor konumunda bulacaksınız.
Yeni oluşturulan imajı Applications(Uygulamalar) klasorune taşıyın. Bu işlem, onumuzdeki işlemi kolaylaştırmakta.
2. Yukleyiciyi Ayarlama
Şimdi USB'yi formatlayarak macOS yukleyicisi ve OpenCore icin hazır hale getiriyoruz.
Bicim olarak macOS Extended(HFS+) ile GUID partition map kullanmalıyız. Bu bize iki bolum oluşturacak. Ana bolum MyVolume ve ikinci bolum olan EFI, yazılımın onyukleme dosyalarını kontrol ettiği ve onyukleme bolumu olarak kullanıldığı yerdir.
Varsayılan olarak Disk İzlencesi sadece bolumleri gosterir. Cmd/Win+2'ye veya Tum aygıtları goster'e tıklayın.(Alternatif olarak Goruntu butonuna basabilirsiniz)
Sonraki adımda Apple'ın sağladığı createinstallmedia komutunu calıştırın. Bu komutun MyVolume ismiyle formatlanmış USB icin hazırlandığını aklınızda bulundurun.
Kod:Panoya kopyala
sudo /Applications/Install macOS Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume
Bu biraz zaman alacağı icin bir bardak kahve koymayı veya rehberi okumayı devam etmek isteyebilirsiniz.(Acık konuşmak gerekirse adım adım ilerlemek yerine, oncesinde tum rehberi okumanızda fayda var.)
Ayrıca createinstallmedia yolunu yukleyicinizin olduğu lokasyon ile değiştirebilirsiniz, aynısı bellek ismi icin de gecerli.
3. OpenCore EFI'sini ayarlama
OpenCore'un EFI ortamını ayarlamak gercekten cok kolay. Yapmanız gereken tek şey, EFI bolumumuzu 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 cıkmakta:
EFI bolumunu actığınızda bomboş olduğunuzu goreceksiniz. İşte eğlencenin tam da başladığı yer.
3.1 Tum bunlar bittiğine gore
İşi bitirmek icin EFI'yı ayarlama kısmına gecebiliriz.
Windows kullanıcıları
Windows'da yukleyiciyi yapma
Başlamak icin gerekenler:
4GB USB bellek GibMacOS 1. macOS'u indirme
Başlangıc olarak, gibMacOS.bat'ı Yonetici olarak acıp Toggle Recovery-Only'i secin:
Şimdi istediğiniz macOS surumunu arayın, bu ornekte 5.secenek olan macOS Catalina'yı seciyoruz:
Bu işlem gibmacos-mastermacOS Downloadspublicreleasexxx-xxxxx - 10.x.x macOS xxx konumuna RecoveryHDMetaDmg.pkg indirecek.
2. Yukleyiciyi yapma
Sıradaki adımda MakeInstall.bat'ı Yonetici olarak calıştırın ve USB belleğinizi OpenCore icin O ibaresi ile secin(Orneğin: 1O):
Belleğiniz formatlandığında oncesinde indirmiş olduğumuz RecoveryHDMetaDMG.pkg'ın konumunu soracak. Sol ust kısımdaki File(Dosya) kısmı, yolu kopyalayabilmenizi sağlayacak.
MakeInstall USB'nizdeki EFI sistem bolumune OpenCore'u kurduğunda bitecektir. Bu bolum BOOT ismindedir:
3. Tum bunlar bittiğine gore
İşi bitirmek icin EFI'yı ayarlama kısmına gecebiliriz.
Linux kullanıcıları
Linux'da yukleyiciyi yapma
Başlamak icin gerekenler:
4GB USB bellek GibMacOS 1. macOS'u indirme
Başlamak icin, gibmacOS.py'i terminalde Toggle Recovery-Only ile birlikte acın:
python gibMacOS.command -r Şimdi ise istediğiniz macOS surumunu arayın, bu ornekte 5 numaradaki macOS Catalina'yı sececeğiz:
Bu işlem gibmacos-mastermacOS Downloadspublicreleasexxx-xxxxx - 10.x.x macOS xxx konumuna RecoveryHDMetaDmg.pkg dosyası indirecektir.
2. Yukleyiciyi yapma
Bu bolumun hedefi USB bellekte sadece gerekli bolumleri 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 bolum tipini değiştirmemizi sağlayabiliyor, macOS Recovery HD'yi onyukleyebilmek icin ihtiyacımız olacak. (Burada kullanılan distro Ubuntu 18.04'dur, diğer surumlerde veya distrolarda belki calışabilir)
2.1 Yontem 1
Terminalde:
lsblk'yi calıştırın ve USB belleğinizin bloğunu belirleyin. Ardından bunu calıştırın: sudo gdisk /dev/ Hangi bolum tablosunu kullanacağınızı soracak olursanız, GPT'yi secin.
Bloğunuzun bolumlerini cıkartmak icin p gonderin(ve gerekli olan olduğunu doğrulayın)
o gondererek bolum tablosunu temizleyin ve GPT olarak yeni bir tane yapın(eğer boş değilse) y ile onaylayın
n gonderin partition number: varsayılan icin boş bırakın first sector: varsayılan icin boş bırakın last sector: tum disk icin boş bırakın Hex code or GUID: Microsoft temel veri bolum tipi icin 0700 w gonderin y ile onaylayın
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. q gondererek gdisk'i kapayın. (normalde kendi başına quit olması lazım) lsblk kullanarak bolumunuzun tanımlayıcılarını belirleyin sudo mkfs.vfat -F 32 -n "OPENCORE" /dev/ yazarak USB belleğinizi FAT32'ye formatlayıp OPENCORE olarak adlandırın. Ardından cd gibmacos-master/macOS Downloads/publicrelease/xxx-xxxxx - 10.x.x macOS xxx ile pkg dosyası gelmesi lazım.
p7zip-full indirin (Distronuzun araclarına gore 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 Tum distrolar icin: 7zip'in calışabilmesi icin bash kullandığınızdan emin olun. BaseSystem.dmg ve BaseSystem.chunklist'i cıkartmak icin bunu calıştırın: 7z e -txar *.pkg *.dmg; 7z e *.dmg */Base* udisksctl ile USB bolumunuzu yerleştirin. (udisksctl mount -b /dev/, coğu zaman sudo gerekmez) veya mount ile (sudo mount /dev/ /mount/dosyanız/nerede/ise, bkz: sudo gereklidir) USB belleğinizi cd'leyin ve FAT32 USB bolumunuzun kok bolumunde mkdir com.apple.recovery.boot Şimdi BaseSystem.dmg ve BaseSystem.chunklist'i com.apple.recovery.boot klasorune rsync'leyin veya cp'leyin. 3. Tum bunlar bittiğine gore
İşi bitirmek icin EFI'yı ayarlama kısmına gecebiliriz.
Temel OpenCore dosyalarını ekleme
OpenCore'un dosya yapısını oluşturmak icin, OpenCorePkg'in surumleri icerisindeki EFI bolumunu 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 oncesinde oluşturduğumuz OPENCORE bolumu. Yontem 1 sadece 1 bolum oluştururken, yontem 2 ise 2 bolum oluşturmakta.
Dikkatinizi cekecek olan bir şey ise Drivers ve Tools klasorlerinin icerisinde bircok dosya ile gelecek olması. Bunlardan coğunu istemiyoruz:
Drivers klasorunden silin: OpenUsbKbDxe.efi DuetPkg ile calışan Legacy sistemlerde OpenCore secicisi 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 Hicbir NVMe surucusu yazılım olarak yapılmadığı icin Haswell ve daha eski sistemlerde kullanılır. XhciDxe.efi Hicbir XCHI surucusu yazılım yapılmadığı icin Sandy Bridge ve daha eski sistemlerde kullanılır. HiiDatabase.efi OpenShell.efi'deki gibi arayuzleri duzeltmek icin Sandy Bridge ve daha eskisinde kullanılır. OpenCanopy.efi Bu, OpenCore'un opsiyonel arayuzudur. Bu arayuzun nasıl ayarlanacağı burada anlatılmakta Post Install. Bu yuzden şimdilik silin. Ps2KeyboardDxe.efi + Ps2MouseDxe.efi USB klavye ve mouse kullanıcıları icin gereksiz. Hatırlatma: PS2 ≠ USB Tools'daki her şeyi silin: Hepsini listelemek cok uzun, fakat OpenShell.efi'yi silmemek sorunları gidermek icin tavsiye edilir. Temizlenmiş bir EFI:
Şimdi gerekli yazılım suruculerinizi(.efi) Drivers klasorune, kextleri ve ACPI'leri de kendi klasorlerine atabilirsiniz. Clover'daki UEFI suruculerinin OpenCore'da desteklenmediğini aklınızda bulundurun.(EmuVariableUEFI, AptioMemoryFix, OsxAptioFixDrv, vb). Desteklenen suruculer ve OpenCore ile birleşen suruculer icin lutfen bkz: Clover yazılım surucusu donuşumu.
İşte tamamlanmış bir EFI'nin goruntusu(sizinkisi farklı olabilir):
Hatırlatma:
SSDT'ler ve ozel DSDT'ler(.aml) ACPI klasorune, Kext'ler(.kext) Kexts klasorune, Ve yazılım suruculeri(.efi) de Drivers klasorune gitmekte.
Dosyaları toplama
Bu bolumde macOS'u onyuklebilmek icin ceşitli dosyaları toplayacağız. Halihazırda başlamadan once donanımınızı iyi bildiğinizi ve bu rehberden once en az bir Hackintosh kurulumu yaptığınızı umuyoruz zira burada cok detaya girmeyeceğiz.
Donanımımın desteklendiğini en iyi yolla nasıl anlarım?
Genişletmek icin tıkla...
MacOS'un onyukleme icin neleri gerektirdiğini daha iyi anlamak icin bkz: desteklenen donanım bolumu, Clover ve OpenCore arasındaki donanım desteği oldukca benzer.
1. Yazılım suruculeri
Bunlar OpenCore tarafından kullanılan suruculer, coğunlukla sisteminizin onyuklenip calışması icin 2 adet .efi gereklidir:
ApfsDriverLoader.efi APFS disk bolumlerini gorebilmek icin gereklidir(orn. macOS). OpenCore 0.5.8'da, bu surucu config.plist -> UEFI -> APFS'de yerleşiktir. HfsPlus.efi HFS disk bolumlerini gorebilmek icin gereklidir(orn. macOS yukleyicileri ve kurtarma bolumleri/imajları). Diğer HFS suruculeri ile karıştırmayın OpenRuntime.efi AptioMemoryFix.efi yerine gecer, OpenCore'a boot.efi'yi NVRAM duzeltmeleri ve daha iyi bellek yonetimi icin yamalamasında yardımcı olan bir uzantıdır. Legacy kullanıcıları icin:
OpenUsbKbDxe.efi OpenUsbKbDxe.efi DuetPkg ile calışan Legacy sistemlerde OpenCore secicisi olarak kullanılır. Tavsiye edilmez, hatta Ivy Bridge ve daha yeni sistemlerde zararlıdır. NvmExpressDxe.efi Hicbir NVMe surucusu yazılım olarak yapılmadığı icin Haswell ve daha eski sistemlerde kullanılır. NVMe surucusu kullanmıyorsanız gereksizdir. XhciDxe.efi Hicbir XCHI surucusu yazılım yapılmadığı icin 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 yonerge desteği olmayan sistemler icin kullanılır. Genel olarak Sandy Bridge ve daha eski sistemlerde gorulur. Uyumlu suruculerin tam bir listesi icin, bkz: OpenCorePkg Docs'daki 11.2 Properties. Bu dosyalar EFI'deki Drivers klasorune gitmekte.
2. Kextler
Kext bir kernel extension yani cekirdek(kernel) uzantısıdır. Bunu, macOS'daki suruculer gibi duşunebiliriz. Tum kextler EFI'deki Kexts klasorune gitmekte.
Windows ve Linux: Kextler bir klasor gibi gorunecektir, o klasorlerin icerisinde .kext olduğundan emin olun(ve eğer yoksa da manuel olarak eklemeyin) Olmazsa olmazlar:
VirtualSMC Gercek mac'lerdeki SMC cipini taklit eder, bu olmadan macOS onyuklenmeyecektir. Alternatifi ise FakeSMC'dir. Daha iyi veya daha kotu bir desteğe sebep olabilir, ayrıca genellikle Legacy sistemlerde gorunur. Lilu Coğu sureci yamalamak icin bir kext'dir. AppleALC, WhateverGreen, VirtualSMC ve coğu başka kext'ler icin gereklidir. Lilu olmadan calışmayacaklardır. VirtualSMC eklentileri:
SMCProcessor.kext İşlemci sıcaklığını gormek icin kullanılır, AMD işlemcili sistemlerde calışmaz SMCSuperIO.kext Fan hızını gormek icin kullanılır, AMD işlemcili sistemlerde calışmaz SMCLightSensor.kext Laptop'larda ortam ışık sensoru icin kullanılır, masaustu kullanıcıları gormezden gelebilir Eğer ortam ışık sensorunuz yoksa kullanmayın aksi taktirde sorun yaratabilir SMCBatteryManager.kext Laptop'larda batarya verisini okumak icin kullanılır, masaustu kullanıcıları gormezden gelebilir Batarya tamamen yamalanmadığı surece kullanmayın aksi halde sorun yaratabilir Grafikler:
WhateverGreen Grafikleri yamalamak icin kullanılır. DRM, boardID, framebuffer duzeltmeleri vb. Tum ekran kartları bu kext'den yararlanır. SSDT-PNLF.dsl dosyası sadece laptoplar ve AIO(All-in-One) sistemler icin gerekir. Ses:
AppleALC AppleHDA'yı yamalamak ve ayrıca yerleşik sesi almak icin kullanılır. AMD 15h/16h sistemlerde problem cıkarabilir ve ayrıca Ryzen/Threadripper sistemlerde nadir mikrofon desteği vardır Ethernet:
IntelMausi Intel NIC'ler icin gereklidir, I211 tabanlı tum yonga setleri icin bu kext lazım olacaktır: SmallTreeIntel82576.kext SmallTreeIntel82576 kext I211 NIC'ler icin gereklidir, SmallTree tabanlı bir kext fakat yama ile I211 destekler Intel NIC'ler ile calışan coğu AMD anakartlar icin gereklidir AtherosE2200Ethernet Atheros ve Killer NIC'ler icin gereklidir RealtekRTL8111 Realtek'in Gigabit Ethernet'i icin gereklidir LucyRTL8125Ethernet Realtek'in 2.5Gb Ethernet'i icin gereklidir USB:
USBInjectAll ACPI'de tanımlanmamış USB portları olan sistemlere Intel USB kontrolculerini enjekte etmek icin gereklidir Skylake ve daha guncel sistemlerde ihtiyac duyulmaz(ASRock tam bir teneke olduğu icin ASRock anakartlar icin gerekir) AMD işlemciler ile hic calışmaz XHCI-desteklenmiyor Yerleşik olmayan USB kontrolculeri icin gereklidir AMD işlemcili sistemler icin gereksizdir Buna ihtiyac duyan genel yonga setleri: H370 B360 H310 Z390(Mojave ve daha guncelinde gerekmez) X79 X99 ASRock kartlar(Ozellikle Intel anakartlarında, hatta aslında tum anakartlarında) Wi-Fi ve Bluetooth:
AirportBrcmFixup Apple'a ait olmayan Broadcom kartları yamalamak icin kullanılır. Intel, Killer, Realtek vb.'lerde calışmayacaktır. BrcmPatchRAM Broadcom Bluetooth yonga setine yazılımı yuklemek icin kullanılır, Apple/Fenvi'nin olmayan tum Airport kartları icin gereklidir. BrcmFirmwareData.kext ile eşleştirmek icin BrcmPatchRAM3 10.14 ve daha yenisi icin (BrcmBluetoothInjector ile eşleştirilmelidir) BrcmPatchRAM2 10.11-10.14 icin BrcmPatchRAM 10.10 ve daha eskisi icin Kernel -> Add kısmındaki sıralama boyle olmalı:
BrcmBluetoothInjector BrcmFirmwareData BrcmPatchRAM3 AMD işlemcilere ozel kextler:
NullCPUPowerManagment DummyPowerManagement adında config.plist'in Kernel -> Quirks yolunda bulunabilen daha iyi bir cozumumuz var. XLNCUSBFIX AMD FX sistemler icin USB duzeltmeleri, Ryzen icin tavsiye edilmez. VoodooHDA FX sistemler icin ses, Ryzen sistemler icin on paneldeki mikrofon ve ses desteği, AppleALC ile birlikte kullanmayın. Ses kalitesi, Ryzen sistemlerde AppleALC'ye gore daha kotudur. Ekstralar:
AppleMCEReporterDisabler Catalina ile kullanışlı bir başlangıc icin AppleMCEReporter.kext'i kapatmak, AMD ve cift 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 icin gerekir. Bu olmadan macOS aşırı yavaş olabilir, hatta onyuklenmeyebilir. Skylake-X kullananlar bunun yerine TSCAdjustReset kullanmalı. TSCAdjustReset Skylake-X'de, ASUS ve EVGA dahil olmak uzere coğu aygıt yazılımı, TSC'yi tum cekirdeklere yazmamakta. TSC'yi cold boot(yavaş onyukleme)'da sıfırlayıp ardından uyandırmalıyız. Derlenmiş surum buradan bulunabilir: TSCAdjustReset.kext. Aklınızda bulunsun, kext'i acıp (Finder'da Paket İceriğini Goster, İcindekiler -> Info.plist) ve Info.plist'de-> IOKitPersonalities -> IOPropertyMatch -> IOCPUNumber işlemcinizdeki thread sayısına gore 0'dan başlayarak değiştirin.(Mesela i9-7980XE'de 36 thread var fakat 35 olarak yazılıyor.) NVMeFix Guc yonetimini duzeltmek ve Apple olmayan NVMe'i başlatmak icin kullanılır, macOS 10.14 veya daha yenisini gerektirir Laptop'a ozeller:
VoodooPS2 PS2 klavye ve trackpadli sistemler icin gerekir Trackpad kullanıcıları ayrıca bununla eşleştirmelidir: VoodooInput(Config.plist'inizde mutlaka VoodooPS2'den once gelmelidir) VoodooI2C I2C aygıtlarını duzeltmek icin kullanılır, daha suslu touchpadlı ve touchscreen'li makinelerde gorulur Eklenti ile eşleştirmek icin: VoodooI2CHID - Microsoft HID aygıt tanımlanmasını uygular VoodooI2CElan - Elan'a ozel cihazlar icin destek uygular. (ELAN1200+ ile calışmaz, onun yerine HID kullanın) VoodooI2CSynaptics - Synaptics'e ozel cihazlar icin destek uygular. VoodooI2CFTE - FTE1001 touchpad desteği uygular. VoodooI2CUPDDEngine - Touchbase surucu desteği uygular. Ne tur klavye ve trackpad'e sahip olduğunuzu anlamak icin Windows'da Aygıt Yoneticisi'ne veya Linux'da dmesg |grep input'e bakın.
NoTouchID Kimlik doğrulama sorunlarını gidermek icin TouchID sensoru iceren bir SMBIOS onerilir Desteklenen tum kextler icin lutfen bkz: Kexts.md
3. SSDT'ler
Şimdi tum bu SSDT'lerin AcpiSamples klasorunde olduğunu goruyorsunuz fakat hangisine ihtiyacınız olduğunu bilmiyorsunuz. Bizim icin, config.plist'inizdeki ACPI bolumunde hangi SSDT'ye ihtiyacınız olacağını tespit edeceğiz, hangi SSDT'lere ihtiyacınız olduğu ise platforma gore ozeldir. Yapılandırılması gereken bazı sistemlerdee bile, şimdi secim yapabileceğiniz SSDT'lerin bir listesinin verilmesi sonucu kolayca kaybolabilirsiniz.
ACPI ile başlama bolumu, SSDT'lerin farklı platformlarda derlenmesi icin genişletilmiş bir bolumdur.
Gerekli SSDT'ler icin hızlı bir TL;DR (Bu bir kaynak kodudur, bunları bir .AML dosyasına derlemeniz gerekir):
3.1. Masaustu
SSDTIvyBridgeHaswell/BroadwellSkylakeKabyLakeCoffeeLakeCometLakeAMD(15/16/17h)CPUCPU-PM(Kurulum sonrası calıştırın)SSDT-PLUGSSDT-PLUGSSDT-PLUGSSDT-PLUGSSDT-PLUGN/AECSSDT-ECSSDT-ECSSDT-EC-USBXSSDT-EC-USBXSSDT-EC-USBXSSDT-EC-USBXSSDT-EC-USBXAWACN/AN/AN/AN/ASSDT-AWACSSDT-AWACN/ANVRAMN/AN/AN/AN/ASSDT-PMCN/AN/AUSBN/AN/AN/AN/AN/ASSDT-RHUBN/A
3.2. Ust Seviye Masaustu
SSDTIvyBridge-EHaswell-EBroadwell-ESkylake-XCPUCPU-PM(Kurulum sonrası calıştırın)SSDT-PLUGSSDT-PLUGSSDT-PLUGECSSDT-ECSSDT-ECSSDT-ECSSDT-EC-USBXAWACN/AN/AN/ASSDT-AWAC
ACPI ile başlama
ACPI hakkında hızlı bir acıklama
Nedir bu DSDT ve SSDT'ler? Bunlar yazılımınızın donanım aygıtlarının(USB kontrolculeri, işlemci thread'leri, gomulu kontrolculer, sistem saatleri vb.) taslağını sunan tablolardır. DSDT(Differentiated System Description Table)'yi, SSDT(Secondary System Description Table) tarafından iletilen daha kucuk bilgi bitleri ile bilginin coğunu tutan govde olarak gorulebilir. DSDT'nin bir projenin bina planı, SSDT'lerin de bina planındaki ek ayrıntıları ozetleyen yapışkan notlar olarak duşunebilirsiniz.
ACPI ve ozellikleri hakkında daha fazla bilgiyi buradan edinebilirsiniz: ACPI 6.3 Manual
Neden bu tabloları umursuyoruz?
Genişletmek icin tıkla...
macOS DSDT'deki mevcut aygıtlar icin bayağı bir secici olabiliyor ve bizim işimiz bunu duzeltmek. macOS'un duzgun calışabilmesi icin duzeltilmesi gereken ana cihazlar:
Gomulu kontrolculer(EC) Butun yarı-modern Intel makinelerde DSDT'lerinde acığa cıkmış EC(genellikle boyle de bilinir: H_EC, ECDV, EC0, vb...) vardır, ayrıca coğu AMD sistemde de acığa cıkar. Bu kontrolculer genellikle macOS ile uyumsuzdur ve panic'e sebep olur, bu sebeple macOS'dan gizlenmeleri gerekir. macOS Catalina icin EC adında bir cihaz olmasını gerekir, boylece sahte bir EC yaratılır. Laptoplarda batarya ve kısayol tuşlarının calışabilmesi icin gomulu kontrolcunun aktif olması gerekli ve EC'yi yeniden adlandırmak ilaveten Windows'da sorunlara sebep olabiliyor. Bu yuzden gercek gomulu kontrolcuyu(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 guc yonetimini sağlar, SSDT işlemcideki ilk thread'e bağlanacaktır. AMD'de aynısı olmuyor. AWAC system clock. AWAC saati etkin gelen tum yeni 300 serisi anakartlara ve coğu Z370 anakartlara uygulanır. Bu bir sorun cunku macOS, AWAC saati ile bağlantı kuramıyor. Bu durum bize Legacy RTC saatini zorunlu acık yapmayı, yapılamıyorsa da macOS icin sahte bir tanesini yapmayı gerektiriyor. NVRAM SSDT Gercek 300 serisi anakartlar(Z370 değil) ACPI'de FW yongasını MMIO olarak bildirmez ve boylece cekirdek(kernel) UEFI hafıza haritası tarafından yapılan MMIO bolgesini gormezden gelir. Bu SSDT NVRAM desteğini geri getirir. Backlight SSDT Laptoplar'daki backlight kontrolunu duzeltmek icin kullanılır GPIO SSDT VoodooI2C'nin bağlanmasına izin vermek icin taslak oluşturmada kullanılır, sadece laptoplar icindir XOSI SSDT OSI cağrılarını bu SSDT'ye yonlendirmek icin kullanılır. Genellikle donanımı sanki Windows'u onyukluyormuşuz gibi kandırıp daha iyi trackpad desteği almak icin kullanılır. Windows onyuklemesini bozmak icin cok hileli bir cozum, bunun yerine GPIO SSDT'yi kullanın. Bu rehberde XOSI kullanımı kapalı değildir. IRQ SSDT ve ACPI yamaları DSDT'deki IRQ catışmalarını duzeltmek icin gerekir, hatta genellikle laptoplar icin. SSDTTime ozeldir. Skylake ve daha guncel sistemlerde IRQ catışmaları nadir olur, bu genellikle Broadwell ve daha eski sistemlerde yaygındır.
Config.plist Ayarlama
Şimdi tum Kextlerimizi(.kext), SSDT'lerimizi(.aml) ve yazılım suruculerimizi(.efi) aldığımıza gore belleğimiz bu şekilde gorunmeye başlayacaktır:
Not: USB'niz farklı gorunecektir, herkesin sistemi farklı gereksinimlere ihtiyac duyar. 1. Config.plist oluşturma
İlk olarak OpenCorePkg'ın icerisinden sample.plist'i almamız gerekecek, Docs klasorunun icerisinde olacaktır:
Sonraki adımda ise bunu EFI'de(Windows'da BOOT isminde gorunecektir) EFI/OC/ yoluna atıp config.plist olarak yeniden adlandıralım:
2. SSDT'leri, Kextleri ve yazılım suruculerini ekleme
Bu rehberin geriye kalan kısmında bir plist duzenleyicisine ihtiyacınız olacak. Ve bizim rehberimizde, biz bu sıkıcı işleri halletmek icin ProperTree ve GenSMBIOS kullanacağız:
ProperTree Kapsamlı plist duzenleyicisi GenSMBIOS SMBIOS verisini oluşturmak icin gereklidir Sonraki adımda ProperTree'yi acalım ve config.plist'imizi duzenleyelim:
ProperTree.command macOS icin Harika bir ipucu: Scripts klasorunde ProperTree'yi, macOS'ta ozel bir uygulamaya donuşturmenizi sağlayan buildapp.command adında yardımcı bir programı var. ProperTree.bat Windows icin Acıldığında, Cmd/Ctrl + Shift + R tuşlarına basın ve EFI/OC klasorunuzu secin:
Bu işlem config.plist'deki tum girdileri siler ve icerisine Kextlerinizi, SSDT'leriniz ve yazılım suruculerinizi(.efi)'leri ekler. Cmd/Ctrl + R ise girdilerinizi ekler fakat eğer oncesinde devre dışıysa o şekilde bırakan alternatif bir secenektir. Sorun yaşadığınızda faydalı olur fakat şu anda biz bunu kullanmayacağız.
Bittiğinde, config.plist'inizde SSDT'leri, kextleri ve yazılım suruculerini coğalmış olarak goreceksiniz::
Eğer biraz daha temiz gorunmesini isterseniz #WARNING girdilerini silebilirsiniz, orada durmaları herhangi bir soruna sebep olmazlar, silmek sizin tercihinize kalmış.
3. Platformu secme
İşte onemli kısım geldi, konfigurasyon yolunu secmek. Her platformun kendine ozel eklenmesi gereken Quirk'leri vardır ki işte bu yuzden donanımınızı bilmeniz cok onemli. Yapmanız gerekenleri takip etmeniz icin aşağıya bakın:
3.1. Intel masaustu
Ivy Bridge
3XXX serileri, 2012 donemi Haswell
4XXX serileri, 2013 donemi Ayrıca Broadwell kullananlar da uygulasın Skylake
6XXX serileri, 2015-2016 donemi Kaby Lake
7XXX serileri, 2017 donemi Kaby Lake-R ve Amber Lake ayrıca uygulasın Coffee Lake
8XXX ve 9XXX serileri, 2017-2019 donemi Comet Lake
10XXX serileri, 2020 donemi 3.2. Intel HEDT
Bu bolum sunucu tabanlı donanımları icerir.
Haswell-E
5XXX serileri, 2014 donemi Broadwell-E
6XXX serileri, 2016 donemi Skylake/Cascade Lake-X/W
7XXX, 9XXX, 10XXX serileri, 2017-2019 donemi 3.3. AMD
Bulldozer/Jaguar
Google'da bu serileri arayın, AMD'nin isimlendirme şeması cok kotu olduğu gibi bu jenerasyonlara cok uzun sure destek verdi. Zen
1XXX, 2XXX, 3XXX serileri, 2017-2020 donemi Not: Threadripper 3.nesil (39XX) desteklenmemekte, 1. ve 2.nesil desteklenmekte.
Kurulum Aşaması
OpenCore hakkında her şeyi tamamladınız, USB'y onyuklemeye hazırsınız fakat bunları aklınızda bulundurmanızda fayda var:
macOS icin uygun BIOS ayarlarını yapın Multiboot rehberine bakın. Genellikle tek diskte birden fazla işletim sistemi kullananlar icin uygun bir rehberdir. Sorun giderme sayfasının bir kopyası macOS onyukleme aşamasını okuyun İlk defa kuracaklar icin nerede takılabileceklerini anlamalarına yardımcı olur. Ve bayağı bir sabır 1. Yapılanları iki sefer kontrol edin
Onyuklemeden once yapmanız gereken tek şey tekrardan EFI duzenine bakmamız:
İyi bir EFI orneğiKotu EFI orneği
* EFI klasoru EFI bolumunun icerisinde* EFI klasoru kayıp* ACPI dosyaları derlenmiş(.aml)* ACPI dosyaları derlenmemiş(.dsl)* DSDT icinde değil* DSDT icerisinde* Gereksiz suruculer silinmiş(.efi)* Varsayılan suruculer bırakılmış* Gereksiz araclar silinmiş(.efi)* Araclar olduğu gibi bırakılmış* Kext klasorundeki tum dosyalar .kext uzantısı ile bitmekte* Kaynak kodu ve klasorleri icermekte* config.plist dosyası EFI/OC'ın icinde* .plist dosyası ne yeniden adlandırılmış, ne de duzenlenmiş ve doğru konumda değil* Sadece gerekli kextler kullanılmakta* Listelenmiş tum kextler indirilmiş
Hatırlatıcı olarak slowgeek sitesi işinize yarayabilir:
Sanity Checker 2. OpenCore USB belleğini onyukleme
Nihayet USB belleği bilgisayar takıp onyuklemeye hazırsınız. Laptopda varsayılan olarak Windows olan disk onyukleneceği icin, BIOS>BOOT kısmından USB'yi secmeniz gerektiğini aklınızda bulundurun. BIOS'a girmek icin veya Boot menusune girmek icin gerekli tuşu kılavuzdan veya internetten bakmanızda fayda var.(orneğin. ESC, F2, F10 veya F12)
USB'yi onyuklediğinizde karşınıza muhtemelen bu liste gelecektir:
Windows macOS Base System (External) / Install macOS Catalina (External) OpenShell.efi Reset NVRAM Burada 2.seceneceği seciyoruz. Yukleyicinin nasıl yapıldığına gore 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 gorunecektir.
3. macOS yukleyicisi
Sonunda yukleyiciyi onyuklediniz ve verbose modunu da gecip yukleyiciye ulaştınız! Buraya kadar tamam, aklınızda bulundurmanız gereken birkac şey var:
macOS kurmak istediğiniz disk GUID bolum şemasında ve APFS turunde olmalıdır. HDD'de High Sierra ve tum Sierra kullanıcıları macOS Journaled(HFS+) kullanmalı. Diskte ayrıca 200MB bolum olması lazım Varsayılan olarak, macOS 200MB ile yeni bicimlendirilmiş disklere kurulacak Windows diskini boluntuleme hakkında daha fazla bilgi icin bkz: Multiboot rehberi Kurulumu başlattığınızda, sistem yeniden başlayana kadar beklemelisiniz. Yeniden başladığında tekrardan OpenCore'u onyukleyin, fakat bu sefer OpenCore'da macOS Installer'i secmelisiniz. Ekrana Apple simgesi gelecek ve arkaplan siyah olacaktır ve simgenin altında da kalan dakika yazacaktır. Bu esnada bir şeyler icmek veya atıştırmak guzel olacaktır. Birkac 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