3
How to Upgrade macOS Using erase-install and Jamf Pro
Preface
What is erase-install?
Written by the very talented Graham Pugh, erase-install is a script to reinstall macOS directly from
the system volume using startosinstall, a resource binary which has been built into macOS installer
applications since version 10.12.4. The --eraseinstall option was added with macOS 10.13.4 for
computers with an APFS system volume. The script has many options to suit a large variety of
workows, management tools and user experiences. You can see all of the options in the addendum
section of this guide.
Latest version or legacy version?
Latest Version Requirements:
• The script must run as root or sudo.
• macOS 11 or newer is required.
• The le system must be APFS.
The latest version, at the time of writing, is 30.2. This version requires mist-cli and swiftDialog, which
are included in the installer package.
mist-cli is a Mac command line utility that automatically downloads macOS installers and rmware.
It is created by Nindi Gill. More on mist-cli here:
https://github.com/ninxsoft/mist-cli
swiftDialog is used to create user notications. It is created by Bart Reardon and requires macOS 11
or later. More on swiftDialog here:
https://github.com/bartreardon/swiftDialog
Legacy Version Requirements:
• The script must run as root or sudo.
• macOS 10.12.4 or greater is required for the reinstall workows.
• macOS 10.13.4 is required for the erase-and-reinstall workow.
• The le system must be APFS.
• Installers can only be obtained for macOS 10.13 and greater.
Version 27.3 is the most recent legacy version of erase-install which, instead of mist-cli, uses
installinstallmacos.py, a python script which is included in the package installer along with a python
framework to run it. It can use jamfHelper or DEPNotify, rather than swiftDialog. It is still useful on
computers for upgrading computers currently running macOS 10.15 or older. If you want to use the
legacy version of the erase-install script (version 27.3), get it here:
https://github.com/grahampugh/erase-install/releases/tag/v27.3
What’s covered in this guide?
There are myriad ways to congure erase-install. The script, as of version 30.2, has 3385 lines of
code and over 50 options. We will not cover all the options but will include a list in the addendum
section of the guide. This guide will focus on using a locally cached macOS Ventura installer to
upgrade macOS on a Mac computer running macOS Big Sur or later. We will not cover legacy
macOS upgrades requiring version 27.3 of erase-install.
The following items were used to create this guide:
• erase-install version 30.2
• macOS Ventura 13.5.1
• Jamf Pro Server version 10.49 with administrative credentials