Skip to content

Instantly share code, notes, and snippets.

@planetf1
Last active June 21, 2024 15:42
Show Gist options
  • Save planetf1/54655891598afe9b1a237b6eeebcdad2 to your computer and use it in GitHub Desktop.
Save planetf1/54655891598afe9b1a237b6eeebcdad2 to your computer and use it in GitHub Desktop.
Installing fedora on macOS

Installing Fedora on MacOS

This article demonstrates how to install Fedora Linux on MacOS.

Specifically we will use

  • a macbook with m1 (arm/apple silicon) processor & 32GB ram
  • macOS Sonoma 14.0
  • Fedora Linux beta
  • UTM as the virtualization tool

The steps are to

  • Install UTM
  • Create a virtual machine environment for Fedora
  • Install Fedora

Installing UTM

UTM can be installed using the installer directly, or using Homebrew. I prefer the latter, as I find it easier to manage most of my applications this way, and I use a lot of linux-like tools

Installing with homebrew

brew install utm-beta

You can also use the stable 'utm' package if you prefer. Replace 'utm-beta' above

Installing with the installer

Download and run the appropriate installer from the UTM website

Creating a virtual machine environment for Fedora

First, we need to download the Fedora image we want to use.

Choose the image from the fedora project download site. For a macbook with apple silicon, chose the ARM aarch64 image, and go for the 'Live ISO' option.

For example the Fedora Workstation 38 Live ISO image for ARM aarch64 is at https://download.fedoraproject.org/pub/fedora/linux/releases/38/Workstation/aarch64/iso/Fedora-Workstation-Live-aarch64-38-1.6.iso

Workstation images will have everthing to run a graphical environment, whilst server is suitable for text only - though you can install a graphical environment later

Installation steps

  • First start UTM

from the Applications folder ![UTM main](utm-mainwindow.png) - Click **+** at the top of the UTM panel to add a new virtual machine ![virtualize](utm-virtoremulate.png) - Select Virtualize, since we have the same hardware architecture (aarch64) for both the fedora image we are installing, and the machine we are running on. This will give the best performance. ![select os](utm-selectos.png) - Select Linux ![linux](utm-linux.png) - On this screen we will *not* select Apple Virtualization - in theory it's faster, but seems to cause some random crashes... - We do need to select the linux image to boot from, so Click *Browse* and select the file you downloaded above. When done click Open then Continue ![select file](utm-selectimg.png) - We now need to start specifying some of the requirements of the virtual machine we need to run. We assume you are going to do some software development and general desktop usage. ![cpuram](utm-cpuramgpu2.png) - Select RAM/CPU needed: - 4GB minimum, 8GB for heavier work - 2 CPU cores minimum, 4 for heavier work - Tick the 'OpenGL acceleration' box - Click Continue ![storage](utm-storage.png) - 64GB data storage is likely appropriate, so just click Continue on the storage page ![shared](utm-shareddir.png) - For now just click Continue on shared directory - Click Save - The new image is now available for use ![vm done](utm-main2.png) ### Optional If you want to refine these settings later, right click on 'Edit'. A few areas worth considering - Under QEMU, enable the 'Balloon' device. This improves memory allocation - the virtual machine can give up memory if it's needs reduce during operation ![utm qemu](utm-qemuoptions.png) - Under Display, select 'Retina mode' to optimize the display for a high definition screen ![utm display](utm-displayopt.png) - Under Network, change the Shared Network to Bridged. This will likely improve performance, and give the virtual machine it's own IP address on the local network. ![utm network](utm-netopt.png)

Starting & installing Fedora

  • Right click on the entry in the UTM UI & click Start boot
  • Allow the virtual machine to boot & login with the detault user login
  • select to install Fedora fedora lang
  • Choose English fedora install desk
  • Click installation destination, and then immediately return by selecting Done. This is required since on a real machine it will result in a format of all storage!
  • Click Begin installation fedora installs
  • When complete the installer will report it's finished fedora install complete
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment