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:
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.
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
Birisinin, bir başka önyükleyiciye geçmesinin en büyük sebebi belki de yazılım desteğidir:
OpenCore'un kext enjeksiyon sistemini daha iyi anlamak için ilk önce Clover'ın nasıl çalıştığına bakmalıyız:
USB'yi oluşturma
Gereksinimler:
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. 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
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:
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,
MacOS yükleyici dosyalarının konumu istenilecek. İndirilen konum ise GibMacOS klasörünün içerisindeki
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.
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
Sonraki adımda Apple'ın sağladığı
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
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:
EFI bölümünü açtığınızda bomboş olduğunuzu göreceksiniz. İşte eğlencenin tam da başladığı yer.
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:
Başlangıç olarak, gibMacOS.bat'ı Yönetici olarak açıp
Şimdi istediğiniz macOS sürümünü arayın, bu örnekte 5.seçenek olan macOS Catalina'yı seçiyoruz:
Bu işlem
2. Yükleyiciyi yapma
Sıradaki adımda
Belleğiniz formatlandığında öncesinde indirmiş olduğumuz
MakeInstall USB'nizdeki EFI sistem bölümüne OpenCore'u kurduğunda bitecektir. Bu bölüm
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:
Başlamak için, gibmacOS.py'i terminalde Toggle Recovery-Only ile birlikte açın:
Bu işlem
2. Yükleyiciyi yapma
Bu bölümün hedefi USB bellekte sadece gerekli bölümleri yapmaktır. Favori programınız olan
2.1 Yöntem 1
Terminalde:
İş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.
Dikkatinizi çekecek olan bir şey ise
Ş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):
Hatırlatma:
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.
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:
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.
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ü
3.2. Üst Seviye Masaüstü
ACPI ile başlama
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
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:
İlk olarak OpenCorePkg'ın içerisinden sample.plist'i almamız gerekecek, Docs klasörünün içerisinde olacaktır:
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:
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:
Bittiğinde, config.plist'inizde SSDT'leri, kextleri ve yazılım sürücülerini çoğalmış olarak göreceksiniz::
Eğer biraz daha temiz görünmesini isterseniz
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
Bu bölüm sunucu tabanlı donanımları içerir.
Haswell-E
Bulldozer/Jaguar
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:
Önyüklemeden önce yapmanız gereken tek şey tekrardan EFI düzenine bakmamız:
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:
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:
Kaynak: OpenCore Desktop Guide · GitBook
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:
- Hackintosh uyumlu ekran kartları - Technopat Sosyal
- Ekran kartınızın desteklenip-desteklenmediğine ve destekleniyorsa hangi sürüm ile uyumlu olduğuna bakın.
- macOS Uyumlu WiFi Adaptörler - Technopat Sosyal
- Wi-Fi kartınızın/adaptörünüzün uyumluluğunu kontrol edin.
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çinOption
veyaESC
'ye basılı tutun, Kurtarma moduna girmek içinCmd+R
, NVRAM resetlemek için deCmd+Opt+P+R
.
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.
OpenCore'un kext enjeksiyon sistemini daha iyi anlamak için ilk önce Clover'ın nasıl çalıştığına bakmalıyız:
- SIP'i yamalayarak devreye sokar
- Kext enjeksiyonu için XNU'un zombie code'unu yamalayarak etkinleştirir.
- Kext enjeksiyonu ile yarışma durumunu yamalar.
- Kextleri enjekte eder
- SIP'i geri yamalar
- 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.
- Var olan önbağlantıdaki(prelinked) çekirdek(kernel) ve kextleri enjeksiyona hazır hale getirir
- Yeni kextler ile EFI ortamındaki önbelleği yeniden oluşturur
- Yeni önbelleği ekler
- 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
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
- Öncelikle Legacy Install bölümünü takip edin
- Tamamlandıktan sonra macOS'u indirme kısmından devam edebilirsiniz.
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: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:
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: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.
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)
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
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:
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:
- 4GB USB bellek
- GibMacOS
Başlangıç olarak, gibMacOS.bat'ı Yönetici olarak açıp
Toggle Recovery-Only
'i seçin:Şimdi istediğiniz macOS sürümünü arayın, bu örnekte 5.seçenek olan macOS Catalina'yı seçiyoruz:
Bu işlem
\gibmacos-master\macOS Downloads\publicrelease\xxx-xxxxx - 10.x.x macOS xxx
konumuna RecoveryHDMetaDmg.pkg indirecek.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):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.MakeInstall USB'nizdeki EFI sistem bölümüne OpenCore'u kurduğunda bitecektir. Bu bölüm
BOOT
ismindedir: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:
- 4GB USB bellek
- GibMacOS
Başlamak için, gibmacOS.py'i terminalde Toggle Recovery-Only ile birlikte açın:
python gibMacOS.command -r
Bu işlem
\gibmacos-master\macOS Downloads\publicrelease\xxx-xxxxx - 10.x.x macOS xxx
konumuna RecoveryHDMetaDmg.pkg dosyası indirecektir.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:
lsblk
'yi çalıştırın ve USB belleğinizin bloğunu belirleyin.- Ardından bunu çalıştırın:
sudo gdisk /dev/<USB bloğunuz>
- Hangi bölüm tablosunu kullanacağınızı soracak olursanız, GPT'yi seçin.
- Bloğunuzun bölümlerini çıkartmak için
p
gönderin(ve gerekli olan olduğunu doğrulayın) o
göndererek bölüm tablosunu temizleyin ve GPT olarak yeni bir tane yapın(eğer boş değilse)y
ile onaylayın
n
gönderinpartition number
: varsayılan için boş bırakınfirst sector
: varsayılan için boş bırakınlast sector
: tüm disk için boş bırakınHex code or GUID
: Microsoft temel veri bölüm tipi için0700
w
gönderiny
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
göndererekgdisk
'i kapayın. (normalde kendi başına quit olması lazım)
- Hangi bölüm tablosunu kullanacağınızı soracak olursanız, GPT'yi seçin.
lsblk
kullanarak bölümünüzün tanımlayıcılarını belirleyinsudo 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.- 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 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.
- Ubuntu ve Ubuntu-tabanlı sistemlerde
BaseSystem.dmg
veBaseSystem.chunklist
'i çıkartmak için bunu çalıştırın:7z e -txar *.pkg *.dmg; 7z e *.dmg */Base*
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)- USB belleğinizi
cd
'leyin ve FAT32 USB bölümünüzün kök bölümündemkdir com.apple.recovery.boot
- Şimdi
BaseSystem.dmg
veBaseSystem.chunklist
'i com.apple.recovery.boot klasörünersync
'leyin veyacp
'leyin.
İş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.
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.
Ş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):
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.
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.Donanımımın desteklendiğini en iyi yolla nasıl anlarım?
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.efiAPFS 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.
- OpenUsbKbDxe.efi
- 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.
- 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.
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)
- 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.
- 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
- 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.
- 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
- 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
- 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)
- 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
- BrcmBluetoothInjector
- BrcmFirmwareData
- BrcmPatchRAM3
NullCPUPowerManagmentDummyPowerManagement
adında config.plist'inKernel -> 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.
- 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
- 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.
dmesg |grep input
'e bakın.- NoTouchID
- Kimlik doğrulama sorunlarını gidermek için TouchID sensörü içeren bir SMBIOS önerilir
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ü
SSDT | IvyBridge | Haswell/Broadwell | Skylake | KabyLake | CoffeeLake | CometLake | AMD(15/16/17h) |
---|---|---|---|---|---|---|---|
CPU | CPU-PM(Kurulum sonrası çalıştırın) | SSDT-PLUG | SSDT-PLUG | SSDT-PLUG | SSDT-PLUG | SSDT-PLUG | N/A |
EC | SSDT-EC | SSDT-EC | SSDT-EC-USBX | SSDT-EC-USBX | SSDT-EC-USBX | SSDT-EC-USBX | SSDT-EC-USBX |
AWAC | N/A | N/A | N/A | N/A | SSDT-AWAC | SSDT-AWAC | N/A |
NVRAM | N/A | N/A | N/A | N/A | SSDT-PMC | N/A | N/A |
USB | N/A | N/A | N/A | N/A | N/A | SSDT-RHUB | N/A |
SSDT | IvyBridge-E | Haswell-E | Broadwell-E | Skylake-X |
---|---|---|---|---|
CPU | CPU-PM(Kurulum sonrası çalıştırın) | SSDT-PLUG | SSDT-PLUG | SSDT-PLUG |
EC | SSDT-EC | SSDT-EC | SSDT-EC | SSDT-EC-USBX |
AWAC | N/A | N/A | N/A | SSDT-AWAC |
ACPI ile başlama
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
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:Neden bu tabloları umursuyoruz?
- 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.
- 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
- 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:
- Not: USB'niz farklı görünecektir, herkesin sistemi farklı gereksinimlere ihtiyaç duyar.
İlk olarak OpenCorePkg'ın içerisinden sample.plist'i almamız gerekecek, Docs klasörünün içerisinde olacaktır:
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:
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
ProperTree.command
- macOS için
- Harika bir ipucu:
Scripts
klasöründe ProperTree'yi, macOS'ta özel bir uygulamaya dönüştürmenizi sağlayanbuildapp.command
adında yardımcı bir programı var.
ProperTree.bat
- Windows iç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.
Bittiğinde, config.plist'inizde SSDT'leri, kextleri ve yazılım sürücülerini çoğalmış olarak göreceksiniz::
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
- 4XXX serileri, 2013 dönemi
- Ayrıca Broadwell kullananlar da uygulasın
- 6XXX serileri, 2015-2016 dönemi
- 7XXX serileri, 2017 dönemi
- Kaby Lake-R ve Amber Lake ayrıca uygulasın
- 8XXX ve 9XXX serileri, 2017-2019 dönemi
- 10XXX serileri, 2020 dönemi
Bu bölüm sunucu tabanlı donanımları içerir.
Haswell-E
- 5XXX serileri, 2014 dönemi
- 6XXX serileri, 2016 dönemi
- 7XXX, 9XXX, 10XXX serileri, 2017-2019 dönemi
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.
- 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
Önyüklemeden önce yapmanız gereken tek şey tekrardan EFI düzenine bakmamız:
İyi bir EFI örneği | Kötü EFI örneği |
---|---|
* 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:
- Windows
- macOS Base System (External) / Install macOS Catalina (External)
- OpenShell.efi
- Reset NVRAM
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
Kaynak: OpenCore Desktop Guide · GitBook
Son düzenleme: