Last active
January 12, 2023 05:25
-
-
Save esutton/5bd487b9e657ecd91cd66cdd247b3fae to your computer and use it in GitHub Desktop.
Create macOS Catalina Bootable ISO Image
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# | |
# File: macos-installer-to-iso.sh | |
# | |
# Create a bootable ISO image from a macOS installer to install VMware ESXi guests. | |
# | |
# https://gist.github.com/Kutkovsky/613e29f35d3ef420b23b59ecdf7a28e0 | |
# Debug on: set -x | |
set -eux | |
# App Store downloads macOS isntaller to here: | |
# /Applications/Install\ macOS\ Catalina.app | |
buildDir=macos-build-iso | |
installBuild=install_build | |
target=Catalina | |
macOsInstallerName="Install macOS ${target}" | |
echo "Clean..." | |
if [ -d "/Volumes/${installBuild}" ]; then | |
hdiutil detach /Volumes/${installBuild} | |
fi | |
if [ -d "/Volumes/${macOsInstallerName}" ]; then | |
hdiutil detach "/Volumes/${macOsInstallerName}" | |
fi | |
if [ -d "${buildDir}" ]; then | |
rm -rf ${buildDir} | |
fi | |
mkdir -p ${buildDir} | |
hdiutil create -o "${buildDir}/${target}.cdr" -size 10000m -layout SPUD -fs HFS+J | |
sudo hdiutil attach "${buildDir}/${target}.cdr.dmg" -noverify -mountpoint /Volumes/${installBuild} | |
sudo "/Applications/${macOsInstallerName}.app/Contents/Resources/createinstallmedia" --volume /Volumes/${installBuild} --nointeraction | |
hdiutil detach "/Volumes/${macOsInstallerName}" | |
hdiutil convert "${buildDir}/${target}.cdr.dmg" -format UDTO -o "${buildDir}/${target}.iso" | |
mv ${buildDir}/${target}.iso.cdr ${buildDir}/${target}.iso | |
rm ${buildDir}/${target}.cdr.dmg | |
# Now there should be an ISO called Catalina.iso in the `out` folder | |
# Upload the resulted ISO to vSphere datastore (upload to an ESXi host) | |
# Create a new VM as Guest OS set to `Other:Apple macOS 10.14 64-bit`. Don't start a VM | |
# Then compatibility should set to `ESXi 6.7 update 2 and later` and Guest OS to `Windows 10 64-bit` | |
# Start the VM, make sure that CDROM with datastore ISO (Catalina.iso) is connected | |
# Disable the Network boot option in vSphere BIOS menu. Restart VM | |
# Installer should start. You should choose Disk Utility, and initialize the VMware Virtual SATA Hard Drive Media | |
# (since keyboard ain't work - using existing `Untitled` name) | |
# Wait util installer completes. VM will not boot. Shutdown VM, change Guest OS profile back to `Other:Apple macOS 10.14 64-bit` | |
# Once Catalina is installed, download the latest VMware tools and install it. | |
# It took two reboots for me to completion (will require to unblock security extension) | |
# Credits to Intel008 and Bogdam from https://communities.vmware.com/thread/611961 | |
# Credits to mkuzmin https://github.com/jetbrains-infra/packer-builder-vsphere/blob/master/examples/macos/setup/iso-macos.sh | |
# Credits to pat-s https://gist.github.com/agentsim/00cc38c693e7d0e1b36a2080870d955b |
@mistacabbage Good to know it works with macOS Catalina 10.15.4 and VMware Fusion Professional 11.5.3 !
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks! This actually worked with macOS Catalina 10.15.4 Build 19E287 and VMware Fusion Professional Version 11.5.3 (15870345). The Fusion vm showed the Apple logo and booted straight into Recovery Mode.