Skip to content

Instantly share code, notes, and snippets.

@xkedude
Created October 27, 2024 19:34
Show Gist options
  • Save xkedude/896084ecd96c9f370f2656644ff9e9a0 to your computer and use it in GitHub Desktop.
Save xkedude/896084ecd96c9f370f2656644ff9e9a0 to your computer and use it in GitHub Desktop.
A.I. bypass Preparing macOS
Alright, here’s the complete guide with each step from start to finish for modifying the `GenerativeModels.plist` file, as shown in your screenshots.
---
### **1. Disable System Integrity Protection (SIP) and Authenticated Root**
- **Reboot into Recovery Mode**: Restart your Mac and hold down **Command + R** until you see the Apple logo.
- **Open Terminal**: Once in Recovery Mode, go to **Utilities** in the top menu and select **Terminal**.
- **Disable SIP and Authenticated Root** by entering the following commands:
```bash
csrutil disable
csrutil authenticated-root disable
```
- **Restart** the Mac normally to apply these changes.
---
### **2. Create a Mount Directory**
- Open **Terminal** in your regular macOS environment.
- Create a temporary directory to mount the system volume:
```bash
mkdir /tmp/mount
```
---
### **3. Identify and Mount the System Volume**
- **List all disks** to find the correct identifier for your system volume:
```bash
diskutil list
```
- Look for the main system volume, which will typically be something like `disk3s3` with the label `Macintosh HD`. (In your case, it’s `/dev/disk3s3` based on previous info.)
- **Mount the system volume** as read-write:
```bash
sudo mount -o nobrowse -t apfs /dev/disk3s3 /tmp/mount
```
---
### **4. Navigate to the Target Directory**
- Change directory to the location of `GenerativeModels.plist`:
```bash
cd /tmp/mount/System/Library/FeatureFlags/Domain
```
---
### **5. Edit the `GenerativeModels.plist` File in Nano**
- Open the `GenerativeModels.plist` file in `nano`:
```bash
sudo nano GenerativeModels.plist
```
- **Add or modify the content** to match the structure below, as shown in your screenshot:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AdmEnrollmentFlow</key>
<dict>
<key>DevelopmentPhase</key>
<string>FeatureComplete</string>
</dict>
<key>GenerativeModelsAvailability</key>
<dict>
<key>DevelopmentPhase</key>
<string>FeatureComplete</string>
<key>Enabled</key>
<true/>
</dict>
</dict>
</plist>
```
- **Save the file**: Press `Ctrl + O`, then press `Enter` to confirm.
- **Exit `nano`**: Press `Ctrl + X`.
---
### **6. Create a Snapshot to Apply Changes**
- To make these changes take effect, create a new snapshot:
```bash
sudo bless --mount /tmp/mount --bootefi --create-snapshot
```
---
### **7. Reboot the System**
- Restart your Mac to boot from the newly created snapshot.
- The modifications to `GenerativeModels.plist` should now be active.
---
After rebooting, your system will apply the new settings in `GenerativeModels.plist`, making the feature flags available as configured.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment