Bot releases are hidden (Show)
Published by grahampugh about 2 years ago
startosinstall
is launched. This requires rebootdelay
to be set, which allows uploading the script result to Jamf Pro before startosinstall
force-quits our script and reboots the machine (thanks to @cvgs).erase-install-launcher.sh
which can be used to start the pkg-delivered version of erase-install from the Scripts section of Jamf Pro (it also supports more than 8 arguments for erase-install
because you can add multiple arguments in one Jamf Parameter field) (thanks to @cvgs).--fetch-full-installer
option.df
was returning disk size in kb and not gb) (#274 - thanks to @sphen13).--update
option now uses new logic in installinstallmacos.py
to restrict searches to a certain OS or version (addresses #287).Makefile
to download the correct version of installinstallmacos.py
during the make process.installinstallmacos.py
- if an incorrect checksum is found, the correct version is downloaded rather than the script failing (unless --no-curl
option has been added).--move
is used and the sparseimage is downloaded (#297, thanks to @andyincali)--replace-invalid
, --update
, --overwrite
or --skip-validation
are not set (addresses #298).Published by grahampugh about 2 years ago
rebootdelay
for 10.15 (thanks to @cvgs).--newvolumename
key which will set the volume name after an eraseinstall
workflow (thanks to @bmacphail).Published by grahampugh over 2 years ago
pkg_resources
instead of distutils
where available (allows for removal if distutils
in python 3.12 - addresses grahampugh/macadmin-scripts/issues/47).--fetch-full-installer
option by looking for the latest version if not specified, and checking that a pre-chosen version is in the list. --list
in conjunction with --ffi
also now uses --list-full-installers
instead of reverting to installinstallmacos.py
.--workdir
and --path
(thanks to @cvgs).--max-password-attempts=NN
option, which can also be set to infinite
to prevent canceling the password dialog (addresses #216, thanks to @cvgs).sysctl
to check for Apple Silicon (addresses #225, thanks to @cvgs).--min-drive-space
right before start of the installation (should address #242, thanks to @cvgs).-nobrowse
to all instances of hdiutil
to prevent mounted images appearing on the desktop (thanks to @cvgs).Published by grahampugh over 2 years ago
--catalog
to allow an easier way to select which software update catalog to use, rather than the defaults set in installinstallmacos.py
. Example: --catalog 10.15
will use the catalog for Darwin version 19, --catalog 11
will use Darwin version 20. This is to address omissions in the catalogs for older OSes (somewhat addresses #169, #160).--rebootdelay
option (Big Sur or later) (#193).--fs
option which makes all the DEPNotify windows full screen (download, confirm, preparation).--rebootdelay
is set to at least 10 seconds.--preinstall-command
arguments can now be supplied. These run immediately before startosinstall
is run.--postinstall-command
arguments can now be supplied. These run after startosinstall
has finished.installinstallmacos.py
are now pinned to a tag of the macadmins-scripts
repo so that updates to the script don't break a particular version of erase-install.sh
from working.osascript
dialog windows now run as the user (addresses #198, thanks to @anewhouse).Published by grahampugh over 2 years ago
-nobrowse
to hdiutil
to prevent mounted images appearing on the desktop (thanks to @ryangball).$workdir
so that it persists after an upgrade, and also so it is wiped if using the --cleanup-after-use
option (fixes #161).staff
group for Apple Silicon Macs, since Volume Ownership is already checked it's not necessary, and was preventing non-admin AD users from proceeding (fixes #166).Published by grahampugh about 3 years ago
--preinstall-command
option to run a command prior to the beginning of the startosinstall
run (thanks Fredrik Virding for the idea).--confirm
option for reinstallation (#123)check_newer_available
function (should improve --update
reliability)--move
option (#111).Published by grahampugh about 3 years ago
--allowremoval
is set when doing a reinstall (thanks @anverhousseini).--clear-cache-only
option, which works in conjunction with --overwrite
or --update
to perform the removal of cached installers but then quit rather than carry on with any further workflow (#105).--test-run
has been implemented (#93).Published by grahampugh over 3 years ago
README.md
have been replaced with a wiki.Published by grahampugh over 3 years ago
--depnotify
option. Uses DEPNotify instead of jamfHelper, if it is installed.--no-jamfhelper
option. Ignores the jamfHelper installation. Useful for testing the osascript
dialogs.Published by grahampugh over 3 years ago
--fetch-full-installer
can be used.Published by grahampugh over 3 years ago
--fetch-full-installer
can be used.Published by grahampugh over 3 years ago
/var/log/erase-install.sh
in addition to stdout
.--eraseinstall
on M1, which appears to be a requirement (not for startosinstall
without --eraseinstall
). If it is not, it promotes the user to admin.diskutil apfs updatePreboot /
prior to startosinstall
to (experimentally) address a problem seen by some user accounts that were promoted using Privileges.app
.Published by grahampugh over 3 years ago
--check-power
option. Set this to check for AC power. Also --power-wait-limit
sets a time limit to wait for power (default is 60 seconds).installinstallmacos.py
. This improves download resumption.Published by grahampugh over 3 years ago
--min-drive-space NN
option.--confirm
option (#68).--help
output with more recent keys.Published by grahampugh over 3 years ago
DTSDKBuild
(fixes Issue #53).VolumeName
is not Macintosh HD
or any two-word name (fixes Issue #58).Published by grahampugh almost 4 years ago
caffeinate
to the end of the script but using a second --pidtosignal
argument in startosinstall
to kill caffeinate. It is not documented that --pidtosignal
can be called multiple times, so this is experimental, but seems necessary on Big Sur as the "preparing upgrade" step is much longer than with previous OSs.Published by grahampugh almost 4 years ago
--test-run
option which runs everything except the startosinstall
command. Useful for testing new workflows (test-erase-install.sh
is therefore deleted)Published by grahampugh almost 4 years ago
--current-user
option to use the current logged in user for startosinstall
authorisation on M1/DTK Macs.--user
option to specify a user for startosinstall
authorisation on M1/DTK Macs.--no-fs
option for replacing the full-screen display with a utility window (for testing purposes).caffeinate
before beginning startosinstall
./Volumes/Shared Support/com_apple_MobileAsset_MacSoftwareUpdate/com_apple_MobileAsset_MacSoftwareUpdate.xml
as this is a more reliable build number than the one in Info.plist
.BuildVersion
by splitting the check into more sections (AABCCDDE
instead of AABCCCCD
).--list-full-installers
option which runs softwareupdate --list-full-installers
according to the seedprogram selected.test-erase-install.sh
script is now included in the installer package.Published by grahampugh almost 4 years ago
--auto
was being incorrectly assigned when using --os
, --build
etc.Published by grahampugh almost 4 years ago
--pkg
option allowing the download of an InstallAssistant
package, utilising an update alresdy made to the installinstallmacos.py
fork. For Big Sur or greater only. This will probably need some more error checking.--keep-pkg
option which prevents the deletion of the package if the --move
option is used to extract the package to /Applications
. By default, the package will be deleted on successful extraction.--force-curl
and --no-curl
options, allowing the control of whether to download installinstallmacos.py
. This is in anticipation of a Makefile and package release of erase-install.sh
.Makefile
. This allows you to build a self-contained package containing erase-install.sh
and installinstallmacos.py
so that curl is not used during the run of erase-install.sh
to update installinstallmacos.py
. This requires munkipkg
and expects to find the grahampugh
fork of installinstallmacos.py
in ../macadmins-scripts
. Make sure you don't bundle in Greg Neagle's version of installinstallmacos.py
inadvertently (or this script will fail). A package will be provided on GitHub for this and subsequent versions. Note that erase-install.sh
is installed into /Library/Management/erase-install
. I deliberately have not put erase-install.sh
into the PATH.--user
and --stdinpass
arguments when running on a Silicon Mac. Silicon Macs require an admin user and password to run startosinstall
.10.x
or 11
+ as major versions for OS comparisons.installinstallmacos.py
for os
comparisons failing where no Version is provided from the catalog.