• Stars
    star
    823
  • Rank 55,417 (Top 2 %)
  • Language
    Shell
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A script that automates downloading macOS installers, and optionally erasing or upgrading macOS in a single process. Watch the video!

erase-install

by Graham Pugh

Β Β Β Β 

Note: The default (main) branch is the latest code commit of the production track, which represents versions 28.0 and newer. Any Pull Requests should be made to the main branch.

The release branch should correspond to the current latest release.

The legacy branch is the latest code commit of the legacy track, which represents versions up to 27.x. The legacy track is for those who need to use this script on macOS 10.15 or older.


WARNING. This is a self-destruct script. Do not try it out on your own device!

erase-install.sh 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.

It can be used to download, reinstall, upgrade or erase macOS.

The script is designed to interact with mist-cli, a script developed by Nindi Gill, in order to download a macOS Installer application directly from Apple to the client. The minimum required version is macOS 10.15.

It is alternatively possible to use the softwareupdate --fetch-full-installer command on Mac computers running macOS 11 or greater (macOS 11 is required because the --list-full-installers option is used to find valid builds).

The script is also designed to interact with swiftDialog for providing dialogues to users. The minimum required version for swiftDialog is macOS 11.

The script has many options to suit a large variety of workflows, management tools and user experiences. Originally designed to work with Macs that are enrolled into Jamf Pro, it now has additional options for use with other management systems or no management systems at all.

Please refer to the Wiki for detailed documentation

More Repositories

1

jamf-upload

Scripts for uploading packages to Jamf Cloud
Python
147
star
2

plist-yaml-plist

Utility to convert plist files to yaml files or vice versa
Python
54
star
3

AutoPkgSetup

A single-script installer for AutoPkg. Optimised for JamfUploader.
Shell
48
star
4

osx-scripts

A collection of my Mac OS X scripts
Shell
35
star
5

Rosetta-2-install

Make a payload-free package containing a script to install Rosetta 2
Shell
29
star
6

keychain-creds

Unlock a keychain and get key values from within. Useful for basic authentication of API calls.
Shell
17
star
7

run-munki-run

A simple setup for Munki. Mac and Linux supported.
Shell
13
star
8

ansible-mac-playbook

Setting up my own Mac server and workstations.
Shell
8
star
9

multitenant-jamf-tools

A suite of tools for performing API actions on multiple Jamf servers/tenants at once
Shell
8
star
10

recipes

AutoPkg recipes
Python
4
star
11

pulse-secure-preconfigured-package

Creates a preconfigured package for deploying Juniper Network's Pulse Secure client
Shell
3
star
12

docker-munki-do

Docker build for Munki-Do
Python
3
star
13

grahampugh.github.io

GitHub Pages for the "What The Mac?!" blog.
SCSS
3
star
14

munki-enroll

My version of Cody Eding's original Munki Enroll scripts.
PHP
3
star
15

munki-do-not-disturb

A "Do Not Disturb" application for Munki's Managed Software Center
Python
3
star
16

FinderServerFavourites

Python
2
star
17

docker-mwa2

A Docker Container for Greg Neagle's MunkiWebAdmin2 web service
Python
2
star
18

docker-munki-enroll

A method of deploying Munki with Munki-enroll using Docker
Shell
1
star
19

grahampugh

1
star
20

grahampugh-autopkg-recipes

AutoPkg recipes intended for general use
Python
1
star
21

jamf-versioner

Python
1
star
22

recipes-yaml

My autopkg repo, but with the recipes in yaml format instead of plists
1
star
23

jamf-api-tool

Standalone python tool for interacting with the Jamf API.
Python
1
star