This guide provides instructions on how to install Fuchsia on an Intel NUC{:.external} (Next Unit of Computing) device.
The steps are:
Before you start installing Fuchsia on a NUC device, make sure that you've completed the following tasks:
To set up the Fuchsia development environment on your workstation, complete the Get started with Fuchsia guide.
Note: Fuchsia only supports the NUC configurations listed in Supported system configurations. However, unsupported NUC configurations may also work with Fuchsia. For more information on experimental setups, see Experimental hardware.
The following parts are required for this guide:
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.
Installing Fuchsia on a NUC device requires that you build a Workstation image (workstation_eng.x64) and generate build artifacts (which include the Fuchsia installer) on your workstation.
To build Fuchsia for NUC installation, do the following:
Set your build configuration to workstation_eng.x64 and include the recovery package (recovery-installer):
fx set workstation_eng.x64 --with //build/images/recovery:recovery-installer
Build Fuchsia:
fx build
Building Fuchsia can take up to 90 minutes.
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.
Important: 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:
Plug the USB drive into your workstation.
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
Create a bootable USB drive:
fx mkinstaller -v {{ "<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 /dev/sda
When finished, the command prints output similar to the following in the end:
$ fx mkinstaller -v /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
Unplug the USB drive from the workstation.
Update your NUC's BIOS setup so that it can boot from a USB drive.
The steps are slightly different depending on which BIOS is included in your system:
Visual BIOS:
Aptio V BIOS:
{Visual BIOS}
To enable EFI (Extensible Firmware Interface) booting on your NUC, do the following:
F2 while booting.Under the Boot Priority tab:
Under the Boot Configuration tab:
Under the Secure Boot tab:
F10 and click Yes.{Aptio V BIOS}
To enable EFI (Extensible Firmware Interface) booting on your NUC, do the following:
F2 while booting.In the Secure Boot section:
In the Boot Priority section:
Note: If the above options don‘t appear, your system doesn’t support legacy boot and those steps can be skipped.
F10 and click Ok.Use the bootable USB drive to boot your NUC into the Fuchsia installer. It then installs the Workstation image (which was built in the Build Fuchsia section) to the NUC.
To install Fuchsia on your NUC, do the following:
Plug the bootable USB drive into the NUC.
Reboot your NUC.
The NUC boots into the Fuchsia Workstation Installer (with a pink background).
Press Enter to select the Install from USB option.
Press Enter on other prompts to continue.
Once the installation completes, unplug the USB drive from the NUC device.
Reboot the NUC device.
The NUC is now booted into Fuchsia’s Workstation.
Note: Later, if you need to install a new version of Fuchsia (for instance, after re-building a new Workstation image using fx build), see Flash a new Fuchsia image to the NUC in Appendices.
If you plan on using this NUC device for Fuchsia development, you need to flash a Fuchsia image to the NUC device from your host machine, which in turn uploads the Fuchsia-specific SSH keys to the NUC. Once those Fuchsia-specific SSH keys are uploaded to the NUC, you can perform ffx-based workflows on the NUC from your host machine.
To upload Fuchsia SSH keys to the NUC, do the following:
Complete the steps in the Flash a new Fuchsia image to the NUC section in Appendices.
To verify that you can connect to the NUC from the host machine, run the following command:
ffx target show
This command prints output similar to the following:
$ ffx target show Target: Name: "fuchsia-54b2-0389-644b" SSH Address: "fe81::55b1:2ff2:fe34:567b%en10:22" Board: Name: "default-board" Revision: "1" Instruction set: "x64" ...
For GPU support, get a NUC7 (Kaby Lake) or NUC8 (Coffee Lake), or a higher generation.
The list below shows some example models:
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:
Connect the NUC directly to the workstation using an Ethernet cable.
(Or you can also 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.
Reboot your NUC.
On Fuchsia's boot screen, press the f key to select the fastboot option.
Once the NUC is in Fastboot mode, it prints Fastboot TCP is ready on the screen.
On your workstation, discover 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:2ff2:fe34:567b%en10] N
Verify that the device's state is Fastboot.
Flash a new Fuchsia image to the NUC:
Note: To build a new Fuchsia image, see the Build Fuchsia section above.
fx flash
If you have multiple devices connected to the host machine previously, you may need to explicitly specify the name of the NUC device, for example:
fx flash -s fuchsia-54b2-0389-644b
When finished, the NUC reboots and starts running the new Fuchsia image.