This document describes how to set up the Fuchsia emulator (FEMU).
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
.
For Fuchsia's ephemeral software to work with FEMU, you need to configure an IPv6 network.
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
You need to install TunTap{:.external}, kernel extensions that allow macOS to create virtual network interfaces.
To install TunTap on macOS:
Install Homebrew{:.external}:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Install TunTap:
brew cask install tuntap
The installation of TunTap may fail at first. In that case, do the following:
Open System Preferences
.
Open Security & Privacy
and select theGeneral
tab.
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).
Run the install command again:
brew cask install tuntap
After installing TunTap, run the following command:
sudo chown $USER /dev/tap0
The most common way to run FEMU is with networking enabled, using the following command:
fx emu -N
Once you run the command, a separate window opens with the title “Android Emulator” where you can run shell commands on your Fuchsia emulator, just like you would on a Fuchsia device.
Note: If you don't have access to the GUI in Linux, you will get an error and a suggestion to run the emulator using xvfb-run
. xvfb-run fx emu
loads FEMU using a virtual framebuffer and allows FEMU to work without a GUI.
Note: If you need to reach the internet from FEMU, configure IP forwarding and IPv4 support on the emulator TAP interface.