Update README.md to add troubleshooting steps for Apple ID/iMessage/iCloud login issues in macOS VM.

This commit is contained in:
akshaynexus 2025-04-30 04:02:02 +07:00
parent e962dce97f
commit 69f6e7d0cf

124
README.md
View File

@ -251,7 +251,7 @@ docker run -it \
-p 50922:10022 \
-v "${PWD}/mac_hdd_ng_auto_monterey.img:/image" \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e "DISPLAY=${DISPLAY:-:0.0}" \
-e "DISPLAY=${DISPLAY:-:0}" \
-e "USERNAME=user" \
-e "PASSWORD=alpine" \
-e GENERATE_UNIQUE=true \
@ -1954,3 +1954,125 @@ You may when initialising or booting into a container see errors from the `(qemu
`ALSA lib blahblahblah: (function name) returned error: no such file or directory`. These are more or less expected. As long as you are able to boot into the container and everything is working, no reason to worry about these.
See also: [here](https://github.com/sickcodes/Docker-OSX/issues/174).
### Cannot Login to Apple ID / iMessage / iCloud / App Store
Some users may experience issues logging into Apple services like the App Store, iMessage, or iCloud within the macOS VM. This is often due to Apple identifying the system as a virtual machine and refusing service. You can often resolve this by patching the kernel to hide the VM presence. There are two common methods to apply this patch:
#### Method 1: Using OCAT (OpenCore Auxiliary Tools) GUI
If you are using the OCAT GUI to manage your OpenCore configuration:
1. Navigate to the `Kernel` section.
2. Go to the `Patch` subsection.
3. Add two new patch entries with the following details:
**Patch 1:**
* **Identifier:** `kernel`
* **Base:** (leave empty)
* **Count:** `1`
* **Find (Hex):** `68696265726E61746568696472656164790068696265726E617465636F756E7400`
* **Limit:** `0`
* **Mask:** (leave empty)
* **Replace (Hex):** `68696265726E61746568696472656164790068765F766D6D5F70726573656E7400`
* **Skip:** `0`
* **Arch:** `x86_64`
* **MinKernel:** `20.4.0` (or appropriate for your macOS version, check OpenCore docs if unsure)
* **MaxKernel:** (leave empty)
* **Enabled:** `True`
* **Comment:** `Sonoma VM BT Enabler - PART 1 of 2 - Patch kern.hv_vmm_present=0` (or similar descriptive comment)
**Patch 2:**
* **Identifier:** `kernel`
* **Base:** (leave empty)
* **Count:** `1`
* **Find (Hex):** `626F6F742073657373696F6E20555549440068765F766D6D5F70726573656E7400`
* **Limit:** `0`
* **Mask:** (leave empty)
* **Replace (Hex):** `626F6F742073657373696F6E20555549440068696265726E617465636F756E7400`
* **Skip:** `0`
* **Arch:** `x86_64`
* **MinKernel:** `22.0.0` (or appropriate for your macOS version, check OpenCore docs if unsure)
* **MaxKernel:** (leave empty)
* **Enabled:** `True`
* **Comment:** `Sonoma VM BT Enabler - PART 2 of 2 - Patch kern.hv_vmm_present=0` (or similar descriptive comment)
4. Save the configuration and reboot the VM.
#### Method 2: Directly Editing `config.plist`
Alternatively, you can add the patches directly to your `config.plist` file (usually located on the EFI partition). Find the `<key>Kernel</key>` -> `<dict>` -> `<key>Patch</key>` -> `<array>` section and add the following two `<dict>` entries within the `<array>`:
```xml
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>Base</key>
<string></string>
<key>Comment</key>
<string>Sonoma VM BT Enabler - PART 1 of 2 - Patch kern.hv_vmm_present=0</string>
<key>Count</key>
<integer>1</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>aGliZXJuYXRlaGlkcmVhZHkAaGliZXJuYXRlY291bnQA</data>
<key>Identifier</key>
<string>kernel</string>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string>20.4.0</string>
<key>Replace</key>
<data>aGliZXJuYXRlaGlkcmVhZHkAaHZfdm1tX3ByZXNlbnQA</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>Base</key>
<string></string>
<key>Comment</key>
<string>Sonoma VM BT Enabler - PART 2 of 2 - Patch kern.hv_vmm_present=0</string>
<key>Count</key>
<integer>1</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>Ym9vdCBzZXNzaW9uIFVVSUQAaHZfdm1tX3ByZXNlbnQA</data>
<key>Identifier</key>
<string>kernel</string>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string>22.0.0</string>
<key>Replace</key>
<data>Ym9vdCBzZXNzaW9uIFVVSUQAaGliZXJuYXRlY291bnQA</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
</dict>
```
Make sure these `<dict>` entries are correctly placed within the `<array>` alongside any existing patches. Save the `config.plist` and reboot the VM.
**Note:** The `MinKernel` values (`20.4.0` and `22.0.0`) might need adjustment depending on the specific macOS version you are running (e.g., Monterey, Ventura, Sonoma). Consult OpenCore documentation or community resources for the appropriate values for your setup if you encounter issues. Applying these patches should allow Apple services to function correctly within the VM.
## More Questions and Answers
Big thank you to our contributors who have worked out almost every conceivable issue so far!
[https://github.com/sickcodes/Docker-OSX/blob/master/CREDITS.md](https://github.com/sickcodes/Docker-OSX/blob/master/CREDITS.md)