Set up the Fuchsia emulator (FEMU)

This document describes how to set up the Fuchsia emulator (FEMU). For more information, see the Fuchsia emulator (FEMU) overview.

Prerequisites

To run FEMU, you must have

Note: When you configure Fuchsia for an emulator, use the fx set command to set an emulator-specific board, either qemu-x64 or qemu-arm.

Configure network

For Fuchsia's ephemeral software to work with FEMU, you need to configure an IPv6 network.

Linux

To enable networking in FEMU, run the following commands:

sudo ip tuntap add dev qemu mode tap user $USER
sudo ip link set qemu up

macOS

You need to install TunTap{:.external}, kernel extensions that allow macOS to create virtual network interfaces.

For macOS 10.9 (Mavericks) and 10.10 (Yosemite), install TunTap using this installation package{:.external}.

For macOS 10.13 (High Sierra) and later versions, do the following:

  1. Install Homebrew{:.external}:

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  2. Install TunTap:

    brew cask install tuntap
    

The installation of TunTap may fail at first. In that case, do the following:

  1. Open System Preferences.

  2. Open Security & Privacy and select theGeneral tab.

  3. Next to the System software from developer "Mattias Nissler" was blocked from loading. message, click Allow (see Apple's User-Approved Kernel Extension Loading{:.external} for details).

  4. Run the install command again:

    brew cask install tuntap
    

After installing TunTap, run the following command:

sudo chown $USER /dev/tap0

Start FEMU

The most common way to run FEMU is with networking enabled, using the following command:

fx emu -N

For more options on running FEMU, see Running the Fuchsia Emulator.

Note: If you need to reach the internet from FEMU, configure IP forwarding and IPv4 support on the emulator TAP interface.