Quantcast
Channel: rtrouton – Der Flounder
Viewing all articles
Browse latest Browse all 764

Setting your Mac to receive macOS beta updates using seedutil

$
0
0

As part of a discussion of how to build test VMs, a colleague mentioned how they were using the seedutil tool to help configure Macs to access Apple’s beta updates. I hadn’t run across this tool before, so I decided to do some research and see if I could make it work for my own testing needs. For more details, see below the jump.

seedutil is available at the following location in macOS 10.13.2:

/System/Library/PrivateFrameworks/Seeding.framework/Versions/A/Resources/seedutil

There is no manpage for it, but if you call the seedutil tool by itself it will display the following options:

Here’s how the following seedutil options work on macOS 10.13.2:

seedutil enroll: Sets up the Mac to use one of three beta update feeds from Apple’s Software Update servers.

CustomerSeedAppleSeed beta OS releases
DeveloperSeedApple Developer Connection beta OS releases
PublicSeedmacOS public beta OS releases

Screen Shot 2018 01 05 at 9 38 22 PM

These feeds are referenced from the following file:

/System/Library/PrivateFrameworks/Seeding.framework/Versions/A/Resources/SeedCatalogs.plist

seedutil unenroll: Removes the current beta feed from the Mac and sets it to use the regular macOS updates.

Screen Shot 2018 01 05 at 10 36 34 PM

seedutil current: Displays information about the beta feed which the Mac is using.

Screen Shot 2018 01 05 at 10 25 10 PM

seedutil fixup: Repairs problems with the currently-enrolled beta feed.

Screen Shot 2018 01 05 at 10 34 36 PM

I was not able to discover what seedutil‘s migrate function does. If any readers know, please let me know in the comments.

If you run seedutil enroll and specify a beta update feed, the next time you run Software Update you should see the latest beta update appear as an available update option.

Screen Shot 2018 01 05 at 10 38 28 PM

Screen Shot 2018 01 05 at 9 36 22 PM

One reason why this tool is particularly interesting to me is that it can be used to install the latest macOS beta software onto an otherwise-unconfigured test Mac or test macOS VM. As an example of this, I’ve written the following script:

I’ve created a payload-free package from the script and then added it to a DeployStudio workflow. This workflow does the following:

1. Allows you to select a drive

Screen Shot 2018 01 05 at 9 34 49 PM

2. Installs the payload-free package, which uses seedutil to configure the Mac to use the selected beta OS feed.

Screen Shot 2018 01 05 at 9 35 27 PM

3. Runs Software Update.

Screen Shot 2018 01 05 at 9 35 35 PM

Once the workflow has completed its run and rebooted, the following actions take place at first boot:

A. The Mac is configured to use the selected beta feed
B. Apple’s softwareupdate tool checks for, downloads and installs all relevant updates, including the latest beta OS updates.
C. Following the installation of all available updates, the Mac restarts.

Screen Shot 2018 01 05 at 9 58 52 PM

At the end of the process, you should have a factory-fresh test Mac or VM which already has the latest macOS beta software installed.

Note: This workflow is not dependent on DeployStudio, the general idea should also be replicable using other tools such as Imagr.


Viewing all articles
Browse latest Browse all 764

Trending Articles