I want to install Mojave onto an external drive, using a Mac that has Catalina as its current OS. The Mac is old enough to run Mojave.
A specific form of this question has been asked before, to which the answer is “create a USB installer disk”.
I’m wondering if it might be possible without this workaround. Firstly, it requires the purchase of a USB stick. Catalina now requires just slightly more than 8GB, so I need a 16 GB stick at least. Admittedly, these are cheap and plentiful.
But I already have loads of 8GB sticks and the alternative to buying another bit of hardware is to sacrifice a 500 GB USB drive, which I already have, to become an installer medium.
However, creating an installer disk involves the
createinstallmedia command line tool inside the MacOS installer app bundle. There are also several other tools, including:
startosinstall, which yields the following info:
--license, prints the user license agreement only.
--agreetolicense, agree to the license you printed with --license.
--rebootdelay, how long to delay the reboot at the end of preparing. This delay is in seconds and has a maximum of 300 (5 minutes).
--pidtosignal, Specify a PID to which to send SIGUSR1 upon completion of the prepare phase. To bypass "rebootdelay" send SIGUSR1 back to startosinstall.
--installpackage, the path of a package (built with productbuild(1)) to install after the OS installation is complete; this option can be specified multiple times.
--eraseinstall, (Requires APFS) Erase all volumes and install to a new one. Optionally specify the name of the new volume with --newvolumename.
--newvolumename, the name of the volume to be created with --eraseinstall.
--preservecontainer, preserves other volumes in your APFS container when using --eraseinstall.
--usage, prints this message.
The internals of the tool suggests that there’s also a
--volume flag to set the target drive, but using that option just flags a usage error.
While there’s nothing entirely helpful here, and I can’t find any other usage options for the several other tools in the app bundle, I’m still hopeful that there’s a way of doing this via the command line.
So I thought I’d ask, even if it’s just to get a confirmatory “No; duplicate”, because the benefits to the community of getting a method would be large.