Install Fuchsia on a NUC

This guide provides instructions on how to install Fuchsia on an Intel NUC{:.external} (Next Unit of Computing) device.

The steps are:

  1. Prerequisites.
  2. Build Fuchsia.
  3. Prepare a USB drive.
  4. Enable EFI booting on the NUC.
  5. Install Fuchsia on the NUC.

1. Prerequisites

Before you start installing Fuchsia on a NUC device, make sure that you've completed the following tasks:

Set up the Fuchsia development environment

To set up the Fuchsia development environment on your workstation, complete the Get started with Fuchsia guide.

Get parts

Note: Fuchsia only supports the specific system configurations listed in Supported system configurations.

The following parts are required for this guide:

  • A NUC device (see example models)
  • A USB 3.0 flash drive
  • A keyboard
  • A mouse (Optional)
  • A monitor with an HDMI port
  • An HDMI cable
  • An Ethernet cable
  • A Phillips-head screwdriver (with a magnetic tip)

Note: The 2. Build Fuchsia and 3. Prepare a USB drive sections do not require a NUC device, so you can complete these sections prior to obtaining a NUC device. However, you will need a USB flash drive for the 3. Prepare a USB drive section.

2. Build Fuchsia

Installing Fuchsia on a NUC device requires that you build a Workstation image (workstation.x64) and generate build artifacts (which include the Fuchsia installer) on your workstation.

To build Fuchsia for NUC installation, do the following:

  1. Set your build configuration to workstation.x64 and include the recovery package (recovery-installer):

    fx set workstation.x64 --with //build/images/recovery:recovery-installer
    
  2. Build Fuchsia:

    fx build
    

    Building Fuchsia can take up to 90 minutes.

3. Prepare a USB drive

You need to prepare a bootable USB drive that runs the Fuchsia installer. Later in the Install Fuchsia on the NUC section, you will use this USB drive to boot your NUC into the Fuchsia installer.

Note: The instructions below require that you've completed the build in the previous Build Fuchsia section.

To prepare a bootable USB drive, do the following:

  1. Plug the USB drive into your workstation.

  2. Identify the path to the USB drive:

    fx list-usb-disks
    

    This command prints output similar to the following:

    $ fx list-usb-disks
    /dev/sda - My Example USB Disk
    
  3. Create a bootable USB drive:

    fx mkinstaller -v --new-installer {{ "<var>" }}PATH_TO_USB_DRIVE{{ "</var>" }}
    

    Replace PATH_TO_USB_DRIVE with the path to the USB drive from the step above.

    The example command below selects the /dev/sda path:

    $ fx mkinstaller -v --new-installer /dev/sda
    

    When finished, the command prints output similar to the following in the end:

    $ fx mkinstaller -v --new-installer /dev/sda
    mkinstaller: WARNING: Changing ownership of /dev/sda to alice
    [sudo] password for alice:
    ...
    mkinstaller: INFO:    Writing image fvm.sparse.blk to partition storage-sparse...
    mkinstaller: INFO:      Wrote 835.6M in 35.55s, 23.5M/s
    mkinstaller: INFO: Done.
    mkinstaller: INFO: Ejected USB disk
    
  4. Unplug the USB drive from the workstation.

4. Enable EFI booting on the NUC

Update your NUC's BIOS setup so that it can boot from a USB drive.

To enable EFI (Extensible Firmware Interface) booting on your NUC, do the following:

  1. Reboot your NUC.

  2. To enter the BIOS setup, press F2 while booting.

  3. In the Boot Order window on the left, click the Legacy tab.

  4. Uncheck Legacy Boot.

  5. Click the Advanced button.

  6. Confirm the following boot configuration:

    • Under the Boot Priority tab:
      • UEFI Boot is checked.
    • Under the Boot Configuration tab:
      • In the UEFI Boot window:
        • Boot USB Devices First is checked.
        • Boot Network Devices Last is checked.
        • Unlimited Network Boot Attempts is checked.
      • In the Boot Devices window:
        • USB is checked.
        • Network Boot is set to UEFI PXE & iSCSI.
    • Under the Secure Boot tab:
      • Secure Boot is unchecked.
  7. To save and exit BIOS, press F10 and click Yes.

5. Install Fuchsia on the NUC

Use the bootable USB drive to boot your NUC into the Fuchsia installer. It then flashes the Workstation prebuilt image from your workstation to the NUC to install Fuchsia for the first time.

To install Fuchsia on your NUC, do the following:

  1. Plug the bootable USB drive into the NUC.

  2. Reboot your NUC.

    The NUC boots into the Fuchsia Workstation Installer (with a pink background).

  3. Press Enter to select the Install from USB option.

  4. Press Enter on other prompts to continue.

    When the installation is finished, the screen displays Success! Please restart your computer.

  5. Unplug the USB drive from the NUC device.

  6. Reboot the NUC device.

    The NUC is now booted into Fuchsia’s Workstation.

  7. Set your login password to start the Fuchsia Workstation.

Later, if you need to install a new version of Fuchsia (for instance, after re-building a new Workstation image using fx build), see the Flash a new Fuchsia image to the NUC section in Appendices.

Important: If you plan on using this NUC device for Fuchsia development, you must complete the steps in the Flash a new Fuchsia image to the NUC section at least once after installing Fuchsia from a bootable USB drive. Running fx flash will upload Fuchsia-specific SSH keys to the NUC device, which then enables other useful ffx workflows.

Appendices

Supported NUC models

For GPU support, get a NUC7 (Kaby Lake) or NUC8 (Coffee Lake), or a higher generation.

The list below shows some example models:

Flash a new Fuchsia image to the NUC

Once a NUC is running Fuchsia, you can use Fuchsia's flashing mechanism to provision a new Fuchsia image to the NUC.

To flash a Fuchsia image to your NUC, do the following:

  1. Connect the NUC directly to the workstation using an Ethernet cable (or connect the NUC to a router or WiFi modem in the same Local Area Network as the workstation).

    Note: Network booting only works with the NUC's built-in Ethernet port – netbooting with an USB port (via an Ethernet-to-USB adapter) is not supported.

  2. Reboot your NUC.

  3. To boot the NUC into Fastboot mode, press the f key at the Fuchsia boot screen.

    Once the NUC is in Fastboot mode, you can see entering fastboot mode printed on the screen.

  4. On your workstation, detect the NUC in Fastboot mode:

    ffx target list
    

    This command prints output similar to the following:

    $ ffx target list
    NAME                      SERIAL       TYPE       STATE       ADDRS/IP                           RCS
    fuchsia-54b2-0389-644b    <unknown>    Unknown    Fastboot    [fe81::55b1:2ff:fe34:567b%en10]    N
    

    Verify that the device's state is in Fastboot.

  5. Flash a new Fuchsia image to the NUC:

    Note: To build a new Fuchsia image, see the Build Fuchsia section above.

    fx flash
    

    When finished, the NUC reboots and starts running the new Fuchsia image.

    Important: When using this NUC device for Fuchsia development, currently for other ffx workflows, you can only use USB ports to connect the NUC to your host machine. In other words, undo the cable setup in Step 1 above, and use 2 Ethernet-to-USB adapters and an Ethernet cable to establish a connection between the NUC and your host machine using only USB ports.