arm mac on arm mac
last updated: Jan 27, 2026
For work, I needed to test a mac setup script which required a clean mac installation.
Rather than try to blow up my own computer and start fresh, I wanted to use a VM.
My first attempt was using tart. Install went smoothly:
brew install cirruslabs/cli/tart
tart clone ghcr.io/cirruslabs/macos-tahoe-base:latest tahoe-base
tart run --dir=setup-tree:~/project/setup-tree tahoe-base
With the --dir argument in place, tart mounted my directory to /Volumes/My\ Shared\ Files/setup-tree which is a bit of a weird directory but good enough.
Unfortunately, my setup script uses homebrew, and brew ran so slowly in the VM that it wasn't able to succeed at installing a few packages.
For my next test, I'm trying out UTM
- I needed an IPSW image, so I found ipsw.me which catalogs them
- The download was failing in firefox, so I found they had an API
curl 'https://api.ipsw.me/v4/devices' | jqlisted the devices, and I chose an identifierMac16,8. The website listed an image id as25C56curl 'https://api.ipsw.me/v4/ipsw/download/Mac16,8/25C56'returned a link to updates.cdn-apple.com with a restore imagecurl 'https://updates.cdn-apple.com/2025FallFCS/fullrestores/093-37399/E144C918-CF99-4BBC-B1D0-3E739B9A3F2D/UniversalMac_26.2_25C56_Restore.ipsw' -o UniversalMac_26.2_25C56_Restore.ipswto download that image
- I created an image based on that ipsw file, and went through the install setup, which was slow but worked fine
- I added a shared directory in the UTM UI, and had to shutdown and restart the image, at which point it was in
/Volumes/My\ Shared\ Filesjust like in tart above