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

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

9 comments

  1. I’ve tried doing what you and others have suggested to instal Rosetta 2 on my new M1 MacBook Pro, but I keep getting this response:
    “Installing Rosetta 2 on this system is not supported.”

    I can’t figure out why it’s not supported on my computer. Supposedly I need it to run my Native Instruments in Logic, they keep causing it to crash… You have any idea about this? Any help much appreciated!

    Thanks!

    Brittany

    1. That’s odd. I’ve seen that error only on Intel Macs. So if you run the arch command, it returns arch64?

      1. I have this same issue, and it returns i386. But my computer says it possesses and M1… not sure what’s going on. My terminal was not opened with Rosetta.

  2. Hi there – thanks for writing this.
    Is there a way to pull the Rosetta 2 pkg to have it for offline installations? I would love to have it.
    For me this thing of actually missing the component which is online – kills the purpose of traveling with my M1 Mac, as you need to be online to pull Rosetta even though you reinstalled the Mac.

    1. I haven’t yet seen a documented way to do this, but there may be a .pkg cache somewhere if you dig around enough.

    1. See above the Name of the installed package and Rosetta is SIP-protected sections. If it’s installed, the package leaves a receipt, and the binary exists and is SIP-protected.

Leave a comment

Your email address will not be published. Required fields are marked *