Rehber QEMU/KVM'de macOS çalıştırma

Gereksinimler
  • Güncel bir Linux dağıtımı, örneğin: Ubuntu 22.04 LTS 64-bit veya daha günceli.
  • QEMU >= 6.2.0
  • Intel VT-x / AMD SVM desteği olan bir işlemci. (grep -e vmx -e svm /proc/cpuinfo)
  • SSE4.1 desteği olan bir işlemci. MacOS Sierra ve daha günceli için gereklidir.
  • AVX2 desteği olan bir işlemci. MacOS Mojave ve daha günceli için gereklidir.
Not: Eski AMD işlemcilerin problemli olduğu bilinse de günümüz AMD Ryzen işlemciler Sonoma sürümünde bile gayet iyi çalışıyor.

Kurulum Hazırlıkları
  • QEMU ve diğer paketlerin kurulumu.
    Kod:
    sudo apt-get install qemu uml-utilities virt-manager git \
        wget libguestfs-tools p7zip-full make dmg2img tesseract-ocr \
        tesseract-ocr-eng genisoimage -y
    Bu aşamanın Linux dağıtımınıza uyarlanması gerekebilir.

  • QEMU sisteminize bu repository'i klonlayın. Bu repodaki dosyalar aşağıdaki aşamalarda kullanılır.
    Kod:
    cd ~
    git clone --depth 1 --recursive https://github.com/kholia/OSX-KVM.git
    cd OSX-KVM
    Repo güncellemeleri aşağıdaki kod ile alınabilir.
    Kod:
    git pull --rebase
    Bu repo ağırlıklı olarak rebase tabanlı iş akışlarını kullanır.

  • KVM, host makinede çalışabilmek için aşağıdaki tweak'e ihtiyaç duyabilir:
    Kod:
    sudo modprobe kvm; echo 1 | sudo tee /sys/module/kvm/parameters/ignore_msrs
    Bu değişikliği kalıcı yapmak için de aşağıdaki komutu kullanabilirsiniz:
    Kod:
    sudo cp kvm.conf /etc/modprobe.d/kvm.conf  # Sadece Intel için
    
    sudo cp kvm_amd.conf /etc/modprobe.d/kvm.conf  # Sadece AMD için

  • kvm ve libvirt gruplarına kullanıcı ekleyin(gerekli olabilir).
    Kod:
    sudo usermod -aG kvm $(whoami)
    sudo usermod -aG libvirt $(whoami)
    sudo usermod -aG input $(whoami)
    Not: Bu komutları uyguladıktan sonra yeniden giriş yapın.

  • macOS yükleyicisini getirelim.
    Kod:
    ./fetch-macOS-v2.py
    Burada istediğiniz macOS sürümünü seçebilirsiniz. Bu aşamayı tamamladıktan sonra şu anki klasörünüzde BaseSystem.dmg dosyasına sahip olmanız gerekiyor.
    DİKKAT: Big Sur ve daha güncel sürümlerde, macOS kurulum sihirbazı yavaş çalışıyorsa, kurulumu Ülke Seçim ekranı veya benzer kısımlarda bekletin. İlk macOS kurulum sihirbazı sonunda başarılı olacaktır.
    Örnek:
    Kod:
    $ ./fetch-macOS-v2.py
    1. High Sierra (10.13)
    2. Mojave (10.14)
    3. Catalina (10.15)
    4. Big Sur (11.7)
    5. Monterey (12.6)
    6. Ventura (13) - RECOMMENDED
    7. Sonoma (14)
    
    Choose a product to download (1-6): 6
    Not: Modern NVIDIA ekran kartları High Sierra destekliyor olsa da daha güncel sürümlerde desteği bulunmamakta.

  • İndirilen BaseSystem.dmg dosyasını BaseSystem.img dosyasına çevirin.
    Kod:
    dmg2img -i BaseSystem.dmg BaseSystem.img

  • MacOS'u yükleyeceğiniz sanal HDD imajını oluşturun. Eğer disk imajının adını mac_hdd_ng.img'dan başka bir şeye değiştirirseniz, önyükleme scriptlerini de değiştirdiğiniz ad ile güncellemeniz gerekmekte.
    Kod:
    qemu-img create -f qcow2 mac_hdd_ng.img 256G
    NOT: En iyi sonuçlar için bu sanal HDD imaj dosyasını hızlı bir SSD/NVMe diskte oluşturun.
  • Artık macOS'u yüklemek için hazırsınız

Kurulum
  • CLI yöntemi (birincil). Kurulum işlemini başlatmak için sadece OpenCore-Boot.sh script'ini çalıştırın.
    Kod:
    ./OpenCore-Boot.sh
    Not: Bu script tüm güncel macOS sürümleri için çalışır.
  • macOS VM'ye bağlı sanal diski bölümlemek ve biçimlendirmek için macOS yükleyicisindeki Disk İzlencesi aracını kullanın. Modern macOS sürümleri için APFS'yi (varsayılan) kullanın.
  • Devam edin ve macOS'u yükleyin
  • (İsteğe Bağlı) macOS VM diskini libvirt ile kullanın. (virt-manager / virsh stuff).
    • macOS-libvirt-Catalina.xml dosyasını düzenleyin ve birçok dosya yollarını değiştirin (CHANGEME yazılarını aratın). Aşağıdaki komut genellikle bunu halleder.
      Kod:
      sed "s/CHANGEME/$USER/g" macOS-libvirt-Catalina.xml > macOS.xml
      
      virt-xml-validate macOS.xml
    • Aşağıdaki komutu kullanarak bir VM oluşturun.
      Kod:
      virsh --connect qemu:///system define macOS.xml
    • Eğer gerekirse, libvirt-qemu kullanıcısına gerekli izinleri verin,
      Kod:
      sudo setfacl -m u:libvirt-qemu:rx /home/$USER
      sudo setfacl -R -m u:libvirt-qemu:rx /home/$USER/OSX-KVM
    • virt-manager'i çalıştırın ve macOS VM'i başlatın.
Kullanıcı Arabirimi Olmadan macOS

Beklentileri Doğru Belirlemek
Böyle bir sistem çeşitli amaçlar için kullanılabilir (örneğin yazılım oluşturma, test etme, reversing) ve bu repodaki bazı ince ayarlarla birlikte ihtiyacınız olan tek şey bu olabilir. Ancak böyle bir sistem grafik hızlandırma, düzgün çalışan ses çıkışları, USB 3 işlevselliği ve benzeri şeylerden yoksundur. Bunları etkinleştirmek için notlarımıza bir göz atın.

Kurulum Sonrası
  • VM'nize SSH, VNC vb. yoluyla uzaktan erişim için VM'nizde ağ oluşturma, giden ve ayrıca gelen ağ ayarlarının nasıl yapılacağına ilişkin ağ oluşturma notlarına bakın.
  • Ekran kartlarını ve diğer aygıtları doğrudan geçirmek için notlara bakın.
  • Farklı bir çözünürlüğe mi ihtiyacınız var? Bu repoda bulunan notlara göz atın.
  • iMessage'da sorun mu yaşıyorsunuz? Bu repoda bulunan notlara göz atın.
  • Şiddetle tavsiye edilen macOS tweakleri - GitHub - sickcodes/osx-optimizer: OSX Optimizer

Kaynak: GitHub - kholia/OSX-KVM: Run macOS on QEMU/KVM.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…