wiki:jazz/Hackintosh

Version 2 (modified by jazz, 5 weeks ago) (diff)

--

Hackintosh

2024-05-28

  • https://github.com/topics/hackintosh
  • 使用星星數最多的 https://github.com/kholia/OSX-KVM 來做敲門磚
  • 測試環境:AWS EC2 - 因為還有 60 美金左右的 credit 必須在 5/31 前用完
  • Base OS: Ubuntu 24.04
    jazzwang:~$ ssh kvm
    Welcome to Ubuntu 24.04 LTS (GNU/Linux 6.8.0-1008-aws x86_64)
    
     * Documentation:  https://help.ubuntu.com
     * Management:     https://landscape.canonical.com
     * Support:        https://ubuntu.com/pro
    
     System information as of Tue May 28 03:32:52 UTC 2024
    
      System load:  0.08               Temperature:           -273.1 C
      Usage of /:   0.8% of 192.69GB   Processes:             133
      Memory usage: 1%                 Users logged in:       0
      Swap usage:   0%                 IPv4 address for ens5: 172.31.18.147
    
    
    Expanded Security Maintenance for Applications is not enabled.
    
    0 updates can be applied immediately.
    
    Enable ESM Apps to receive additional future security updates.
    See https://ubuntu.com/esm or run: sudo pro status
    
    
    The list of available updates is more than a week old.
    To check for new updates run: sudo apt update
    
    Last login: Tue May 28 03:32:55 2024 from x.x.x.x
    To run a command as administrator (user "root"), use "sudo <command>".
    See "man sudo_root" for details.
    
  • 安裝必要的套件 Install QEMU and other packages.
    • 由於 qemu 在 Ubuntu 22.04 LTS 是 dummy package, 在 Ubuntu 24.04 LTS 已經沒有這個套件。先拿掉再來看到底程式會用到什麼 QEMU 指令。
      ubuntu@ip-172-31-18-147:~$ sudo apt-get update
      ubuntu@ip-172-31-18-147:~$ sudo apt-get install uml-utilities virt-manager git \
          wget libguestfs-tools p7zip-full make dmg2img tesseract-ocr \
          tesseract-ocr-eng genisoimage vim net-tools screen -y
      
      ubuntu@ip-172-31-18-147:~$ cd ~; git clone --depth 1 --recursive https://github.com/kholia/OSX-KVM.git; cd OSX-KVM
      Cloning into 'OSX-KVM'...
      remote: Enumerating objects: 639, done.
      remote: Counting objects: 100% (639/639), done.
      remote: Compressing objects: 100% (563/563), done.
      remote: Total 639 (delta 46), reused 611 (delta 37), pack-reused 0
      Receiving objects: 100% (639/639), 30.11 MiB | 31.63 MiB/s, done.
      Resolving deltas: 100% (46/46), done.
      Submodule 'resources/OcBinaryData' (https://github.com/acidanthera/OcBinaryData.git) registered for path 'resources/OcBinaryData'
      Cloning into '/home/ubuntu/OSX-KVM/resources/OcBinaryData'...
      remote: Enumerating objects: 1190, done.        
      remote: Counting objects: 100% (398/398), done.        
      remote: Compressing objects: 100% (381/381), done.        
      remote: Total 1190 (delta 23), reused 32 (delta 16), pack-reused 792        
      Receiving objects: 100% (1190/1190), 67.73 MiB | 25.41 MiB/s, done.
      Resolving deltas: 100% (149/149), done.
      Submodule path 'resources/OcBinaryData': checked out '4e7e1b7465aae297d706afe5de5c4d1572d86917'
      
  • 啟用 KVM 模組。 KVM may need the following tweak on the host machine to work.
    ubuntu@ip-172-31-18-147:~/OSX-KVM$ git pull --rebase
    Already up to date.
    ubuntu@ip-172-31-18-147:~/OSX-KVM$ sudo modprobe kvm; echo 1 | sudo tee /sys/module/kvm/parameters/ignore_msrs
    1
    
  • 由於確認過 CPU 是 Intel 的,就複製 kvm.conf
    ubuntu@ip-172-31-18-147:~/OSX-KVM$ head /proc/cpuinfo 
    processor	: 0
    vendor_id	: GenuineIntel
    cpu family	: 6
    model		: 85
    model name	: Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
    stepping	: 7
    microcode	: 0x5003605
    cpu MHz		: 2499.996
    cache size	: 36608 KB
    physical id	: 0
    ubuntu@ip-172-31-18-147:~/OSX-KVM$ sudo cp kvm.conf /etc/modprobe.d/kvm.conf