How to Install Alpine Linux on macOS Using QEMU: A Step-by-Step Guide

Mar 17, 2025

How to Install Alpine Linux on macOS Using QEMU: A Step-by-Step Guide

Learn how to set up and boot Alpine Linux on macOS using QEMU. Follow this step-by-step guide to create a virtual machine with Alpine Linux efficiently.

Subject Matter Expert

Tanmay Soni
Tanmay SoniSenior Software Engineer - I

Virtualization is a powerful technology that allows you to run multiple operating systems on a single host system. QEMU, an open-source emulator, is an excellent tool for creating virtual machines on macOS. In this guide, we will walk you through the process of preparing an Alpine Linux image and booting it up using QEMU on your macOS system. Alpine Linux is known for its lightweight nature and security, making it an ideal choice for virtualization

Prerequisites:

  • Prior to beginning, please verify that you have already installed QEMU on your system. You can refer to the following tutorial for guidance: Getting Started with QEMU: Your Gateway to Virtual Machines.
  • Additionally, ensure you have downloaded an Alpine Linux ISO file to your system.
    You can download it from here.
  • You will also need to download the QEMU_EFI image, which can be obtained from this link.

Steps to Prepare the Alpine Linux Image and Boot the VM:

Create Disk Images:

Before you can boot the Alpine Linux VM, you need to create a disk image to install the operating system. Use the following command to create a 5GB disk image file named alpine.qcow2:

 $ qemu-img create -f qcow2 alpine.img 5G

Additionally, you'll want to create a variable storage disk image named varstore.img. This 64MB virtual disk acts as dedicated storage for temporary data and configurations used by your Alpine Linux virtual machine. In order to create vartstore.img you need to follow this command:

 $ qemu-img create -f qcow2 varstore.img 64M

Start the Alpine Linux Installation:

Use the following command to start the Alpine Linux installation:

 $ qemu-system-aarch64 -m 1024 \
   -drive if=pflash,format=raw,file=QEMU_EFI.img \
   -drive if=pflash,file=varstore.img \
   -drive if=virtio,file=alpine.img \
   -cdrom alpine-linux.iso -boot d -netdev user,id=eth0 \
   -device virtio-net-pci,netdev=eth0
  • -m 1024 specifies the VM's memory size (1GB).
  • -drive if=pflash,format=raw,file=QEMU_EFI.img line refers to the pflash disk image for EFI firmware.
  • -drive if=pflash,file=varstore.img line designates the variable storage disk image.
  • -drive if=virtio,file=alpine.img is for the main Alpine Linux disk image.
  • -cdrom alpine-linux.iso mounts the Alpine Linux ISO as a CD-ROM.
  • -boot d specifies to boot from the CD-ROM.
  • -netdev user,id=eth0 -device virtio-net-pci,netdev=eth0 configures a user-mode network connection.

Install Alpine Linux:

Once the installation is successful, and you are in the VM for first time then please run the below command to setup your VM to use Alpine-Linux.

 setup-alpine

Follow the on-screen instructions to install Alpine Linux on the virtual machine. You can choose to install it on the virtual disk you created (/dev/vda).

Boot the VM:

Once the installation is complete, shut down the VM using ^ + d, or enter poweroff and then boot the VM with your newly installed Alpine Linux using the following command - 

 qemu-system-aarch64 -m 4G -nographic \
 -drive if=pflash,format=raw,file=QEMU_EFI.img \
 -drive if=pflash,file=varstore.img \
 -drive if=virtio,file=alpine.img \
 -netdev user,id=eth0,hostfwd=tcp::2222-:22 \
 -device virtio-net-pci,netdev=eth0

Conclusion:

You have successfully prepared an Alpine Linux image and booted it up on your macOS system using QEMU. This lightweight and secure Linux distribution is ideal for various virtualization tasks. Explore Alpine Linux's package management system, build custom VMs, and enjoy the flexibility and performance of QEMU for virtualization on macOS.

Source: This blog is authored by Faiz Ahmed, Principal Technical Consultant at GeekyAnts. Originally published on Hashnode: Read here.

Subscribe to Our Newsletter

More from the engineering frontline.

Dive deep into our research and insights on design, development, and the impact of various trends to businesses.
Insight
Why Legacy Systems Make Business Growth More Expensive: Navigate A Smarter Path to Legacy Modernization
Sep 23, 2026

Why Legacy Systems Make Business Growth More Expensive: Navigate A Smarter Path to Legacy Modernization

Learn how legacy systems make business growth more expensive and how edge-first modernization can remove constraints without replacing the existing system.

Insight
SSO, Audit Logs and RBAC: The Enterprise Features AI Prototyping Tools Do Not Cover | Sarika Gautam
Sep 23, 2026

SSO, Audit Logs and RBAC: The Enterprise Features AI Prototyping Tools Do Not Cover | Sarika Gautam

Why AI-generated prototypes fail enterprise review: the context behind SSO, the cost of skipping audit logs, and how role explosion makes RBAC a product of its own.

Insight
Feature Flags as Technical Debt: The Cleanup Nobody Schedules
Sep 21, 2026

Feature Flags as Technical Debt: The Cleanup Nobody Schedules

This blog explains how unmanaged feature flags create technical debt and how teams can detect, manage, and remove them safely.

Insight
Building AI-First Enterprises: Why System Design Matters More Than AI Adoption
Sep 21, 2026

Building AI-First Enterprises: Why System Design Matters More Than AI Adoption

This blog explores how system design, architecture, and validation shape AI-first enterprises, while examining AIโ€™s impact on software engineering and human decision-making.

Insight
The Product Studio in the AI Era: What Actually Changes | Sarika Gautam
Sep 21, 2026

The Product Studio in the AI Era: What Actually Changes | Sarika Gautam

What changes in product development when AI writes the code: the shift to architecture, the token cost of unplanned builds, and why juniors still matter.

Insight
AI and the Future of Digital Customer Experience: Where Technology Meets Human Creativity
Sep 18, 2026

AI and the Future of Digital Customer Experience: Where Technology Meets Human Creativity

A discussion on how AI, human creativity, research, and cross-functional collaboration are shaping the future of digital customer experience.

Insight
Scaling Down Before Scaling Up: Why Bigger Servers Donโ€™t Fix Bad Architecture
Sep 17, 2026

Scaling Down Before Scaling Up: Why Bigger Servers Donโ€™t Fix Bad Architecture

This blog explores how inefficient backend architecture can cause performance issues even under low traffic, covering practical ways to reduce database load, API latency, and resource usage before scaling infrastructure.

The Right Conversation Can

Save You Six Months.

Book a call