Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save gordonturner/2a2e5ecde5e7860b52e2 to your computer and use it in GitHub Desktop.
Save gordonturner/2a2e5ecde5e7860b52e2 to your computer and use it in GitHub Desktop.

Revisions

  1. gordonturner revised this gist Mar 7, 2016. 1 changed file with 113 additions and 198 deletions.
    311 changes: 113 additions & 198 deletions KVM OSX Guest 10.11 (El Capitan) with Clover.md
    Original file line number Diff line number Diff line change
    @@ -51,6 +51,12 @@ Step 1 OVMF

    https://gist.github.com/gordonturner/85dcc321d2099d610e67

    - Copy bios.bin:

    ```
    sudo cp ./Build/OvmfX64/DEBUG_GCC49/FV/OVMF.fd /vm/2016-03-06/bios.bin
    ```


    Step 2 Get Apple SMC osk Value
    ------------------------------
    @@ -183,167 +189,137 @@ http://mackie100projects.altervista.org/download/


    - Clover Configurator, Acpi
    - See `Clover Configurator-1-Acpi.png`

    - `Root/ACPI/DSDT` Dictionary
    - `Debug` Boolean YES (`Debug`)
    - `Name` String q35-acpi-dsdt.aml (`DSDT name`)
    - `ReuseFFFF` Boolean NO (`ReuseFFFF`)
    - NOTE: Select `New way`
    - `Fixes` Dictionary
    - `NewWay_80000000` Boolean YES (New way `NewWay`)
    - `FixRegions_10000000` Boolean YES (New way `FixRegions`)
    - `FIX_RTC_20000` Boolean YES (New way `FIX_RTC`)
    - `FiX_TMR_40000` Boolean YES (New way `FIX_TMR`)
    - `DeleteUnused_400000` Boolean YES (New way `DeleteUnused`)
    - `FIX_ADP1_800000` Boolean YES (New way `FIX_ADP1`)
    - `AddPNLF_1000000` Boolean YES (New way `AddPNLF`)
    - `FIX_S3D_2000000` Boolean YES (New way `FIX_S3D`)
    - `FIX_ACST_4000000` Boolean YES (New way `FIX_ACST`)
    - `FixSBUS_0080` Boolean YES (Unclear)
    - `` Boolean YES (New way `AddHDMI`

    - NOTE: Not required, remove from config.plist
    - `Root/ACPI/DropTables` Array (Drop Tables)
    - `Item0` Dictionary (`Signature*, Type/key, String/Number`)
    - `Signature` String `SSDT` (`SSDT, TableId, CpuPm`)
    - `TableId` String `CpuPm`

    - `Item1` Dictionary (`Signature*, Type/key, String/Number`)
    - `Signature` String `DMAR` (`DMAR, ,`)

    - `Item2` Dictionary (`Signature*, Type/key, String/Number`)
    - `Signature` String `SSDT` (`SSDT, TableId, Cpu0Ist`)
    - `TableId` String `Cpu0Ist`

    - `Root/ACPI/SSDT` Dictionary
    - `DropOem` Boolean NO (`Drop OEM`)
    - `Generate` Boolean NO (Unclear `Generate PStates`)

    - NOTE: Not required, remove from config.plist
    - `MaxMultiplier` Number 40 (`Min Multiplier`)
    - `MinMultiplier` Number 40 (`Max Multiplier`)
    - `NewWay` Boolean YES (Default)
    - `FixRegions` Boolean YES (Default)
    - `FIX_RTC` Boolean YES (Default)
    - `FiX_TMR` Boolean YES (Default)
    - `AddIMEI` Boolean NO (Default)
    - `FIX_INTELGFX` Boolean NO (Default)
    - `DeleteUnused` Boolean YES (Default)
    - `FIX_ADP1` Boolean YES (Default)
    - `AddPNLF` Boolean YES (Default)
    - `FIX_WAK` Boolean NO (Default)
    - `FIX_S3D` Boolean YES (Default)
    - `FIX_ACST` Boolean YES (Default)
    - `AddHDMI` Boolean YES (Default)

    - `Debug` Boolean YES (Changed)
    - `DSDT name` String q35-acpi-dsdt.aml (Changed)
    - `ReuseFFFF` Boolean NO (Deault)

    - `Root/ACPI/DropTables` Remove all


    - Clover Configurator, Boot
    - See `Clover Configurator-2-Boot.png`

    - `Root/Boot` Dictionary
    - `Arguments` String `` (`Custom Flags`)

    - NOTE: Uncheck `kext-dev-mode=1` `rootless=0`
    - `Root/Boot/Arguements` Dictionary
    - Uncheck all, including `kext-dev-mode=1` `rootless=0`
    - `Custom Flags` String `` (Default)

    - `Root/Boot/`
    - `Default Boot Volume` String `OSX` (Changed)
    - `Legacy` String `PBR` (Default)
    - `DefaultLoader` String `boot.efi` (Default)
    - `XMPDetection` String YES (Changed)
    - `Timeout` Number 5 (Default)
    - `-1` Boolean NO (Default)
    - `Fast` Boolean NO (Default)
    - `Debug` Boolean NO (Default)
    - `NeverHibernate` Boolean NO (Default)
    - `CustomLogo` String `` (Default)
    - `NoEarlyProgress` Boolean NO (Default)

    - `DefaultVolume` String `OSX` (`Default Boot Volume`)
    - `Legacy` String `PBR` (`Legacy`)
    - `DefaultLoader` String `boot.efi` (`Default Loader`)
    - `XMPDetection` String YES (`XMPDetection`)
    - `Timeout` Number 5 (`Timeout`)
    - `Debug` Boolean NO (`Debug`)

    - `Secure` Boolean NO (`Secure`)
    - `Root/Boot/Secure Boot`
    - `Whitelist` Empty (Default)
    - `Blacklist` Empty (Default)
    - `Secure` Boolean NO (Default)


    - Clover Configurator, Cpu
    - See `Clover Configurator-3-Cpu.png`

    - `Root/Cpu ` Dictionary
    - `QEMU` Boolean YES (`QEMU`)
    - `QEMU` Boolean YES (Changed)
    - NOTE: All other values default to empty or NO


    - Clover Configurator, Devices
    - See `Clover Configurator-4-Devices.png`

    - `Root/Devices ` Dictionary
    - `Fake ID` All empty
    - `Root/Devices/Fake ID` Dictionary
    - NOTE: All values default to empty

    - `Root/Devices/USB` Dictionary (All unchecked)
    - `Inject` Boolean NO (Changed)
    - `Add ClockID` Boolean NO (Changed)
    - `FixOwnership` Boolean NO (Changed)
    - `HighCurrent` Boolean NO (Default)
    - NOTE: All values set to NO

    - `Root/Devices/Audio`
    - `Inject` String `` (Default)
    - `AFGlowPoweredState` Boolean NO (Default)
    - `ResetHDA` Boolean NO (Changed)

    - `Root/Devices/`
    - NOTE: `Properties` and `Add Properties` are default to empty or NO

    - `USB` Dictionary (All unchecked)
    - `Inject` Boolean NO (`USB, Inject`)
    - `Add ClockID` Boolean NO (`USB, Add ClockID`)
    - `FixOwnership` Boolean NO (`USB, FixOwnership`)
    - `HighCurrent` Boolean NO (`USB, HighCurrent`)

    - `Audio`
    - `Inject` String `` (`USB, Inject`)
    - `AFGlowPoweredState` Boolean NO (`USB, AFGlowPoweredState`)
    - `ResetHDA` Boolean NO (`USB, ResetHDA`)


    - Clover Configurator, Disabled Devices
    - See `Clover Configurator-5-Disabled Devices.png`
    - Clover Configurator, Disabled Devices
    - NOTE: All default values, nothing configured


    - Clover Configurator, Gui
    - See `Clover Configurator-6-Gui.png`

    - `Root/Gui ` Dictionary
    - `Mouse` Dictionary
    - `DoubleClick` Number 500 (`Double Click`, default value)
    - `Speed` Number 8 (`Speed`, default value)
    - `Enabled` Boolean NO (`Enabled`, default value)
    - `Mirror` Boolean NO (`Mirror`, default value)
    - `Scan` Boolean YES (`Scan`, default value)
    - `ScreenResolution` String `800x600` (`Screen Resolution`)
    - `Theme` String `bootcamp` (`Theme`, set from Clover install)

    - `DoubleClick` Number 500 (Default)
    - `Speed` Number 8 (Default)
    - `Enabled` Boolean NO (Default)
    - `Mirror` Boolean NO (Default)
    - `Scan` Boolean YES (Default)
    - `Language` String `` (Default)
    - `ScreenResolution` String `800x600` (Changed)
    - `Console Mode` String `` (Default)
    - `Theme` String `bootcamp` (Default, set from Clover install)
    - `Custom Icons` Boolean NO (Default)
    - `Text Only` Boolean NO (Default)
    - NOTE: All default values, except ScreenResolution


    - Clover Configurator, Graphics
    - See `Clover Configurator-7-Graphics.png`

    - `Root/Graphics` Dictionary
    - `Inject` Dictionary
    - `ATI` Boolean NO (`Inject ATI`, default value)
    - `Intel` Boolean NO (`Inject Intel`, default value)
    - `NVidia` Boolean NO (`Inject NVidia`, default value)
    - `NVidiaSingle` Boolean NO (`Inject NVidiaSingle`, default value)

    - NOTE: All default values, nothing selected


    - Clover Configurator, Kernel and Kext Patches
    - See `Clover Configurator-8-Kernel and Kext Patches.png`

    - `Root/KernelAndKextPatches ` Dictionary
    - `KernelCpu` Boolean NO (`Kernel CPU`, default value)
    - `KernelLapic` Boolean NO (`Kernel LAPIC`, default value)
    - `KernelPm` Boolean NO (`Kernel Pm`, default value)
    - `KernelHaswellE` Boolean NO (`Kernel HaswellE`, default value)
    - `AppleRTC` Boolean NO (`Apple RTC`, changed)
    - `AsusAICPUPM` Boolean NO (`Asus AICPUPM`, default value)
    - `Debug` Boolean NO (`Debug`, default value)

    - NOTE: All default values, except `Apple RTC`, disable `Apple RTC`
    - `Kernel CPU` Boolean NO (Default)
    - `Kernel LAPIC` Boolean NO (Default)
    - `Kernel Pm` Boolean NO (Default)
    - `Kernel HaswellE` Boolean NO (Default)
    - `Apple RTC` Boolean NO (Changed)
    - `Asus AICPUPM` Boolean NO (Default)
    - `Debug` Boolean NO (Default)
    - NOTE: All default values, except `Apple RTC`


    - Clover Configurator, Rt Variables
    - See `Clover Configurator-9-RtVariables.png`

    - `Root/RtVariables` Dictionary
    - `ROM` String `UseMacAddr0` (`ROM`, default value)
    - `MLB` String `` (`MLB`, deleted value)
    - `BooterConfig` String `0x28` (`BooterConfig`, default value)
    - `CsrActiveConfig` String `0x67` (`CsrActiveConfig`, default value)

    - NOTE: All default values, except `MLB`, waschbenzin had value missing in config.plist
    - `ROM` String `UseMacAddr0` (Default)
    - `MLB` String `` (Changed)
    - `BooterConfig` String `0x28` (Default)
    - `CsrActiveConfig` String `0x67` (Default)
    - NOTE: All default values, except `MLB`


    - Clover Configurator, SMBIOS
    - See `Clover Configurator-10-SMBIOS.png`

    - `Root/SMBIOS` Dictionary
    - `Manufacturer` String `Apple Inc.` (`Manufacturer`, default value)

    - NOTE: All default values


    - Clover Configurator, System Parameters
    - See `Clover Configurator-11-System Parameters.png`

    - `Root/SystemParameters` Dictionary
    - `ProductName` String `Detect` (`Inject Kexts`, default value)
    - `InjectSystemID` Boolean YES (`Inject System ID`, default value)

    - `Custom UUID` String `` (Default)
    - `Backlight Level` String `` (Default)
    - `Inject Kexts` String `Detect` (Default)
    - `No Caches` Boolean NO (Default)
    - `Inject System ID` Boolean YES (Default)
    - NOTE: All default values


    @@ -408,59 +384,8 @@ http://mackie100projects.altervista.org/download/
    - After complete, eject the USB drive.


    Step 7a OSX Copy USB Drive to Disk Image and Move to kvm Host
    -------------------------------------------------------------

    - Either dd the USB drive on OSX or use dd on the Linux KVM host, these instructions are for OS X.

    - Plugin the USB drive
    - Find disk:

    ```
    diskutil list
    ```
    ```
    diskutil list
    /dev/disk0 (internal, physical):
    #: TYPE NAME SIZE IDENTIFIER
    0: GUID_partition_scheme *500.3 GB disk0
    1: EFI EFI 209.7 MB disk0s1
    2: Apple_CoreStorage Macintosh HD 499.4 GB disk0s2
    3: Apple_Boot Recovery HD 650.0 MB disk0s3
    /dev/disk1 (internal, virtual):
    #: TYPE NAME SIZE IDENTIFIER
    0: Apple_HFS Macintosh HD +499.0 GB disk1
    Logical Volume on disk0s2
    653675B9-F842-47A2-A6FD-234EFB6B7648
    Unencrypted
    /dev/disk2 (external, physical):
    #: TYPE NAME SIZE IDENTIFIER
    0: GUID_partition_scheme *16.0 GB disk2
    1: EFI EFI 209.7 MB disk2s1
    2: Apple_HFS Install OS X El Capitan 15.7 GB disk2s2
    ```

    - Run `dd`, takes about 10 min on USB 3 device:

    ```
    sudo dd if=/dev/rdisk2 of=./clover-usb-disk.dd bs=1m
    ```

    - Copy to host:

    ```
    scp clover-usb-disk.dd USER@HOST:/home/USER/Downloads
    ```

    - On kvm host

    ```
    sudo mv /home/USER/Downloads/clover-usb-disk.dd /vm/
    ```


    Step 7b Linux Copy USB Drive to Disk Image on kvm Host
    ------------------------------------------------------
    Step 7 Linux Copy USB Drive to Disk Image on kvm Host
    -----------------------------------------------------

    - Either dd the USB drive on OSX or use dd on the Linux KVM host, these instructions are for Linux.

    @@ -498,7 +423,7 @@ Feb 20 14:41:00 kvm2 kernel: [13159.908483] sd 6:0:0:0: [sdb] Attached SCSI remo
    - Run `dd`, takes about 10 min on USB 3 device:

    ```
    sudo dd if=/dev/sdb of=./clover-usb-disk.dd
    sudo dd if=/dev/sdb of=/vm/2016-03-06/clover-usb-disk.dd
    ```


    @@ -508,7 +433,7 @@ Step 8 Create Disk and Set Parameters
    - On Linux kvm host, create a disk image:

    ```
    sudo qemu-img create -f qcow2 /vm/osx-disk0.qcow2 200G
    sudo qemu-img create -f qcow2 /vm/2016-03-06/osx-disk0.qcow2 200G
    ```

    - Ignore MSR readout on host by VM:
    @@ -520,35 +445,40 @@ echo 1 > /sys/module/kvm/parameters/ignore_msrs
    - NOTE: This appears to reset after a hard reboot, may need to be run as part of a script.


    Step X qemu Start
    Step 9 qemu Start
    -----------------

    - NOTE: Due to expired certificates used to sign the installation packages, it is necessary during installation to set the date back and remove the network card. After installation is complete, the time can be set and network card added back.

    - NOTE: Set the `SMB_OSK_VALUE_HERE` with the value from `Step 2 Get Apple SMC osk Value`

    - On Linux kvm host, start qemu:

    ```
    sudo qemu-system-x86_64 \
    \
    -rtc clock=vm,base=2016-01-01T16:01:21 \
    \
    -m 4096 \
    -enable-kvm \
    -cpu core2duo,vendor=GenuineIntel \
    -rtc base=localtime \
    -smbios type=2 \
    -machine q35,accel=kvm,usb=off,vmport=off \
    -bios /vm/osx-ovmf-bios-src-build/bios.bin \
    -bios /vm/2016-03-06/bios.bin \
    -smp 4,sockets=1,cores=2,threads=2 \
    -device isa-applesmc,osk="REDACTED" \
    -device isa-applesmc,osk="SMB_OSK_VALUE_HERE" \
    \
    -device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e \
    -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x1 \
    -device ahci,id=sata0,bus=pci.2,addr=0x5 \
    \
    -drive file=/vm/clover-usb-disk.dd,if=none,id=drive-sata0-0-2,format=raw \
    -drive file=/vm/2016-03-06/clover-usb-disk.dd,if=none,id=drive-sata0-0-2,format=raw \
    -device ide-hd,bus=ide.2,drive=drive-sata0-0-2,id=sata0-0-2,bootindex=1 \
    \
    -drive file=/vm/osx-disk0.qcow2,if=none,media=disk,id=drive-sata0-0-0,format=qcow2 \
    -drive file=/vm/2016-03-06/osx-disk0.qcow2,if=none,media=disk,id=drive-sata0-0-0,format=qcow2 \
    -device ide-hd,bus=sata0.0,drive=drive-sata0-0-0,id=sata0-0-0 \
    \
    -device e1000-82545em,netdev=Mac,mac=52:54:00:00:00:02 -netdev tap,id=Mac \
    \
    -usb \
    -device usb-mouse \
    -device usb-kbd \
    @@ -576,30 +506,15 @@ ssh -L 5910:127.0.0.1:5901 KVM_HOST
    Step 10 Installation
    -------------------

    - NOTE: If you get the error:

    ```
    This copy of the Install OS X El Capitan application can't be verified. It may have been corrupted or tampered with during downloading.
    ```

    - On the 'OS X Utilities' main menu, start the `terminal` app and run the following to set the date in the past:

    ```
    date 0101032116
    ```

    - During install, first use `Disk Utility` to configure the QEMU drive.

    - NOTE: Using vnc to perform the install, there is a frustrating bug with vnc and the OS X installer, the mouse.
    - It is possible to use the Tab key to select and Spacebar to select on most of the inputs, but in some situations
    it becomes a bit of a game to move the mouse in the guest to the button.
    - Don't worry, once installed and connecting over vnc directly to the guest this is not an issue.

    - On restart, be sure to select the "XXXXXXXX" boot option in Clover.

    - Once installed and connecting over vnc directly to the guest this is not an issue.


    Step X Post Installation
    Step 11 Post Installation
    ------------------------

    - `System Preferences`, `Sharing`, enable `Screen Sharing` and set password
  2. gordonturner revised this gist Mar 7, 2016. 1 changed file with 3 additions and 7 deletions.
    10 changes: 3 additions & 7 deletions KVM OSX Guest 10.11 (El Capitan) with Clover.md
    Original file line number Diff line number Diff line change
    @@ -121,6 +121,7 @@ https://sourceforge.net/projects/cloverefiboot/files/latest/download

    - NOTE: 2016-03-06 Current download was `Clover_v2.3k_r3354.zip`

    - Download `Clover_v2.3k_r3354.zip`
    - Unzip `Clover_v2.3k_r3354.zip`
    - Run `Clover_v2.3k_r3354.pkg`
    - Click `Continue` until `Installation Type` screen
    @@ -176,15 +177,10 @@ http://mackie100projects.altervista.org/download/

    - NOTE: 2016-03-06 current version is 4.27.0

    - Download and unzip `CCV.zip`
    - Download `CCV.zip`
    - Unzip `CCV.zip`
    - Run `Clover Configurator.app` and edit: `EFI/EFI/CLOVER/config.plist`

    - If presented with multiple `config.plist` files at the bottom of the app screen, select:

    ```
    EFI/EFI/CLOVER/config.plist
    ```


    - Clover Configurator, Acpi
    - See `Clover Configurator-1-Acpi.png`
  3. gordonturner revised this gist Mar 7, 2016. 1 changed file with 94 additions and 83 deletions.
    177 changes: 94 additions & 83 deletions KVM OSX Guest 10.11 (El Capitan) with Clover.md
    Original file line number Diff line number Diff line change
    @@ -13,12 +13,11 @@ KVM OSX Guest 10.11 (El Capitan) with Clover

    - VM Host Ubuntu 15.10 (x86_64) server
    - Standard kvm, qemu packages installed
    - All updates applied (2016-02-20)
    - VM images and resources in `/vm/`
    - All Ubuntu updates applied (2016-03-06)
    - VM images and resources in `/vm/2016-03-06`

    - Supporting MacBook Air used to create USB keys and perform most of work
    - OSX 10.11.3
    - All updated applied (2016-02-20)
    - Supporting MacBook Air running OSX 10.11.3 used to create USB drive
    - All OSX updated applied (2016-03-06)


    Documentation
    @@ -37,11 +36,10 @@ http://clover-wiki.zetam.org/Configuration
    Screen Resolution
    -----------------

    A quick not about screen resolution.
    A quick note about screen resolution:

    OVMF and Clover screen sizes must match otherwise the screen will appear mangeled or distorted.

    For purposes of these instructions a resolution of 800x600 will be used.
    - OVMF and Clover screen sizes must match otherwise the screen will appear mangeled or distorted.
    - For purposes of these instructions a resolution of 800x600 will be used.

    TODO: Change OVMF and Clover resolutions to 1024x768 or 1280x1024

    @@ -57,11 +55,11 @@ https://gist.github.com/gordonturner/85dcc321d2099d610e67
    Step 2 Get Apple SMC osk Value
    ------------------------------

    - On OS X running on Apple hardare, to get the value please see:
    - On OS X, running on Apple hardare, to get the SMC osk value please see:

    https://gist.github.com/gordonturner/c33bcc935e32f9fa6695

    - NOTE: 2016-02-20 The value appears to be a constant string
    - NOTE: 2016-03-06 The value appears to be a constant string

    - Reference:

    @@ -96,15 +94,15 @@ Step 3 Create Install USB Drive
    - Once partitioning is complete, click `Done`
    - Close Disk Utility

    - For El Capitan, default Application location:
    - For El Capitan, default Application location, run:
    ```
    sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia \
    --volume /Volumes/Untitled \
    --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app \
    --nointeraction
    ```

    - For El Capitan, after Application moved:
    - For El Capitan, if you have moved the `Install OS X El Capitan.app` (which is common to prevent it being deleted) run:
    ```
    export MOVED_LOCATION=~/Documents/Disk\ Images/Apple\ OS\ X/10.11\ El\ Capitan
    sudo "$MOVED_LOCATION"/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia \
    @@ -119,19 +117,18 @@ Step 4: Run Clover on Install USB drive

    - On an Apple computer running OS X, download Clover from:

    http://sourceforge.net/projects/cloverefiboot/files/?source=typ_redirect
    https://sourceforge.net/projects/cloverefiboot/files/latest/download

    - NOTE: 2016-02-20 Current download was `Clover_v2.3k_r3346.pkg`
    - NOTE: 2016-03-06 Current download was `Clover_v2.3k_r3354.zip`

    - Run `Clover_v2.3k_r3346.pkg`
    - Unzip `Clover_v2.3k_r3354.zip`
    - Run `Clover_v2.3k_r3354.pkg`
    - Click `Continue` until `Installation Type` screen
    - On `Installation Type` screen, click `Change Install Location...`
    - On `Destination Select` screen, select the Install USB drive as destination, click `Continue`
    - Back on `Installation Type` screen, click `Customize`
    - On `Custom Install on "..."` screen select `Install for UEFI booting only`
    - This should automatically select `Install Clover in the ESP`
    - This should automatically unselect `Bootloader, Don't update MBR and PBR sectors`
    - This should automatically unselect `CloverEFI, CloverEFI 64-bits SATA`
    - On `Custom Install on "..."` screen, select `Themes, BootCamp` (or your theme of choice)
    - On `Custom Install on "..."` screen, select `Drivers64UEFI, DataHubDxe-64`
    - On `Custom Install on "..."` screen, click `Install`
    @@ -141,17 +138,16 @@ http://sourceforge.net/projects/cloverefiboot/files/?source=typ_redirect
    - Two volumes should be mounted when complete:
    - `EFI`
    - `Install OS X El Capitan`

    - Leave volumes mounted


    Step 5: Download Files
    ----------------------

    - Download `q35-acpi-dsdt.aml` (click `View Raw`):

    https://github.com/qemu/qemu/blob/master/pc-bios/q35-acpi-dsdt.aml
    - Download `q35-acpi-dsdt.aml` (click `View Raw`):

    - 2016-02-20: commit value `385724e7887670e17865d97cd8106a235f113faa`
    https://github.com/qemu/qemu/blob/4f7ab0cdbccfc1d0a3a6d0a7c9a22d8a90d9e2f0/pc-bios/q35-acpi-dsdt.aml

    - Copy to `EFI/CLOVER/ACPI/origin` on USB boot drive:

    @@ -161,9 +157,7 @@ cp ~/Downloads/q35-acpi-dsdt.aml /Volumes/ESP/EFI/CLOVER/ACPI/origin/

    - Download `HFSPlus.efi` (click `View Raw`):

    https://github.com/JrCs/CloverGrowerPro/blob/master/Files/HFSPlus/X64/HFSPlus.efi

    - 2016-02-20: commit value `9fc3991c7a82be1a0d096c3a2179098f35b69264`
    https://github.com/JrCs/CloverGrowerPro/blob/9fc3991c7a82be1a0d096c3a2179098f35b69264/Files/HFSPlus/X64/HFSPlus.efi

    - Copy to `EFI/EFI/CLOVER/drivers64UEFI/` on USB boot drive:

    @@ -178,10 +172,11 @@ Step 6 Run Clover Configurator
    - NOTE: No source, license is unclear, free to use
    - Download:

    http://mackie100projects.altervista.org/
    http://mackie100projects.altervista.org/download/

    - NOTE: 2016-01-16 current version is 4.25.0
    - NOTE: 2016-03-06 current version is 4.27.0

    - Download and unzip `CCV.zip`
    - Run `Clover Configurator.app` and edit: `EFI/EFI/CLOVER/config.plist`

    - If presented with multiple `config.plist` files at the bottom of the app screen, select:
    @@ -209,7 +204,7 @@ EFI/EFI/CLOVER/config.plist
    - `FIX_S3D_2000000` Boolean YES (New way `FIX_S3D`)
    - `FIX_ACST_4000000` Boolean YES (New way `FIX_ACST`)
    - `FixSBUS_0080` Boolean YES (Unclear)
    - `Drop OEM_DSM` Boolean NO (`Drop OEM_DSM`)
    - `` Boolean YES (New way `AddHDMI`

    - NOTE: Not required, remove from config.plist
    - `Root/ACPI/DropTables` Array (Drop Tables)
    @@ -237,18 +232,20 @@ EFI/EFI/CLOVER/config.plist
    - See `Clover Configurator-2-Boot.png`

    - `Root/Boot` Dictionary
    - `Timeout` Number 5 (`Timeout`)
    - `Arguments` String `` (`Custom Flags`)
    - `Debug` Boolean NO (`Debug`)
    - `DefaultLoader` String `boot.efi` (`Default Loader`)

    - NOTE: Uncheck `kext-dev-mode=1` `rootless=0`

    - `DefaultVolume` String `OSX` (`Default Boot Volume`)
    - `Legacy` String `PBR` (`Legacy`)
    - `Secure` Boolean NO (`Secure`)
    - `DefaultLoader` String `boot.efi` (`Default Loader`)
    - `XMPDetection` String YES (`XMPDetection`)

    - NOTE: Uncheck `kext-dev-mode=1` `rootless=0`
    - `Timeout` Number 5 (`Timeout`)
    - `Debug` Boolean NO (`Debug`)

    - `Secure` Boolean NO (`Secure`)


    - Clover Configurator, Cpu
    - See `Clover Configurator-3-Cpu.png`

    @@ -260,13 +257,18 @@ EFI/EFI/CLOVER/config.plist
    - See `Clover Configurator-4-Devices.png`

    - `Root/Devices ` Dictionary
    - `USB` Dictionary
    - `Fake ID` All empty

    - `USB` Dictionary (All unchecked)
    - `Inject` Boolean NO (`USB, Inject`)
    - `Add ClockID` Boolean NO (`USB, Add ClockID`)
    - `FixOwnership` Boolean NO (`USB, FixOwnership`)
    - `ResetHDA` Boolean NO (`USB, ResetHDA`)
    - `HighCurrent` Boolean NO (`USB, HighCurrent`)

    - NOTE: Uncheck `ResetHDA`, set `Audio` to empty, uncheck `Add ClockID`
    - `Audio`
    - `Inject` String `` (`USB, Inject`)
    - `AFGlowPoweredState` Boolean NO (`USB, AFGlowPoweredState`)
    - `ResetHDA` Boolean NO (`USB, ResetHDA`)


    - Clover Configurator, Disabled Devices
    @@ -280,14 +282,14 @@ EFI/EFI/CLOVER/config.plist
    - `Root/Gui ` Dictionary
    - `Mouse` Dictionary
    - `DoubleClick` Number 500 (`Double Click`, default value)
    - `Speed` Number 8 (`Speed`, default value)
    - `Enabled` Boolean NO (`Enabled`, default value)
    - `Mirror` Boolean NO (`Mirror`, default value)
    - `Speed` Number 8 (`Speed`, default value)
    - `Scan` Boolean YES (`Scan`, default value)
    - `ScreenResolution` String `800x600` (`Screen Resolution`, default value)
    - `ScreenResolution` String `800x600` (`Screen Resolution`)
    - `Theme` String `bootcamp` (`Theme`, set from Clover install)

    - NOTE: All default values
    - NOTE: All default values, except ScreenResolution


    - Clover Configurator, Graphics
    @@ -300,20 +302,20 @@ EFI/EFI/CLOVER/config.plist
    - `NVidia` Boolean NO (`Inject NVidia`, default value)
    - `NVidiaSingle` Boolean NO (`Inject NVidiaSingle`, default value)

    - NOTE: All default values
    - NOTE: All default values, nothing selected


    - Clover Configurator, Kernel and Kext Patches
    - See `Clover Configurator-8-Kernel and Kext Patches.png`

    - `Root/KernelAndKextPatches ` Dictionary
    - `AppleRTC` Boolean NO (`Apple RTC`)
    - `AsusAICPUPM` Boolean NO (`Asus AICPUPM`, default value)
    - `Debug` Boolean NO (`Debug`, default value)
    - `KernelCpu` Boolean NO (`Kernel CPU`, default value)
    - `KernelHaswellE` Boolean NO (`Kernel HaswellE`, default value)
    - `KernelLapic` Boolean NO (`Kernel LAPIC`, default value)
    - `KernelPm` Boolean NO (`Kernel Pm`, default value)
    - `KernelHaswellE` Boolean NO (`Kernel HaswellE`, default value)
    - `AppleRTC` Boolean NO (`Apple RTC`, changed)
    - `AsusAICPUPM` Boolean NO (`Asus AICPUPM`, default value)
    - `Debug` Boolean NO (`Debug`, default value)

    - NOTE: All default values, except `Apple RTC`, disable `Apple RTC`

    @@ -331,27 +333,7 @@ EFI/EFI/CLOVER/config.plist


    - Clover Configurator, SMBIOS


    - See `Clover Configurator-10-SMBIOS.png`

    - `Root/SMBIOS` Dictionary
    - `ProductName` String `MacPro2,1` (`Product Name`)
    - `Family` String `Mac Pro` (`Family`)
    - `Manufacturer` String `Apple Inc.` (`Manufacturer`, default value)
    - `BiosReleaseDate` String `07/02/07` (`Bios Release Date`)
    - `BiosVendor` String `Apple Inc.` (`Bios Vendor`)
    - `Version` String `1.0` (`Version`)
    - `ChassisManufacturer` String `Apple Inc.` (`Chassis Manufacturer`)
    - `ChassisAssetTag` String `Pro-Enclosure` (`Chassis Asset Tag`)
    - `ChassisType` String `06` (`Chassis Type`)
    - `BoardType` Number `11` (`BoardType`)
    - `BoardManufacturer` String `Apple Inc.` (`Board Manufacturer`)
    - `Trust` Boolean NO (`Trust`, default value)

    - NOTE: MacPro2,1 corresponds to the original Mac Pro:

    http://www.everymac.com/systems/apple/mac_pro/specs/mac-pro-eight-core-3.0-specs.html
    - See `Clover Configurator-10-SMBIOS.png`

    - `Root/SMBIOS` Dictionary
    - `Manufacturer` String `Apple Inc.` (`Manufacturer`, default value)
    @@ -368,6 +350,7 @@ EFI/EFI/CLOVER/config.plist

    - NOTE: All default values


    - Save and exit Clover Configrator

    - Manually edit `EFI/EFI/CLOVER/config.plist`:
    @@ -426,24 +409,11 @@ EFI/EFI/CLOVER/config.plist
    <string>-v</string>
    ```

    - Remove BusSpeedkHz (Root/CPU/BusSpeedkHz)
    - Keep cpu qemu, confirm YES (Root/CPU/QEMU Boolean YES)

    - Edit ScreenResolution to 800x600:

    ```
    <key>GUI</key>
    <dict>
    [...]
    <key>ScreenResolution</key>
    <string>800x600</string>
    ```

    - After complete, eject the USB drive.


    Step 7a OSX Copy USB Drive to Disk Image and to kvm Host
    --------------------------------------------------------
    Step 7a OSX Copy USB Drive to Disk Image and Move to kvm Host
    -------------------------------------------------------------

    - Either dd the USB drive on OSX or use dd on the Linux KVM host, these instructions are for OS X.

    @@ -493,8 +463,8 @@ sudo mv /home/USER/Downloads/clover-usb-disk.dd /vm/
    ```


    Step 7b OSX Copy USB Drive to Disk Image and to kvm Host
    --------------------------------------------------------
    Step 7b Linux Copy USB Drive to Disk Image on kvm Host
    ------------------------------------------------------

    - Either dd the USB drive on OSX or use dd on the Linux KVM host, these instructions are for Linux.

    @@ -610,6 +580,18 @@ ssh -L 5910:127.0.0.1:5901 KVM_HOST
    Step 10 Installation
    -------------------

    - NOTE: If you get the error:

    ```
    This copy of the Install OS X El Capitan application can't be verified. It may have been corrupted or tampered with during downloading.
    ```

    - On the 'OS X Utilities' main menu, start the `terminal` app and run the following to set the date in the past:

    ```
    date 0101032116
    ```

    - During install, first use `Disk Utility` to configure the QEMU drive.

    - NOTE: Using vnc to perform the install, there is a frustrating bug with vnc and the OS X installer, the mouse.
    @@ -620,6 +602,7 @@ Step 10 Installation
    - On restart, be sure to select the "XXXXXXXX" boot option in Clover.



    Step X Post Installation
    ------------------------

    @@ -629,6 +612,26 @@ Step X Post Installation

    - Connect to the guest directly, rather then through the host.






















    EFI Disk Image Manipulation
    ---------------------------
    @@ -736,3 +739,11 @@ Number Start End Size File system Name Flags
    1 20.5kB 210MB 210MB fat32 EFI System Partition boot, esp
    2 210MB 15.9GB 15.7GB hfs+ Untitled
    ```


    Verify Disk
    -----------

    ```
    hdiutil verify Install\ OS\ X\ El\ Capitan.app/Contents/SharedSupport/InstallESD.dmg
    ```
  4. gordonturner revised this gist Feb 23, 2016. 1 changed file with 373 additions and 115 deletions.
    488 changes: 373 additions & 115 deletions KVM OSX Guest 10.11 (El Capitan) with Clover.md
    Original file line number Diff line number Diff line change
    @@ -73,18 +73,21 @@ Step 3 Create Install USB Drive

    - On an Apple computer running OS X, create install USB drive.

    - Run Disk Utilty
    - Select the USB device (not a partition of the device) in the left pane
    - Run `Disk Utilty`

    - If on 10.11 or later:
    - Click `Partition` tab, ensure there is a single partition
    - Set Name to `Untitled`, Format to `OS X Extended (Journaled)`
    - Click `Apply` button
    - Select the USB device (not a partition of the device) in the left pane
    - Click `Partition` tab, ensure there is a single partition, click `Cancel` or create single partition
    - With the USB device selected, click `Erase`
    - Set Name to `Untitled`, Format to `OS X Extended (Journaled)`, Scheme to `GUID Partition Map`
    - Click `Erase` button
    - Confirm `Partition Map` is set to `GUID Partition Map`

    - If on 10.10 or earler, confirm `Partition Map` is set to `GUID Partition Map`
    - If on 10.10 or earler:
    - Select the USB device (not a partition of the device) in the left pane
    - Click `Partition` tab
    - In `Partition Layout`, select `1 Partition` in the
    - In `Partition Layout`, select `1 Partition`
    - Confirm `Partition Map` is set to `GUID Partition Map`
    - Click `Options` button, select `GUID Partition Table`, click OK
    - Change Name to `Untitled`
    - Change Format type to `Mac OS Extended (Journaled)`
    @@ -101,11 +104,12 @@ sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinst
    --nointeraction
    ```

    - For El Capitan, after Application moved and renamed:
    - For El Capitan, after Application moved:
    ```
    sudo /Users/USERNAME/Documents/Disk\ Images/Apple\ OS\ X/10.11\ El\ Capitan/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia \
    export MOVED_LOCATION=~/Documents/Disk\ Images/Apple\ OS\ X/10.11\ El\ Capitan
    sudo "$MOVED_LOCATION"/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia \
    --volume /Volumes/Untitled \
    --applicationpath /Users/USERNAME/Documents/Disk\ Images/Apple\ OS\ X/10.11\ El\ Capitan/Install\ OS\ X\ El\ Capitan.app \
    --applicationpath "$MOVED_LOCATION"/Install\ OS\ X\ El\ Capitan.app \
    --nointeraction
    ```

    @@ -117,9 +121,9 @@ Step 4: Run Clover on Install USB drive

    http://sourceforge.net/projects/cloverefiboot/files/?source=typ_redirect

    - NOTE: 2016-01-10 Current download was `Clover_v2.3k_r3330.pkg`
    - NOTE: 2016-02-20 Current download was `Clover_v2.3k_r3346.pkg`

    - Run `Clover_v2.3k_r3330.pkg`
    - Run `Clover_v2.3k_r3346.pkg`
    - Click `Continue` until `Installation Type` screen
    - On `Installation Type` screen, click `Change Install Location...`
    - On `Destination Select` screen, select the Install USB drive as destination, click `Continue`
    @@ -129,6 +133,7 @@ http://sourceforge.net/projects/cloverefiboot/files/?source=typ_redirect
    - This should automatically unselect `Bootloader, Don't update MBR and PBR sectors`
    - This should automatically unselect `CloverEFI, CloverEFI 64-bits SATA`
    - On `Custom Install on "..."` screen, select `Themes, BootCamp` (or your theme of choice)
    - On `Custom Install on "..."` screen, select `Drivers64UEFI, DataHubDxe-64`
    - On `Custom Install on "..."` screen, click `Install`
    - Install should take about 3 min on USB 3 device
    - When complete, click `Close`
    @@ -139,24 +144,36 @@ http://sourceforge.net/projects/cloverefiboot/files/?source=typ_redirect
    - Leave volumes mounted


    Step 5.1 Configure Clover
    -------------------------
    Step 5: Download Files
    ----------------------

    - Download `q35-acpi-dsdt.aml` and copy to `EFI/EFI/CLOVER/ACPI/origin` on USB boot drive:
    - Download `q35-acpi-dsdt.aml` (click `View Raw`):

    https://github.com/qemu/qemu/blob/master/pc-bios/q35-acpi-dsdt.aml

    - Download `HFSPlus.efi` and copy to `EFI/EFI/CLOVER/drivers64UEFI/` on USB boot drive:
    - 2016-02-20: commit value `385724e7887670e17865d97cd8106a235f113faa`

    https://github.com/JrCs/CloverGrowerPro/blob/master/Files/HFSPlus/X64/HFSPlus.efi?raw=true
    - Copy to `EFI/CLOVER/ACPI/origin` on USB boot drive:

    ```
    cp ~/Downloads/q35-acpi-dsdt.aml /Volumes/ESP/EFI/CLOVER/ACPI/origin/
    ```

    Step 5.2 Run Clover Configurator
    --------------------------------
    - Download `HFSPlus.efi` (click `View Raw`):

    - NOTE: Screnshots of Clover Configurator:
    https://github.com/JrCs/CloverGrowerPro/blob/master/Files/HFSPlus/X64/HFSPlus.efi

    http://downloads.gordonturner.ca/clover/
    - 2016-02-20: commit value `9fc3991c7a82be1a0d096c3a2179098f35b69264`

    - Copy to `EFI/EFI/CLOVER/drivers64UEFI/` on USB boot drive:

    ```
    cp ~/Downloads/HFSPlus.efi /Volumes/ESP/EFI/CLOVER/drivers64UEFI/
    ```


    Step 6 Run Clover Configurator
    --------------------------------

    - NOTE: No source, license is unclear, free to use
    - Download:
    @@ -167,52 +184,60 @@ http://mackie100projects.altervista.org/

    - Run `Clover Configurator.app` and edit: `EFI/EFI/CLOVER/config.plist`

    - If presented with multiple `config.plist` files at the bottom of the app screen, select:

    ```
    EFI/EFI/CLOVER/config.plist
    ```


    - Clover Configurator, Acpi
    - See `Clover Configurator-1-Acpi.png`

    - `Root/ACPI/DSDT` Dictionary
    - `Debug` Boolean YES (`Debug`)
    - `Drop OEM_DSM` Boolean NO (`Drop OEM_DSM`)
    - `Name` String q35-acpi-dsdt.aml (`DSDT name`)
    - `ReuseFFFF` Boolean NO (`ReuseFFFF`)
    - `Fixes` Dictionary
    - `AddPNLF_1000000` Boolean YES (New way `AddPNLF`)
    - `NewWay_80000000` Boolean YES (New way `NewWay`)
    - `FixRegions_10000000` Boolean YES (New way `FixRegions`)
    - `FIX_RTC_20000` Boolean YES (New way `FIX_RTC`)
    - `FiX_TMR_40000` Boolean YES (New way `FIX_TMR`)
    - `DeleteUnused_400000` Boolean YES (New way `DeleteUnused`)
    - `FIX_ACST_4000000` Boolean YES (New way `FIX_ACST`)
    - `FIX_ADP1_800000` Boolean YES (New way `FIX_ADP1`)
    - `FIX_RTC_20000` Boolean YES (New way `FIX_RTC`)
    - `AddPNLF_1000000` Boolean YES (New way `AddPNLF`)
    - `FIX_S3D_2000000` Boolean YES (New way `FIX_S3D`)
    - `FiX_TMR_40000` Boolean YES (New way `FIX_TMR`)
    - `FixRegions_10000000` Boolean YES (New way `FixRegions`)
    - `FIX_ACST_4000000` Boolean YES (New way `FIX_ACST`)
    - `FixSBUS_0080` Boolean YES (Unclear)
    - `NewWay_80000000` Boolean YES (New way `NewWay`)

    - `Root/ACPI/DropTables` Array (Drop Tables)
    - `Item0` Dictionary (`Signature*, Type/key, String/Number`)
    - `Signature` String `SSDT` (`SSDT, TableId, CpuPm`)
    - `TableId` String `CpuPm`
    - `Drop OEM_DSM` Boolean NO (`Drop OEM_DSM`)

    - NOTE: Not required, remove from config.plist
    - `Root/ACPI/DropTables` Array (Drop Tables)
    - `Item0` Dictionary (`Signature*, Type/key, String/Number`)
    - `Signature` String `SSDT` (`SSDT, TableId, CpuPm`)
    - `TableId` String `CpuPm`

    - `Item1` Dictionary (`Signature*, Type/key, String/Number`)
    - `Signature` String `DMAR` (`DMAR, ,`)
    - `Item1` Dictionary (`Signature*, Type/key, String/Number`)
    - `Signature` String `DMAR` (`DMAR, ,`)

    - `Item2` Dictionary (`Signature*, Type/key, String/Number`)
    - `Signature` String `SSDT` (`SSDT, TableId, Cpu0Ist`)
    - `TableId` String `Cpu0Ist`
    - `Item2` Dictionary (`Signature*, Type/key, String/Number`)
    - `Signature` String `SSDT` (`SSDT, TableId, Cpu0Ist`)
    - `TableId` String `Cpu0Ist`

    - `Root/ACPI/SSDT` Dictionary
    - `DropOem` Boolean NO (`Drop OEM`)
    - `Generate` Boolean NO (Unclear `Generate PStates`)

    - `Root/ACPI/SSDT` Dictionary
    - `DropOem` Boolean NO (`Drop OEM`)
    - `Generate` Boolean NO (Unclear `Generate PStates`)
    Boolean NO (Unclear `Generate CSates`)
    - `MaxMultiplier` Number 40 (`Min Multiplier`)
    - `MinMultiplier` Number 40 (`Max Multiplier`)
    - NOTE: Not required, remove from config.plist
    - `MaxMultiplier` Number 40 (`Min Multiplier`)
    - `MinMultiplier` Number 40 (`Max Multiplier`)


    - Clover Configurator, Boot
    - See `Clover Configurator-2-Boot.png`

    - `Root/Boot ` Dictionary
    - `Timeout` Number 0 (`Timeout`)
    - `Root/Boot` Dictionary
    - `Timeout` Number 5 (`Timeout`)
    - `Arguments` String `` (`Custom Flags`)
    - `Debug` Boolean NO (`Debug`)
    - `DefaultLoader` String `boot.efi` (`Default Loader`)
    @@ -228,7 +253,6 @@ http://mackie100projects.altervista.org/
    - See `Clover Configurator-3-Cpu.png`

    - `Root/Cpu ` Dictionary
    - `BusSpeedkHz` Number 1,000,000 (`Bus Speed kHz`)
    - `QEMU` Boolean YES (`QEMU`)


    @@ -237,8 +261,10 @@ http://mackie100projects.altervista.org/

    - `Root/Devices ` Dictionary
    - `USB` Dictionary
    - `FixOwnership` Boolean NO (`USB, Inject`)
    - `Inject` Boolean NO (`USB, FixOwnership`)
    - `Inject` Boolean NO (`USB, Inject`)
    - `Add ClockID` Boolean NO (`USB, Add ClockID`)
    - `FixOwnership` Boolean NO (`USB, FixOwnership`)
    - `ResetHDA` Boolean NO (`USB, ResetHDA`)

    - NOTE: Uncheck `ResetHDA`, set `Audio` to empty, uncheck `Add ClockID`

    @@ -258,7 +284,7 @@ http://mackie100projects.altervista.org/
    - `Mirror` Boolean NO (`Mirror`, default value)
    - `Speed` Number 8 (`Speed`, default value)
    - `Scan` Boolean YES (`Scan`, default value)
    - `ScreenResolution` String `1280x1024` (`Screen Resolution`, default value)
    - `ScreenResolution` String `800x600` (`Screen Resolution`, default value)
    - `Theme` String `bootcamp` (`Theme`, set from Clover install)

    - NOTE: All default values
    @@ -289,41 +315,48 @@ http://mackie100projects.altervista.org/
    - `KernelLapic` Boolean NO (`Kernel LAPIC`, default value)
    - `KernelPm` Boolean NO (`Kernel Pm`, default value)

    - NOTE: All default values, except `Apple RTC`, disable `Apple RTC` must be disabled
    - NOTE: All default values, except `Apple RTC`, disable `Apple RTC`


    - Clover Configurator, Rt Variables
    - See `Clover Configurator-9-RtVariables.png`

    - `Root/RtVariables` Dictionary
    - `ROM` String `UseMacAddr0` (`ROM`, default value)
    - `MLB` String `` (`MLB`, deleted value)
    - `BooterConfig` String `0x28` (`BooterConfig`, default value)
    - `CsrActiveConfig` String `0x67` (`CsrActiveConfig`, default value)
    - `MLB` String `` (`MLB`, deleted value)
    - `ROM` String `UseMacAddr0` (`ROM`, default value)

    - NOTE: All default values, except `MLB`, waschbenzin had value missing in config.plist


    - Clover Configurator, SMBIOS
    - See `Clover Configurator-10-SMBIOS.png`


    - See `Clover Configurator-10-SMBIOS.png`

    - `Root/SMBIOS` Dictionary
    - `ProductName` String `MacPro2,1` (`Product Name`)
    - `Family` String `Mac Pro` (`Family`)
    - `Manufacturer` String `Apple Inc.` (`Manufacturer`, default value)
    - `BiosReleaseDate` String `07/02/07` (`Bios Release Date`)
    - `BiosVendor` String `Apple Inc.` (`Bios Vendor`)
    - `Version` String `1.0` (`Version`)
    - `ChassisManufacturer` String `Apple Inc.` (`Chassis Manufacturer`)
    - `ChassisAssetTag` String `Pro-Enclosure` (`Chassis Asset Tag`)
    - `ChassisType` String `06` (`Chassis Type`)
    - `BoardType` Number `11` (`BoardType`)
    - `BoardManufacturer` String `Apple Inc.` (`Board Manufacturer`)
    - `Trust` Boolean NO (`Trust`, default value)

    - NOTE: MacPro2,1 corresponds to the original Mac Pro:

    http://www.everymac.com/systems/apple/mac_pro/specs/mac-pro-eight-core-3.0-specs.html

    - `Root/SMBIOS` Dictionary
    - `ProductName` String `MacPro2,1` (`Product Name`)
    - `Family` String `Mac Pro` (`Family`)
    - `Manufacturer` String `Apple Inc.` (`Manufacturer`, default value)
    - `BiosReleaseDate` String `07/02/07` (`Bios Release Date`)
    - `BiosVendor` String `Apple Inc.` (`Bios Vendor`)
    - `Version` String `1.0` (`Version`)
    - `ChassisManufacturer` String `Apple Inc.` (`Chassis Manufacturer`)
    - `ChassisAssetTag` String `Pro-Enclosure` (`Chassis Asset Tag`)
    - `ChassisType` String `06` (`Chassis Type`)
    - `BoardType` Number `11` (`BoardType`)
    - `BoardManufacturer` String `Apple Inc.` (`Board Manufacturer`)
    - `Trust` Boolean NO (`Trust`, default value)

    - NOTE: MacPro2,1 corresponds to the original Mac Pro:

    http://www.everymac.com/systems/apple/mac_pro/specs/mac-pro-eight-core-3.0-specs.html
    - NOTE: All default values


    - Clover Configurator, System Parameters
    @@ -337,12 +370,84 @@ http://www.everymac.com/systems/apple/mac_pro/specs/mac-pro-eight-core-3.0-specs

    - Save and exit Clover Configrator

    - Manually edit `EFI/EFI/CLOVER/config.plist`:

    - Paste into `Root/ACPI`:

    ```
    <key>ACPI</key>
    <dict>
    <key>DSDT</key>
    <dict>
    <key>Debug</key>
    <false/>
    <key>DropOEM_DSM</key>
    <false/>
    <key>Fixes</key>
    <dict>
    <key>AddPNLF_1000000</key>
    <true/>
    <key>DeleteUnused_400000</key>
    <true/>
    <key>FIX_ACST_4000000</key>
    <true/>
    <key>FIX_ADP1_800000</key>
    <true/>
    <key>FIX_RTC_20000</key>
    <true/>
    <key>FIX_S3D_2000000</key>
    <true/>
    <key>FiX_TMR_40000</key>
    <true/>
    <key>FixRegions_10000000</key>
    <true/>
    <key>FixSBUS_0080</key>
    <true/>
    </dict>
    <key>Name</key>
    <string>q35-acpi-dsdt.aml</string>
    <key>ReuseFFFF</key>
    <false/>
    </dict>
    <key>SSDT</key>
    <dict>
    <key>DropOem</key>
    <false/>
    <key>Generate</key>
    <false/>
    </dict>
    </dict>
    ```

    ```
    <key>Boot</key>
    <dict>
    <key>Arguments</key>
    <string>-v</string>
    ```

    Step 6.1 Copy USB Drive to Disk Image
    -----------------------------------
    - Remove BusSpeedkHz (Root/CPU/BusSpeedkHz)
    - Keep cpu qemu, confirm YES (Root/CPU/QEMU Boolean YES)

    - Copy the USB disk to a raw disk image.
    - Edit ScreenResolution to 800x600:

    ```
    <key>GUI</key>
    <dict>
    [...]
    <key>ScreenResolution</key>
    <string>800x600</string>
    ```

    - After complete, eject the USB drive.


    Step 7a OSX Copy USB Drive to Disk Image and to kvm Host
    --------------------------------------------------------

    - Either dd the USB drive on OSX or use dd on the Linux KVM host, these instructions are for OS X.

    - Plugin the USB drive
    - Find disk:

    ```
    @@ -369,18 +474,16 @@ diskutil list
    2: Apple_HFS Install OS X El Capitan 15.7 GB disk2s2
    ```

    - Run `dd`:
    - Run `dd`, takes about 10 min on USB 3 device:

    ```
    sudo dd if=/dev/rdisk2 of=./clover-usb-disk.dd bs=1m
    ```


    Step 6.2 Copy Disk Image to kvm Host
    ----------------------------------
    - Copy to host:

    ```
    scp clover-usb-disk.dd USER@kvm2:/home/USER/Downloads
    scp clover-usb-disk.dd USER@HOST:/home/USER/Downloads
    ```

    - On kvm host
    @@ -390,13 +493,56 @@ sudo mv /home/USER/Downloads/clover-usb-disk.dd /vm/
    ```


    Step 7 Create Disk and Set Parameters
    Step 7b OSX Copy USB Drive to Disk Image and to kvm Host
    --------------------------------------------------------

    - Either dd the USB drive on OSX or use dd on the Linux KVM host, these instructions are for Linux.

    - Login to KVM host and run tail on the kernel log to determine device name:

    ```
    tail -f /var/log/kern.log
    ```

    - Plugin the USB drive
    - Observe the device name:

    ```
    Feb 20 14:40:58 kvm2 kernel: [13158.166032] usb 4-1.4: new high-speed USB device number 7 using ehci-pci
    Feb 20 14:40:58 kvm2 kernel: [13158.261978] usb 4-1.4: New USB device found, idVendor=05dc, idProduct=a833
    Feb 20 14:40:58 kvm2 kernel: [13158.261984] usb 4-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    Feb 20 14:40:58 kvm2 kernel: [13158.261989] usb 4-1.4: Product: USB Flash Drive
    Feb 20 14:40:58 kvm2 kernel: [13158.261992] usb 4-1.4: Manufacturer: Lexar
    Feb 20 14:40:58 kvm2 kernel: [13158.261995] usb 4-1.4: SerialNumber: AA7OY8PQBU1UVGRJ
    Feb 20 14:40:58 kvm2 kernel: [13158.329307] usb-storage 4-1.4:1.0: USB Mass Storage device detected
    Feb 20 14:40:58 kvm2 kernel: [13158.329475] scsi host6: usb-storage 4-1.4:1.0
    Feb 20 14:40:58 kvm2 kernel: [13158.329639] usbcore: registered new interface driver usb-storage
    Feb 20 14:40:58 kvm2 kernel: [13158.345857] usbcore: registered new interface driver uas
    Feb 20 14:41:00 kvm2 kernel: [13159.878847] scsi 6:0:0:0: Direct-Access Lexar USB Flash Drive 1100 PQ: 0 ANSI: 6
    Feb 20 14:41:00 kvm2 kernel: [13159.879522] sd 6:0:0:0: Attached scsi generic sg1 type 0
    Feb 20 14:41:00 kvm2 kernel: [13159.881104] sd 6:0:0:0: [sdb] 31285248 512-byte logical blocks: (16.0 GB/14.9 GiB)
    Feb 20 14:41:00 kvm2 kernel: [13159.882187] sd 6:0:0:0: [sdb] Write Protect is off
    Feb 20 14:41:00 kvm2 kernel: [13159.882190] sd 6:0:0:0: [sdb] Mode Sense: 22 00 00 00
    Feb 20 14:41:00 kvm2 kernel: [13159.883331] sd 6:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
    Feb 20 14:41:00 kvm2 kernel: [13159.902183] sdb: sdb1 sdb2
    Feb 20 14:41:00 kvm2 kernel: [13159.908483] sd 6:0:0:0: [sdb] Attached SCSI removable disk
    ```

    - In this example `sdb` is the device
    - Run `dd`, takes about 10 min on USB 3 device:

    ```
    sudo dd if=/dev/sdb of=./clover-usb-disk.dd
    ```


    Step 8 Create Disk and Set Parameters
    -------------------------------------

    - On Linux kvm host, create a disk image:

    ```
    sudo qemu-img create -f qcow2 /vm/demo1-disk0.qcow2 200G
    sudo qemu-img create -f qcow2 /vm/osx-disk0.qcow2 200G
    ```

    - Ignore MSR readout on host by VM:
    @@ -405,28 +551,43 @@ sudo su -
    echo 1 > /sys/module/kvm/parameters/ignore_msrs
    ```

    - NOTE: This appears to reset after a hard reboot, may need to be run as part of a script.


    Step 8 qemu Start
    Step X qemu Start
    -----------------

    - On Linux kvm host, start qemu:

    ```
    cd /vm/
    sudo qemu-system-x86_64 \
    -m 2048 \
    -m 4096 \
    -enable-kvm \
    -cpu core2duo \
    -M q35 \
    -cpu core2duo,vendor=GenuineIntel \
    -rtc base=localtime \
    -smbios type=2 \
    -machine q35,accel=kvm,usb=off,vmport=off \
    -bios /vm/osx-ovmf-bios-src-build/bios.bin \
    -device ahci,id=hdbus,bus=pcie.0 \
    -device ide-drive,bus=hdbus.0,drive=Clover \
    -drive id=Clover,if=none,file=/vm/clover-usb-disk.dd,format=raw \
    -device ide-drive,bus=hdbus.1,drive=MacOSX \
    -drive id=MacOSX,if=none,file=/vm/demo1-disk0.qcow2,format=raw \
    -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" \
    -usb -device usb-kbd -device usb-mouse \
    -smp 4,sockets=1,cores=2,threads=2 \
    -device isa-applesmc,osk="REDACTED" \
    \
    -device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e \
    -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x1 \
    -device ahci,id=sata0,bus=pci.2,addr=0x5 \
    \
    -drive file=/vm/clover-usb-disk.dd,if=none,id=drive-sata0-0-2,format=raw \
    -device ide-hd,bus=ide.2,drive=drive-sata0-0-2,id=sata0-0-2,bootindex=1 \
    \
    -drive file=/vm/osx-disk0.qcow2,if=none,media=disk,id=drive-sata0-0-0,format=qcow2 \
    -device ide-hd,bus=sata0.0,drive=drive-sata0-0-0,id=sata0-0-0 \
    \
    -device e1000-82545em,netdev=Mac,mac=52:54:00:00:00:02 -netdev tap,id=Mac \
    \
    -usb \
    -device usb-mouse \
    -device usb-kbd \
    -serial stdio \
    -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vgamem_mb=16 \
    -vnc :1
    ```

    @@ -446,35 +607,132 @@ ssh -L 5910:127.0.0.1:5901 KVM_HOST
    - At Clover boot screen, choose `Boot OS X Install from OS X Install OS X El Capitan`


    Step 10 Installation
    -------------------

    - During install, first use `Disk Utility` to configure the QEMU drive.

    - NOTE: Using vnc to perform the install, there is a frustrating bug with vnc and the OS X installer, the mouse.
    - It is possible to use the Tab key to select and Spacebar to select on most of the inputs, but in some situations
    it becomes a bit of a game to move the mouse in the guest to the button.
    - Don't worry, once installed and connecting over vnc directly to the guest this is not an issue.

    - On restart, be sure to select the "XXXXXXXX" boot option in Clover.


    Step X Post Installation
    ------------------------

    - `System Preferences`, `Sharing`, enable `Screen Sharing` and set password
    - `System Preferences`, `Energy Saving`, `Computer sleep` set to `Never`
    - `System Preferences`, `Energy Saving`, `Display sleep` set to `Never`

    - Connect to the guest directly, rather then through the host.


    EFI Disk Image Manipulation
    ---------------------------

    - Rather then constantly editing the USB drive then dd'ing and copying the image around, it is possible to directly edit the disk image

    - First, create a mount points, this step only has to happen once:

    ```
    sudo mkdir /media/loop
    sudo mkdir /media/efi
    ```

    - Run fdisk to determine the offset of the efi partition:

    ```
    parted /vm/clover-usb-disk.dd
    WARNING: You are not superuser. Watch out for permissions.
    GNU Parted 3.2
    Using /vm/clover-usb-disk.dd
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) unit
    Unit? [compact]? B
    (parted) print
    Model: (file)
    Disk /vm/clover-usb-disk.dd: 16018046976B
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    Number Start End Size File system Name Flags
    1 20480B 209735679B 209715200B fat32 EFI System Partition boot, esp
    2 209735680B 15883808767B 15674073088B hfs+ Untitled
    ```

    - NOTE: The offset, in this case `20480`

    - Next, mount the `EFI System Partition`:

    ```
    sudo mount -o rw,loop,offset=20480 /vm/clover-usb-disk.dd /media/loop
    ```

    - Error, black screen on VNC and this is printed out on the console:
    - Make changes, ie to edit `config.plist`:

    ```
    Boot Failed. EFI Floppy
    Boot Failed. EFI Floppy 1
    KVM internal error. Suberror: 1
    emulation failure
    RAX=0000000000000000 RBX=000000007dd22018 RCX=0000000000000000 RDX=000000007e377e60
    RSI=000000007e377e60 RDI=0000000000007297 RBP=000000007e3665b2 RSP=000000007ff5b7c8
    R8 =000000007e37d4c0 R9 =0000000000000004 R10=000000007e336ffc R11=000000007ee4d2af
    R12=000000007ee4a018 R13=000000007e36dff9 R14=000000007e33c98f R15=000000007e34d87b
    RIP=00000000000b0000 RFL=00010246 [---Z-P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
    ES =0030 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
    CS =0038 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]
    SS =0030 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
    DS =0030 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
    FS =0030 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
    GS =0030 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
    LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT
    TR =0000 0000000000000000 0000ffff 00008b00 DPL=0 TSS64-busy
    GDT= 000000007fed8f18 00000047
    IDT= 000000007f7e6018 00000fff
    CR0=80000033 CR2=0000000000000000 CR3=000000007fefa000 CR4=00000668
    DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000
    DR6=00000000ffff0ff0 DR7=0000000000000400
    EFER=0000000000000500
    Code=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <ff> ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
    sudo vi /media/loop/EFI/CLOVER/config.plist
    ```

    - Unmount the partition:

    ```
    sudo umount /media/loop
    ```

    - Reference:
    http://www.andremiller.net/content/mounting-hard-disk-image-including-partitions-using-linux
    https://major.io/2010/12/14/mounting-a-raw-partition-file-made-with-dd-or-dd_rescue-in-linux/


    Using `fdisk`
    -------------

    - Run fdisk to determine the offset of the efi partition:

    ```
    fdisk -l /vm/clover-usb-disk.dd
    ```

    - Output:

    ```
    Disk /vm/clover-usb-disk.dd: 14.9 GiB, 16018046976 bytes, 31285248 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: gpt
    Disk identifier: 2FAED1FF-5343-4827-8FD8-5477D188EA2D
    Device Start End Sectors Size Type
    /vm/clover-usb-disk.dd1 40 409639 409600 200M EFI System
    /vm/clover-usb-disk.dd2 409640 31023063 30613424 14.6G Apple HFS/HFS+
    ```


    Using `parted`
    --------------

    - FYI, possible to run `parted` on the disk image too:

    ```
    sudo parted /vm/clover-usb-disk.dd print
    ```

    - Output:

    ```
    Model: (file)
    Disk /vm/clover-usb-disk.dd: 16.0GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    Number Start End Size File system Name Flags
    1 20.5kB 210MB 210MB fat32 EFI System Partition boot, esp
    2 210MB 15.9GB 15.7GB hfs+ Untitled
    ```
  5. gordonturner revised this gist Feb 20, 2016. 1 changed file with 34 additions and 11 deletions.
    45 changes: 34 additions & 11 deletions KVM OSX Guest 10.11 (El Capitan) with Clover.md
    Original file line number Diff line number Diff line change
    @@ -1,12 +1,24 @@
    KVM OSX Guest 10.11 (El Capitan) with Clover
    ============================================

    - Ubuntu 15.10
    - kvm and qemu packages installed
    - Some notes about this approach:
    - An OSX Installer USB drive for `Install OS X El Capitan` is created
    - Clover is then installed on the USB drive
    - Clover Configurator is then run on the USB drive
    - The USB drive contents are copied to the VM host
    - VNC is used to connect to the guest UI
    - The qxl virtual video device is used (part of the standard kvm qemu install)
    - No video card PCI passthrough is used
    - At then of the install OSX Screen Sharing is turned on

    - VM Host Ubuntu 15.10 (x86_64) server
    - Standard kvm, qemu packages installed
    - All updates applied (2016-02-20)
    - VM images and resources in `/vm/`

    - This approach uses a USB drive with the OSX Installer and Clover passed through from the kvm host to guest
    - This approach also uses VNC to connect to the guest UI and no PCI passed through video card
    - Supporting MacBook Air used to create USB keys and perform most of work
    - OSX 10.11.3
    - All updated applied (2016-02-20)


    Documentation
    @@ -22,11 +34,21 @@ http://wiki.qemu.org/download/qemu-doc.html
    http://clover-wiki.zetam.org/Configuration


    Screen Resolution
    -----------------

    A quick not about screen resolution.

    OVMF and Clover screen sizes must match otherwise the screen will appear mangeled or distorted.

    For purposes of these instructions a resolution of 800x600 will be used.

    TODO: Change OVMF and Clover resolutions to 1024x768 or 1280x1024


    Step 1 OVMF
    -----------

    - NOTE: 2016-01-09 version linked from http://www.tianocore.org/ovmf/ is not current and shout not be used

    - On Linux kvm host, build OVMF, please see:

    https://gist.github.com/gordonturner/85dcc321d2099d610e67
    @@ -35,14 +57,15 @@ https://gist.github.com/gordonturner/85dcc321d2099d610e67
    Step 2 Get Apple SMC osk Value
    ------------------------------

    - On an Apple computer running OS X, SMC osk value.
    - See:
    - On OS X running on Apple hardare, to get the value please see:

    http://www.osxbook.com/book/bonus/chapter7/tpmdrmmyth/
    https://gist.github.com/gordonturner/c33bcc935e32f9fa6695

    https://bbs.archlinux.org/viewtopic.php?id=162768
    - NOTE: 2016-02-20 The value appears to be a constant string

    - NOTE: 2016-01-09 The value appears to be a constant string
    - Reference:

    http://www.osxbook.com/book/bonus/chapter7/tpmdrmmyth/


    Step 3 Create Install USB Drive
  6. gordonturner revised this gist Jan 16, 2016. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion KVM OSX Guest 10.11 (El Capitan) with Clover.md
    Original file line number Diff line number Diff line change
    @@ -373,7 +373,7 @@ Step 7 Create Disk and Set Parameters
    - On Linux kvm host, create a disk image:

    ```
    sudo qemu-img create -f qcow2 /vm/osx-disk0.qcow2 200G
    sudo qemu-img create -f qcow2 /vm/demo1-disk0.qcow2 200G
    ```

    - Ignore MSR readout on host by VM:
  7. gordonturner revised this gist Jan 16, 2016. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions KVM OSX Guest 10.11 (El Capitan) with Clover.md
    Original file line number Diff line number Diff line change
    @@ -119,11 +119,11 @@ http://sourceforge.net/projects/cloverefiboot/files/?source=typ_redirect
    Step 5.1 Configure Clover
    -------------------------

    - Download `q35-acpi-dsdt.aml` and copy to `/CLOVER/ACPI/origin` on USB boot drive:
    - Download `q35-acpi-dsdt.aml` and copy to `EFI/EFI/CLOVER/ACPI/origin` on USB boot drive:

    https://github.com/qemu/qemu/blob/master/pc-bios/q35-acpi-dsdt.aml

    - Download `HFSPlus.efi` and copy to `EFI/CLOVER/drivers64UEFI/` on USB boot drive:
    - Download `HFSPlus.efi` and copy to `EFI/EFI/CLOVER/drivers64UEFI/` on USB boot drive:

    https://github.com/JrCs/CloverGrowerPro/blob/master/Files/HFSPlus/X64/HFSPlus.efi?raw=true

  8. gordonturner revised this gist Jan 16, 2016. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions KVM OSX Guest 10.11 (El Capitan) with Clover.md
    Original file line number Diff line number Diff line change
    @@ -131,6 +131,10 @@ https://github.com/JrCs/CloverGrowerPro/blob/master/Files/HFSPlus/X64/HFSPlus.ef
    Step 5.2 Run Clover Configurator
    --------------------------------

    - NOTE: Screnshots of Clover Configurator:

    http://downloads.gordonturner.ca/clover/

    - NOTE: No source, license is unclear, free to use
    - Download:

  9. gordonturner revised this gist Jan 16, 2016. 1 changed file with 0 additions and 1 deletion.
    1 change: 0 additions & 1 deletion KVM OSX Guest 10.11 (El Capitan) with Clover.md
    Original file line number Diff line number Diff line change
    @@ -189,7 +189,6 @@ http://mackie100projects.altervista.org/
    - `Arguments` String `` (`Custom Flags`)
    - `Debug` Boolean NO (`Debug`)
    - `DefaultLoader` String `boot.efi` (`Default Loader`)
    `BOOTX64.efi` (NOTE: Should this be the value?)
    - `DefaultVolume` String `OSX` (`Default Boot Volume`)
    - `Legacy` String `PBR` (`Legacy`)
    - `Secure` Boolean NO (`Secure`)
  10. gordonturner revised this gist Jan 16, 2016. 1 changed file with 298 additions and 73 deletions.
    371 changes: 298 additions & 73 deletions KVM OSX Guest 10.11 (El Capitan) with Clover.md
    Original file line number Diff line number Diff line change
    @@ -9,9 +9,24 @@ KVM OSX Guest 10.11 (El Capitan) with Clover
    - This approach also uses VNC to connect to the guest UI and no PCI passed through video card


    Documentation
    -------------

    - qemu documentation:

    http://wiki.qemu.org/download/qemu-doc.html


    - clover documentation:

    http://clover-wiki.zetam.org/Configuration


    Step 1 OVMF
    -----------

    - NOTE: 2016-01-09 version linked from http://www.tianocore.org/ovmf/ is not current and shout not be used

    - On Linux kvm host, build OVMF, please see:

    https://gist.github.com/gordonturner/85dcc321d2099d610e67
    @@ -27,7 +42,7 @@ http://www.osxbook.com/book/bonus/chapter7/tpmdrmmyth/

    https://bbs.archlinux.org/viewtopic.php?id=162768

    - 2015-12-09: The value appears to be a constant string
    - NOTE: 2016-01-09 The value appears to be a constant string


    Step 3 Create Install USB Drive
    @@ -75,12 +90,13 @@ sudo /Users/USERNAME/Documents/Disk\ Images/Apple\ OS\ X/10.11\ El\ Capitan/Inst
    Step 4: Run Clover on Install USB drive
    ------------------------------------------------

    - On an Apple computer running OS X, download `Clover_v2.3k_r3330.pkg` from:
    - On an Apple computer running OS X, download Clover from:

    http://sourceforge.net/projects/cloverefiboot/files/?source=typ_redirect

    - Run `Clover_v2.3k_r3330.pkg`
    - NOTE: 2016-01-10 Current download was `Clover_v2.3k_r3330.pkg`

    - Run `Clover_v2.3k_r3330.pkg`
    - Click `Continue` until `Installation Type` screen
    - On `Installation Type` screen, click `Change Install Location...`
    - On `Destination Select` screen, select the Install USB drive as destination, click `Continue`
    @@ -89,74 +105,266 @@ http://sourceforge.net/projects/cloverefiboot/files/?source=typ_redirect
    - This should automatically select `Install Clover in the ESP`
    - This should automatically unselect `Bootloader, Don't update MBR and PBR sectors`
    - This should automatically unselect `CloverEFI, CloverEFI 64-bits SATA`
    - On `Custom Install on "..."` screen select `Themes`
    - On `Custom Install on "..."` screen select `Drivers64UEFI, OsxAptioDrv-64`
    - On `Custom Install on "..."` screen, select `Themes, BootCamp` (or your theme of choice)
    - On `Custom Install on "..."` screen, click `Install`
    - Install should take about 3 min on USB 3 device
    - When complete, click `Close`

    - Two volumes should be mounted when complete:
    - `EFI`
    - `Install OS X El Capitan`
    - Leave volumes mounted

    Step X Configure Clover
    -----------------------

    - TODO: Complete seciton
    Step 5.1 Configure Clover
    -------------------------

    - Download `q35-acpi-dsdt.aml` and copy to `/CLOVER/ACPI/origin` on USB boot drive:

    https://github.com/qemu/qemu/blob/master/pc-bios/q35-acpi-dsdt.aml

    - Download `HFSPlus.efi` and copy to `EFI/CLOVER/drivers64UEFI/` on USB boot drive:

    https://github.com/JrCs/CloverGrowerPro/blob/master/Files/HFSPlus/X64/HFSPlus.efi?raw=true


    Step 5.2 Run Clover Configurator
    --------------------------------

    - NOTE: No source, license is unclear, free to use
    - Download:

    http://mackie100projects.altervista.org/

    - NOTE: 2016-01-16 current version is 4.25.0

    - Run `Clover Configurator.app` and edit: `EFI/EFI/CLOVER/config.plist`


    - Clover Configurator, Acpi
    - See `Clover Configurator-1-Acpi.png`

    - `Root/ACPI/DSDT` Dictionary
    - `Debug` Boolean YES (`Debug`)
    - `Drop OEM_DSM` Boolean NO (`Drop OEM_DSM`)
    - `Name` String q35-acpi-dsdt.aml (`DSDT name`)
    - `ReuseFFFF` Boolean NO (`ReuseFFFF`)
    - `Fixes` Dictionary
    - `AddPNLF_1000000` Boolean YES (New way `AddPNLF`)
    - `DeleteUnused_400000` Boolean YES (New way `DeleteUnused`)
    - `FIX_ACST_4000000` Boolean YES (New way `FIX_ACST`)
    - `FIX_ADP1_800000` Boolean YES (New way `FIX_ADP1`)
    - `FIX_RTC_20000` Boolean YES (New way `FIX_RTC`)
    - `FIX_S3D_2000000` Boolean YES (New way `FIX_S3D`)
    - `FiX_TMR_40000` Boolean YES (New way `FIX_TMR`)
    - `FixRegions_10000000` Boolean YES (New way `FixRegions`)
    - `FixSBUS_0080` Boolean YES (Unclear)
    - `NewWay_80000000` Boolean YES (New way `NewWay`)

    - `Root/ACPI/DropTables` Array (Drop Tables)
    - `Item0` Dictionary (`Signature*, Type/key, String/Number`)
    - `Signature` String `SSDT` (`SSDT, TableId, CpuPm`)
    - `TableId` String `CpuPm`

    - `Item1` Dictionary (`Signature*, Type/key, String/Number`)
    - `Signature` String `DMAR` (`DMAR, ,`)

    - `Item2` Dictionary (`Signature*, Type/key, String/Number`)
    - `Signature` String `SSDT` (`SSDT, TableId, Cpu0Ist`)
    - `TableId` String `Cpu0Ist`

    - `Root/ACPI/SSDT` Dictionary
    - `DropOem` Boolean NO (`Drop OEM`)
    - `Generate` Boolean NO (Unclear `Generate PStates`)
    Boolean NO (Unclear `Generate CSates`)
    - `MaxMultiplier` Number 40 (`Min Multiplier`)
    - `MinMultiplier` Number 40 (`Max Multiplier`)


    - Clover Configurator, Boot
    - See `Clover Configurator-2-Boot.png`

    - `Root/Boot ` Dictionary
    - `Timeout` Number 0 (`Timeout`)
    - `Arguments` String `` (`Custom Flags`)
    - `Debug` Boolean NO (`Debug`)
    - `DefaultLoader` String `boot.efi` (`Default Loader`)
    `BOOTX64.efi` (NOTE: Should this be the value?)
    - `DefaultVolume` String `OSX` (`Default Boot Volume`)
    - `Legacy` String `PBR` (`Legacy`)
    - `Secure` Boolean NO (`Secure`)
    - `XMPDetection` String YES (`XMPDetection`)

    - NOTE: Uncheck `kext-dev-mode=1` `rootless=0`


    - Clover Configurator, Cpu
    - See `Clover Configurator-3-Cpu.png`

    - `Root/Cpu ` Dictionary
    - `BusSpeedkHz` Number 1,000,000 (`Bus Speed kHz`)
    - `QEMU` Boolean YES (`QEMU`)


    - Clover Configurator, Devices
    - See `Clover Configurator-4-Devices.png`

    - `Root/Devices ` Dictionary
    - `USB` Dictionary
    - `FixOwnership` Boolean NO (`USB, Inject`)
    - `Inject` Boolean NO (`USB, FixOwnership`)

    - NOTE: Uncheck `ResetHDA`, set `Audio` to empty, uncheck `Add ClockID`


    - Clover Configurator, Disabled Devices
    - See `Clover Configurator-5-Disabled Devices.png`
    - NOTE: All default values, nothing configured


    - Clover Configurator, Gui
    - See `Clover Configurator-6-Gui.png`

    - `Root/Gui ` Dictionary
    - `Mouse` Dictionary
    - `DoubleClick` Number 500 (`Double Click`, default value)
    - `Enabled` Boolean NO (`Enabled`, default value)
    - `Mirror` Boolean NO (`Mirror`, default value)
    - `Speed` Number 8 (`Speed`, default value)
    - `Scan` Boolean YES (`Scan`, default value)
    - `ScreenResolution` String `1280x1024` (`Screen Resolution`, default value)
    - `Theme` String `bootcamp` (`Theme`, set from Clover install)

    - NOTE: All default values


    - Clover Configurator, Graphics
    - See `Clover Configurator-7-Graphics.png`

    - `Root/Graphics` Dictionary
    - `Inject` Dictionary
    - `ATI` Boolean NO (`Inject ATI`, default value)
    - `Intel` Boolean NO (`Inject Intel`, default value)
    - `NVidia` Boolean NO (`Inject NVidia`, default value)
    - `NVidiaSingle` Boolean NO (`Inject NVidiaSingle`, default value)

    - NOTE: All default values


    - Clover Configurator, Kernel and Kext Patches
    - See `Clover Configurator-8-Kernel and Kext Patches.png`

    - `Root/KernelAndKextPatches ` Dictionary
    - `AppleRTC` Boolean NO (`Apple RTC`)
    - `AsusAICPUPM` Boolean NO (`Asus AICPUPM`, default value)
    - `Debug` Boolean NO (`Debug`, default value)
    - `KernelCpu` Boolean NO (`Kernel CPU`, default value)
    - `KernelHaswellE` Boolean NO (`Kernel HaswellE`, default value)
    - `KernelLapic` Boolean NO (`Kernel LAPIC`, default value)
    - `KernelPm` Boolean NO (`Kernel Pm`, default value)

    - NOTE: All default values, except `Apple RTC`, disable `Apple RTC` must be disabled

    - Mount the EFI partition (if not mounted):

    - Clover Configurator, Rt Variables
    - See `Clover Configurator-9-RtVariables.png`

    - `Root/RtVariables` Dictionary
    - `BooterConfig` String `0x28` (`BooterConfig`, default value)
    - `CsrActiveConfig` String `0x67` (`CsrActiveConfig`, default value)
    - `MLB` String `` (`MLB`, deleted value)
    - `ROM` String `UseMacAddr0` (`ROM`, default value)

    - NOTE: All default values, except `MLB`, waschbenzin had value missing in config.plist


    - Clover Configurator, SMBIOS
    - See `Clover Configurator-10-SMBIOS.png`

    - `Root/SMBIOS` Dictionary
    - `ProductName` String `MacPro2,1` (`Product Name`)
    - `Family` String `Mac Pro` (`Family`)
    - `Manufacturer` String `Apple Inc.` (`Manufacturer`, default value)
    - `BiosReleaseDate` String `07/02/07` (`Bios Release Date`)
    - `BiosVendor` String `Apple Inc.` (`Bios Vendor`)
    - `Version` String `1.0` (`Version`)
    - `ChassisManufacturer` String `Apple Inc.` (`Chassis Manufacturer`)
    - `ChassisAssetTag` String `Pro-Enclosure` (`Chassis Asset Tag`)
    - `ChassisType` String `06` (`Chassis Type`)
    - `BoardType` Number `11` (`BoardType`)
    - `BoardManufacturer` String `Apple Inc.` (`Board Manufacturer`)
    - `Trust` Boolean NO (`Trust`, default value)

    - NOTE: MacPro2,1 corresponds to the original Mac Pro:

    http://www.everymac.com/systems/apple/mac_pro/specs/mac-pro-eight-core-3.0-specs.html


    - Clover Configurator, System Parameters
    - See `Clover Configurator-11-System Parameters.png`

    - `Root/SystemParameters` Dictionary
    - `ProductName` String `Detect` (`Inject Kexts`, default value)
    - `InjectSystemID` Boolean YES (`Inject System ID`, default value)

    - NOTE: All default values

    - Save and exit Clover Configrator


    Step 6.1 Copy USB Drive to Disk Image
    -----------------------------------

    - Copy the USB disk to a raw disk image.

    - Find disk:

    ```
    diskutil list
    ```
    ```
    [...]
    diskutil list
    /dev/disk0 (internal, physical):
    #: TYPE NAME SIZE IDENTIFIER
    0: GUID_partition_scheme *15.6 GB disk2
    0: GUID_partition_scheme *500.3 GB disk0
    1: EFI EFI 209.7 MB disk0s1
    2: Apple_CoreStorage Macintosh HD 499.4 GB disk0s2
    3: Apple_Boot Recovery HD 650.0 MB disk0s3
    /dev/disk1 (internal, virtual):
    #: TYPE NAME SIZE IDENTIFIER
    0: Apple_HFS Macintosh HD +499.0 GB disk1
    Logical Volume on disk0s2
    653675B9-F842-47A2-A6FD-234EFB6B7648
    Unencrypted
    /dev/disk2 (external, physical):
    #: TYPE NAME SIZE IDENTIFIER
    0: GUID_partition_scheme *16.0 GB disk2
    1: EFI EFI 209.7 MB disk2s1
    2: Apple_HFS Install OS X El Capitan 15.3 GB disk2s2
    2: Apple_HFS Install OS X El Capitan 15.7 GB disk2s2
    ```

    - Run `dd`:

    ```
    diskutil mount /dev/disk2s1
    sudo dd if=/dev/rdisk2 of=./clover-usb-disk.dd bs=1m
    ```

    - On the EFI partition edit `/EFI/CLOVER/configur.plist` to configure Clover to include:
    - qemu cpu flag
    - HFS efi driver


    Step 5 Insert Install USB drive
    -------------------------------

    - Remove install USB drive from Apple computer running OS X and plug in to Linux kvm host.
    - Determine usb device
    - After plug in, run dmesg:
    Step 6.2 Copy Disk Image to kvm Host
    ----------------------------------

    ```
    dmesg
    ```
    ```
    [1129574.519912] kvm: zapping shadow pages for mmio generation wraparound
    [1129718.445605] kvm [27208]: vcpu0 ignored rdmsr: 0x199
    [1129718.446369] kvm [27208]: vcpu0 ignored rdmsr: 0x199
    [1129752.993074] kvm [27208]: vcpu0 ignored rdmsr: 0x199
    [1129752.993818] kvm [27208]: vcpu0 ignored rdmsr: 0x199
    [1129766.396092] kvm [27208]: vcpu0 ignored rdmsr: 0x199
    [1129766.396841] kvm [27208]: vcpu0 ignored rdmsr: 0x199
    [1129826.468043] kvm: zapping shadow pages for mmio generation wraparound
    [1129870.277371] kvm [27218]: vcpu0 ignored rdmsr: 0x199
    [1129870.278097] kvm [27218]: vcpu0 ignored rdmsr: 0x199
    [1130438.919198] sdb: sdb1 sdb2
    scp clover-usb-disk.dd USER@kvm2:/home/USER/Downloads
    ```

    - Add to qemu startup, where /dev/sdb is device:
    - On kvm host

    ```
    -hdb /dev/sdb
    sudo mv /home/USER/Downloads/clover-usb-disk.dd /vm/
    ```

    - Reference:

    http://www.linux-kvm.org/page/USB_Host_Device_Assigned_to_Guest
    http://unix.stackexchange.com/questions/37779/how-do-i-boot-from-a-liveusb-using-qemu-kvm


    Step 6 Create Disk and Set Parameters
    Step 7 Create Disk and Set Parameters
    -------------------------------------

    - On Linux kvm host, create a disk image:
    @@ -172,35 +380,32 @@ echo 1 > /sys/module/kvm/parameters/ignore_msrs
    ```


    Step 7 qemu Start
    Step 8 qemu Start
    -----------------

    - On Linux kvm host, start qemu:

    ```
    cd /vm/
    sudo qemu-system-x86_64 \
    -m 2048 \
    -enable-kvm \
    -m 8192 \
    -cpu core2duo,kvm=off,vendor=GenuineIntel \
    -smp 6,sockets=1,cores=3,threads=2 \
    -vga std \
    -bios /vm/osx-ovmf-bios/bios.bin \
    -usb \
    -smbios type=2 \
    -net none \
    -device isa-applesmc,osk="LOOK-IT-UP" \
    -device piix4-usb-uhci,id=usbbus \
    -usb -usbdevice disk:format=raw:/dev/sdb \
    -device ahci,id=ide \
    -device ide-drive,bus=ide.2,drive=MacHDD \
    -drive id=MacHDD,if=none,file=/vm/demo1-disk0.qcow2 \
    -monitor stdio -S \
    -vnc :1
    ```


    Step 8 Clover Start
    -cpu core2duo \
    -M q35 \
    -bios /vm/osx-ovmf-bios-src-build/bios.bin \
    -device ahci,id=hdbus,bus=pcie.0 \
    -device ide-drive,bus=hdbus.0,drive=Clover \
    -drive id=Clover,if=none,file=/vm/clover-usb-disk.dd,format=raw \
    -device ide-drive,bus=hdbus.1,drive=MacOSX \
    -drive id=MacOSX,if=none,file=/vm/demo1-disk0.qcow2,format=raw \
    -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" \
    -usb -device usb-kbd -device usb-mouse \
    -serial stdio \
    -vnc :1
    ```


    Step 9 Clover Start
    -------------------

    - Connect a VNC client to Linux kvm host
    @@ -212,18 +417,38 @@ ssh -L 5910:127.0.0.1:5901 KVM_HOST

    - Connect a VNC client to 127.0.0.1 5710

    - At `boot`, type:

    ```
    "KernelBooter_kexts"="Yes" "CsrActiveConfig"="103"
    ```

    - At Clover boot screen, choose `Boot OS X Install from OS X Install OS X El Capitan`

    - NOTE: Black screen, no progress.


    - Error, black screen on VNC and this is printed out on the console:

    ```
    Boot Failed. EFI Floppy
    Boot Failed. EFI Floppy 1
    KVM internal error. Suberror: 1
    emulation failure
    RAX=0000000000000000 RBX=000000007dd22018 RCX=0000000000000000 RDX=000000007e377e60
    RSI=000000007e377e60 RDI=0000000000007297 RBP=000000007e3665b2 RSP=000000007ff5b7c8
    R8 =000000007e37d4c0 R9 =0000000000000004 R10=000000007e336ffc R11=000000007ee4d2af
    R12=000000007ee4a018 R13=000000007e36dff9 R14=000000007e33c98f R15=000000007e34d87b
    RIP=00000000000b0000 RFL=00010246 [---Z-P-] CPL=0 II=0 A20=1 SMM=0 HLT=0
    ES =0030 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
    CS =0038 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]
    SS =0030 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
    DS =0030 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
    FS =0030 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
    GS =0030 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
    LDT=0000 0000000000000000 0000ffff 00008200 DPL=0 LDT
    TR =0000 0000000000000000 0000ffff 00008b00 DPL=0 TSS64-busy
    GDT= 000000007fed8f18 00000047
    IDT= 000000007f7e6018 00000fff
    CR0=80000033 CR2=0000000000000000 CR3=000000007fefa000 CR4=00000668
    DR0=0000000000000000 DR1=0000000000000000 DR2=0000000000000000 DR3=0000000000000000
    DR6=00000000ffff0ff0 DR7=0000000000000400
    EFER=0000000000000500
    Code=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <ff> ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
    ```



  11. gordonturner revised this gist Jan 9, 2016. 1 changed file with 2 additions and 9 deletions.
    11 changes: 2 additions & 9 deletions KVM OSX Guest 10.11 (El Capitan) with Clover.md
    Original file line number Diff line number Diff line change
    @@ -12,16 +12,9 @@ KVM OSX Guest 10.11 (El Capitan) with Clover
    Step 1 OVMF
    -----------

    - On Linux kvm host, download OVMF:
    - On Linux kvm host, build OVMF, please see:

    http://www.tianocore.org/ovmf/

    - Create an OVMF BIOS directory for OSX:

    ```
    sudo mkdir /vm/osx-ovmf-bios
    sudo mv ~/Downloads/OVMF.fd /vm/osx-ovmf-bios/bios.bin
    ```
    https://gist.github.com/gordonturner/85dcc321d2099d610e67


    Step 2 Get Apple SMC osk Value
  12. gordonturner revised this gist Jan 9, 2016. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions KVM OSX Guest 10.11 (El Capitan) with Clover.md
    Original file line number Diff line number Diff line change
    @@ -5,6 +5,9 @@ KVM OSX Guest 10.11 (El Capitan) with Clover
    - kvm and qemu packages installed
    - VM images and resources in `/vm/`

    - This approach uses a USB drive with the OSX Installer and Clover passed through from the kvm host to guest
    - This approach also uses VNC to connect to the guest UI and no PCI passed through video card


    Step 1 OVMF
    -----------
  13. gordonturner revised this gist Jan 9, 2016. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion KVM OSX Guest 10.11 (El Capitan) with Clover.md
    Original file line number Diff line number Diff line change
    @@ -26,7 +26,7 @@ Step 2 Get Apple SMC osk Value

    - On an Apple computer running OS X, SMC osk value.
    - See:
    -

    http://www.osxbook.com/book/bonus/chapter7/tpmdrmmyth/

    https://bbs.archlinux.org/viewtopic.php?id=162768
  14. gordonturner revised this gist Jan 9, 2016. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions KVM OSX Guest 10.11 (El Capitan) with Clover.md
    Original file line number Diff line number Diff line change
    @@ -26,6 +26,7 @@ Step 2 Get Apple SMC osk Value

    - On an Apple computer running OS X, SMC osk value.
    - See:
    -
    http://www.osxbook.com/book/bonus/chapter7/tpmdrmmyth/

    https://bbs.archlinux.org/viewtopic.php?id=162768
  15. gordonturner revised this gist Jan 9, 2016. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions KVM OSX Guest 10.11 (El Capitan) with Clover.md
    Original file line number Diff line number Diff line change
    @@ -27,6 +27,7 @@ Step 2 Get Apple SMC osk Value
    - On an Apple computer running OS X, SMC osk value.
    - See:
    http://www.osxbook.com/book/bonus/chapter7/tpmdrmmyth/

    https://bbs.archlinux.org/viewtopic.php?id=162768

    - 2015-12-09: The value appears to be a constant string
  16. gordonturner revised this gist Jan 9, 2016. 1 changed file with 5 additions and 1 deletion.
    6 changes: 5 additions & 1 deletion KVM OSX Guest 10.11 (El Capitan) with Clover.md
    Original file line number Diff line number Diff line change
    @@ -24,7 +24,11 @@ sudo mv ~/Downloads/OVMF.fd /vm/osx-ovmf-bios/bios.bin
    Step 2 Get Apple SMC osk Value
    ------------------------------

    - On an Apple computer running OS X, SMC osk value, see: `KVM OSX Guest SMC Read.md`
    - On an Apple computer running OS X, SMC osk value.
    - See:
    http://www.osxbook.com/book/bonus/chapter7/tpmdrmmyth/
    https://bbs.archlinux.org/viewtopic.php?id=162768

    - 2015-12-09: The value appears to be a constant string


  17. gordonturner revised this gist Jan 6, 2016. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion KVM OSX Guest 10.11 (El Capitan) with Clover.md
    Original file line number Diff line number Diff line change
    @@ -115,7 +115,7 @@ diskutil mount /dev/disk2s1

    - On the EFI partition edit `/EFI/CLOVER/configur.plist` to configure Clover to include:
    - qemu cpu flag
    - ?
    - HFS efi driver


    Step 5 Insert Install USB drive
  18. gordonturner revised this gist Jan 6, 2016. 1 changed file with 15 additions and 0 deletions.
    15 changes: 15 additions & 0 deletions KVM OSX Guest 10.11 (El Capitan) with Clover.md
    Original file line number Diff line number Diff line change
    @@ -96,7 +96,22 @@ Step X Configure Clover

    - TODO: Complete seciton

    - Mount the EFI partition (if not mounted):

    ```
    diskutil list
    ```
    ```
    [...]
    #: TYPE NAME SIZE IDENTIFIER
    0: GUID_partition_scheme *15.6 GB disk2
    1: EFI EFI 209.7 MB disk2s1
    2: Apple_HFS Install OS X El Capitan 15.3 GB disk2s2
    ```

    ```
    diskutil mount /dev/disk2s1
    ```

    - On the EFI partition edit `/EFI/CLOVER/configur.plist` to configure Clover to include:
    - qemu cpu flag
  19. gordonturner revised this gist Jan 6, 2016. 1 changed file with 5 additions and 1 deletion.
    6 changes: 5 additions & 1 deletion KVM OSX Guest 10.11 (El Capitan) with Clover.md
    Original file line number Diff line number Diff line change
    @@ -94,7 +94,11 @@ http://sourceforge.net/projects/cloverefiboot/files/?source=typ_redirect
    Step X Configure Clover
    -----------------------

    - TODO: Configure Clover to include:
    - TODO: Complete seciton



    - On the EFI partition edit `/EFI/CLOVER/configur.plist` to configure Clover to include:
    - qemu cpu flag
    - ?

  20. gordonturner revised this gist Jan 6, 2016. 1 changed file with 8 additions and 0 deletions.
    8 changes: 8 additions & 0 deletions KVM OSX Guest 10.11 (El Capitan) with Clover.md
    Original file line number Diff line number Diff line change
    @@ -91,6 +91,14 @@ http://sourceforge.net/projects/cloverefiboot/files/?source=typ_redirect
    - On `Custom Install on "..."` screen select `Drivers64UEFI, OsxAptioDrv-64`


    Step X Configure Clover
    -----------------------

    - TODO: Configure Clover to include:
    - qemu cpu flag
    - ?


    Step 5 Insert Install USB drive
    -------------------------------

  21. gordonturner revised this gist Jan 5, 2016. 1 changed file with 49 additions and 28 deletions.
    77 changes: 49 additions & 28 deletions KVM OSX Guest 10.11 (El Capitan) with Clover.md
    Original file line number Diff line number Diff line change
    @@ -6,7 +6,7 @@ KVM OSX Guest 10.11 (El Capitan) with Clover
    - VM images and resources in `/vm/`


    Step X OVMF
    Step 1 OVMF
    -----------

    - On Linux kvm host, download OVMF:
    @@ -21,24 +21,56 @@ sudo mv ~/Downloads/OVMF.fd /vm/osx-ovmf-bios/bios.bin
    ```


    Step X Get Apple SMC osk Value
    Step 2 Get Apple SMC osk Value
    ------------------------------

    - On an Apple computer running OS X, SMC osk value, see: `KVM OSX Guest SMC Read.md`
    - 2015-12-09: The value appears to be a constant string:

    ```
    DEEEERP!
    ```
    - 2015-12-09: The value appears to be a constant string


    Step X Create Install USB Drive
    Step 3 Create Install USB Drive
    --------------------------------

    - On an Apple computer running OS X, create install USB drive, see: `OSX Creating USB Install - OSX.md`
    - On an Apple computer running OS X, create install USB drive.

    - Run Disk Utilty
    - Select the USB device (not a partition of the device) in the left pane

    - If on 10.11 or later:
    - Click `Partition` tab, ensure there is a single partition
    - Set Name to `Untitled`, Format to `OS X Extended (Journaled)`
    - Click `Apply` button
    - Confirm `Partition Map` is set to `GUID Partition Map`

    - If on 10.10 or earler, confirm `Partition Map` is set to `GUID Partition Map`
    - Click `Partition` tab
    - In `Partition Layout`, select `1 Partition` in the
    - Click `Options` button, select `GUID Partition Table`, click OK
    - Change Name to `Untitled`
    - Change Format type to `Mac OS Extended (Journaled)`
    - Click Apply, then Partition

    - Once partitioning is complete, click `Done`
    - Close Disk Utility

    - For El Capitan, default Application location:
    ```
    sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia \
    --volume /Volumes/Untitled \
    --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app \
    --nointeraction
    ```

    - For El Capitan, after Application moved and renamed:
    ```
    sudo /Users/USERNAME/Documents/Disk\ Images/Apple\ OS\ X/10.11\ El\ Capitan/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia \
    --volume /Volumes/Untitled \
    --applicationpath /Users/USERNAME/Documents/Disk\ Images/Apple\ OS\ X/10.11\ El\ Capitan/Install\ OS\ X\ El\ Capitan.app \
    --nointeraction
    ```

    Step X: Run Clover on Install USB drive

    Step 4: Run Clover on Install USB drive
    ------------------------------------------------

    - On an Apple computer running OS X, download `Clover_v2.3k_r3330.pkg` from:
    @@ -58,12 +90,8 @@ http://sourceforge.net/projects/cloverefiboot/files/?source=typ_redirect
    - On `Custom Install on "..."` screen select `Themes`
    - On `Custom Install on "..."` screen select `Drivers64UEFI, OsxAptioDrv-64`

    - Reference:

    http://www.insanelymac.com/forum/topic/305255-making-a-10101011-usb-installer-w-clover-uefi-and-legacy-the-correct-way/


    Step X Insert Install USB drive
    Step 5 Insert Install USB drive
    -------------------------------

    - Remove install USB drive from Apple computer running OS X and plug in to Linux kvm host.
    @@ -99,7 +127,7 @@ http://www.linux-kvm.org/page/USB_Host_Device_Assigned_to_Guest
    http://unix.stackexchange.com/questions/37779/how-do-i-boot-from-a-liveusb-using-qemu-kvm


    Step X Create Disk and Set Parameters
    Step 6 Create Disk and Set Parameters
    -------------------------------------

    - On Linux kvm host, create a disk image:
    @@ -114,21 +142,14 @@ sudo su -
    echo 1 > /sys/module/kvm/parameters/ignore_msrs
    ```

    - NOTE: This was included by Gabriel L. Somlo for Yosemite:

    http://www.contrib.andrew.cmu.edu/~somlo/OSXKVM/


    Step X qemu Start
    Step 7 qemu Start
    -----------------

    - On Linux kvm host, start qemu:

    ```
    cd /vm/
    ```

    ```
    sudo qemu-system-x86_64 \
    -enable-kvm \
    -m 8192 \
    @@ -139,7 +160,7 @@ sudo qemu-system-x86_64 \
    -usb \
    -smbios type=2 \
    -net none \
    -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" \
    -device isa-applesmc,osk="LOOK-IT-UP" \
    -device piix4-usb-uhci,id=usbbus \
    -usb -usbdevice disk:format=raw:/dev/sdb \
    -device ahci,id=ide \
    @@ -150,14 +171,14 @@ sudo qemu-system-x86_64 \
    ```


    Step X Clover Start
    Step 8 Clover Start
    -------------------

    - Connect a VNC client to Linux kvm host
    - Tunnel 5901 over ssh:

    ```
    ssh -L 5910:127.0.0.1:5901 kvm2
    ssh -L 5910:127.0.0.1:5901 KVM_HOST
    ```

    - Connect a VNC client to 127.0.0.1 5710
    @@ -170,7 +191,7 @@ ssh -L 5910:127.0.0.1:5901 kvm2

    - At Clover boot screen, choose `Boot OS X Install from OS X Install OS X El Capitan`


    - NOTE: Black screen, no progress.



  22. gordonturner revised this gist Jan 5, 2016. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions KVM OSX Guest 10.11 (El Capitan) with Clover.md
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,10 @@
    KVM OSX Guest 10.11 (El Capitan) with Clover
    ============================================

    - Ubuntu 15.10
    - kvm and qemu packages installed
    - VM images and resources in `/vm/`


    Step X OVMF
    -----------
  23. gordonturner revised this gist Jan 5, 2016. 1 changed file with 0 additions and 7 deletions.
    7 changes: 0 additions & 7 deletions KVM OSX Guest 10.11 (El Capitan) with Clover.md
    Original file line number Diff line number Diff line change
    @@ -1,13 +1,6 @@
    KVM OSX Guest 10.11 (El Capitan) with Clover
    ============================================

    - Setup Clover:

    http://www.insanelymac.com/forum/topic/309087-insanely-fast-virtual-mac-qemu-ovmf-clover-and-native-graphics/
    http://osxarena.com/2015/10/guide-install-mac-osx-el-capitan-on-hackintosh-pc-with-clover-vanilla-installation-method/

    http://blog.definedcodehosting.com/qemu-osx-update


    Step X OVMF
    -----------
  24. gordonturner renamed this gist Jan 4, 2016. 1 changed file with 0 additions and 0 deletions.
  25. gordonturner created this gist Jan 4, 2016.
    182 changes: 182 additions & 0 deletions KVM OSX Guest 10.11 (El Capitan) with Clover
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,182 @@
    KVM OSX Guest 10.11 (El Capitan) with Clover
    ============================================

    - Setup Clover:

    http://www.insanelymac.com/forum/topic/309087-insanely-fast-virtual-mac-qemu-ovmf-clover-and-native-graphics/
    http://osxarena.com/2015/10/guide-install-mac-osx-el-capitan-on-hackintosh-pc-with-clover-vanilla-installation-method/

    http://blog.definedcodehosting.com/qemu-osx-update


    Step X OVMF
    -----------

    - On Linux kvm host, download OVMF:

    http://www.tianocore.org/ovmf/

    - Create an OVMF BIOS directory for OSX:

    ```
    sudo mkdir /vm/osx-ovmf-bios
    sudo mv ~/Downloads/OVMF.fd /vm/osx-ovmf-bios/bios.bin
    ```


    Step X Get Apple SMC osk Value
    ------------------------------

    - On an Apple computer running OS X, SMC osk value, see: `KVM OSX Guest SMC Read.md`
    - 2015-12-09: The value appears to be a constant string:

    ```
    DEEEERP!
    ```


    Step X Create Install USB Drive
    --------------------------------

    - On an Apple computer running OS X, create install USB drive, see: `OSX Creating USB Install - OSX.md`


    Step X: Run Clover on Install USB drive
    ------------------------------------------------

    - On an Apple computer running OS X, download `Clover_v2.3k_r3330.pkg` from:

    http://sourceforge.net/projects/cloverefiboot/files/?source=typ_redirect

    - Run `Clover_v2.3k_r3330.pkg`

    - Click `Continue` until `Installation Type` screen
    - On `Installation Type` screen, click `Change Install Location...`
    - On `Destination Select` screen, select the Install USB drive as destination, click `Continue`
    - Back on `Installation Type` screen, click `Customize`
    - On `Custom Install on "..."` screen select `Install for UEFI booting only`
    - This should automatically select `Install Clover in the ESP`
    - This should automatically unselect `Bootloader, Don't update MBR and PBR sectors`
    - This should automatically unselect `CloverEFI, CloverEFI 64-bits SATA`
    - On `Custom Install on "..."` screen select `Themes`
    - On `Custom Install on "..."` screen select `Drivers64UEFI, OsxAptioDrv-64`

    - Reference:

    http://www.insanelymac.com/forum/topic/305255-making-a-10101011-usb-installer-w-clover-uefi-and-legacy-the-correct-way/


    Step X Insert Install USB drive
    -------------------------------

    - Remove install USB drive from Apple computer running OS X and plug in to Linux kvm host.
    - Determine usb device
    - After plug in, run dmesg:

    ```
    dmesg
    ```
    ```
    [1129574.519912] kvm: zapping shadow pages for mmio generation wraparound
    [1129718.445605] kvm [27208]: vcpu0 ignored rdmsr: 0x199
    [1129718.446369] kvm [27208]: vcpu0 ignored rdmsr: 0x199
    [1129752.993074] kvm [27208]: vcpu0 ignored rdmsr: 0x199
    [1129752.993818] kvm [27208]: vcpu0 ignored rdmsr: 0x199
    [1129766.396092] kvm [27208]: vcpu0 ignored rdmsr: 0x199
    [1129766.396841] kvm [27208]: vcpu0 ignored rdmsr: 0x199
    [1129826.468043] kvm: zapping shadow pages for mmio generation wraparound
    [1129870.277371] kvm [27218]: vcpu0 ignored rdmsr: 0x199
    [1129870.278097] kvm [27218]: vcpu0 ignored rdmsr: 0x199
    [1130438.919198] sdb: sdb1 sdb2
    ```

    - Add to qemu startup, where /dev/sdb is device:

    ```
    -hdb /dev/sdb
    ```

    - Reference:

    http://www.linux-kvm.org/page/USB_Host_Device_Assigned_to_Guest
    http://unix.stackexchange.com/questions/37779/how-do-i-boot-from-a-liveusb-using-qemu-kvm


    Step X Create Disk and Set Parameters
    -------------------------------------

    - On Linux kvm host, create a disk image:

    ```
    sudo qemu-img create -f qcow2 /vm/osx-disk0.qcow2 200G
    ```

    - Ignore MSR readout on host by VM:
    ```
    sudo su -
    echo 1 > /sys/module/kvm/parameters/ignore_msrs
    ```

    - NOTE: This was included by Gabriel L. Somlo for Yosemite:

    http://www.contrib.andrew.cmu.edu/~somlo/OSXKVM/


    Step X qemu Start
    -----------------

    - On Linux kvm host, start qemu:

    ```
    cd /vm/
    ```

    ```
    sudo qemu-system-x86_64 \
    -enable-kvm \
    -m 8192 \
    -cpu core2duo,kvm=off,vendor=GenuineIntel \
    -smp 6,sockets=1,cores=3,threads=2 \
    -vga std \
    -bios /vm/osx-ovmf-bios/bios.bin \
    -usb \
    -smbios type=2 \
    -net none \
    -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" \
    -device piix4-usb-uhci,id=usbbus \
    -usb -usbdevice disk:format=raw:/dev/sdb \
    -device ahci,id=ide \
    -device ide-drive,bus=ide.2,drive=MacHDD \
    -drive id=MacHDD,if=none,file=/vm/demo1-disk0.qcow2 \
    -monitor stdio -S \
    -vnc :1
    ```


    Step X Clover Start
    -------------------

    - Connect a VNC client to Linux kvm host
    - Tunnel 5901 over ssh:

    ```
    ssh -L 5910:127.0.0.1:5901 kvm2
    ```

    - Connect a VNC client to 127.0.0.1 5710

    - At `boot`, type:

    ```
    "KernelBooter_kexts"="Yes" "CsrActiveConfig"="103"
    ```

    - At Clover boot screen, choose `Boot OS X Install from OS X Install OS X El Capitan`