Linux distribution

Rocky Linux VMs on Apple Silicon Macs

Run mvz create rocky dev and MacVisor downloads Rocky Linux 10's ARM64 GenericCloud image from dl.rockylinux.org, checks it against Rocky's checksum, and makes a VM with your account and SSH keys. Rocky Linux 9 is rocky-9. Both run every container runtime MacVisor offers, with SELinux enforcing.

  • Apple Silicon (M1 or later)
  • macOS 27 on the Mac
  • Rocky Linux 10 or 9, ARM64

30 days free, no key or payment details. Apple Silicon with macOS 27.

A stylised MacVisor window with a Rocky Linux VM's terminal showing dnf and a running container.

Create a Rocky Linux VM

In the app, choose New VM → Linux → Cloud Image → Rocky Linux 10. From Terminal:

mvz create rocky dev                        # Rocky Linux 10 (alias: rocky)
mvz create rocky-9 el9                      # Rocky Linux 9
mvz shell dev --start

Rocky 10's image is Rocky-10-GenericCloud-Base, and Rocky 9's is Rocky-9-GenericCloud, both aarch64 builds from dl.rockylinux.org, checked against the .CHECKSUM file Rocky publishes beside each. The catalogue tracks Rocky's latest build of each.

What you get

Your account has your Mac user name and UID, your SSH keys, bash and sudo without a password. The MacVisor Agent, Rosetta and automatic port forwarding are set up on the first boot.

Rocky Linux is a rebuild of Red Hat Enterprise Linux. Use it to build and test software for RHEL-family servers, to rehearse a dnf or SELinux change before it goes to production, or to keep a Rocky 9 and a Rocky 10 VM side by side while you port something.

Containers

All four runtimes work on Rocky 10 and 9.

mvz create rocky web --runtime docker
mvz create rocky pods --runtime podman
  • Podman comes from Rocky's own repositories, rootless, with its Docker-compatible API forwarded to the Mac.
  • Docker comes from Docker's repository for RHEL (docker-ce), since Rocky ships none.
  • containerd is a rootless nerdctl setup. Rocky's cloud kernel leaves out some iptables modules that containers need to publish ports, so MacVisor installs kernel-modules-extra for the running kernel.
  • k3s runs as a single node. Give it at least 4 GiB of memory.

Quirks

  • SELinux enforcing. getenforce in a new VM says Enforcing. MacVisor runs its per-user setup as a system service, which the policy allows, so rootless runtimes come up without turning SELinux off. Rootless containerd was tested this way on Rocky 10.
  • XFS root. The disk grows with mvz set dev --disk 128, and the filesystem follows at the next boot. It can't shrink.
  • Missing modules. When Rocky's mirrors have no kernel-modules-extra for the running kernel, the runtime log says so. Update the kernel with dnf and reboot, and containers can publish ports again.

FAQ

Common questions

More in the documentation and known limitations.

Which Rocky Linux version does mvz create rocky make?

Rocky Linux 10. The alias rocky points to rocky-10. For Rocky Linux 9, run mvz create rocky-9 followed by a name. Both track Rocky's newest GenericCloud build.

How does MacVisor install Docker on Rocky Linux?

Rocky, like RHEL, ships Podman and no Docker Engine. With --runtime docker, MacVisor adds Docker's own repository for RHEL and installs docker-ce, the CLI, containerd, Buildx and Compose, then adds your account to the docker group.

Does SELinux stay enforcing in a Rocky Linux VM?

Yes. MacVisor leaves SELinux as Rocky ships it, and its container runtimes were tested on Rocky 10 with SELinux enforcing.

Can I shrink a Rocky Linux VM's disk?

No. Rocky's root filesystem is XFS, which can grow but never shrink, and MacVisor grows Linux disks only. Start with the default 64 GiB sparse disk, which takes only the space the guest writes, and grow it with mvz set when you need more.

Run your Mac like a virtualization host.

macOS, Windows 11, Linux and FreeBSD VMs that keep running with the app closed, with snapshots, networks, backups and the mvz command line.