Tag Archive

Installing Rosetta 2 on M1 Apple Silicon Macs (why checks matter)


Posted on December 2, 2020 by alanysiu

Actual guides

This isn’t really a guide to how to install Rosetta 2. There are already much better guides for those:

Rich Trouton’s blog post has some checks to make sure the Mac is running at least macOS 11 (Big Sur), to make sure it’s an actual M1 chip (and not Intel), and to make sure the Rosetta launch daemon isn’t already running.

I think Graham’s script (with fewer checks) has a cleaner check for Intel vs. ARM (arch=$(/usr/bin/arch) instead of processor=$(/usr/sbin/sysctl -n machdep.cpu.brand_string | grep -o "Intel")). Technically, that may be the only check you need, since an M1 chip will almost certainly be macOS 11 or higher.

This weird guide

That said, I thought I’d just see what happens if you don’t do those checks, and I also explore some other nuances.

Catalina on an Intel Mac

If you try to install Rosetta 2 on an Intel Mac, you’ll just get the command not being found.

softwareupdate --install-rosetta --agree-to-license
softwareupdate: unrecognized option `--install-rosetta'
softwareupdate: unrecognized option `--agree-to-license'
usage: softwareupdate  [ ...]

** Manage Updates:
	-l | --list		List all appropriate update labels (options:  --no-scan, --product-types)
	-d | --download		Download Only
	-e | --cancel-download		Cancel a download
	-i | --install		Install
		

Big Sur on an Intel Mac

If you’re running Big Sur on an Intel Mac, the command is there, but you won’t be able to install Rosetta 2.

softwareupdate --install-rosetta --agree-to-license
Installing Rosetta 2 on this system is not supported.

Big Sur on an ARM Mac

Not agreeing to the license

If you run it without agreeing to the license, you’ll get a link to the license agreement and then be prompted to agree:

softwareupdate --install-rosetta
I have read and agree to the terms of the software license agreement. A list of Apple SLAs may be found here: http://www.apple.com/legal/sla/
Type A and press return to agree: A
2020-11-24 09:49:37.314 softwareupdate[9105:207504] Package Authoring Error: 001-26049: Package reference com.apple.pkg.RosettaUpdateAuto is missing installKBytes attribute
Install of Rosetta 2 finished successfully

Installing if it’s already installed

If you install it after it’s already been installed, it just installs again:

softwareupdate --install-rosetta --agree-to-license
By using the agreetolicense option, you are agreeing that you have run this tool with the license only option and have read and agreed to the terms.
If you do not agree, press CTRL-C and cancel this process immediately.
2020-11-24 09:49:52.526 softwareupdate[9127:207674] Package Authoring Error: 001-26049: Package reference com.apple.pkg.RosettaUpdateAuto is missing installKBytes attribute
Install of Rosetta 2 finished successfully

Note: this command seems to run fine whether you run it with sudo or without sudo. That said, if you’re scripting this command, you’re likely using some kind of management tool that runs as root, so sudo should be irrelevant.

Name of the installed package

Here’s the package receipt:

pkgutil --pkgs | grep Rosetta
com.apple.pkg.RosettaUpdateAuto

Rosetta is SIP-protected

You can’t delete the Rosetta binary once it’s installed:

ls -lO /Library/Apple/usr/share/rosetta
total 8
-rw-r--r--  1 root  wheel  restricted 64 Oct 18 13:24 rosetta
ls -lO /Library/Apple/usr/share/rosetta/rosetta 
-rw-r--r--  1 root  wheel  restricted 64 Oct 18 13:24 /Library/Apple/usr/share/rosetta/rosetta


20