blob: 1dab26304ce323a2fd116c31cb4957faf0ae3f9e [file] [log] [blame] [view] [edit]
# Install Fuchsia on a NUC
This document describes how to get a NUC up and running with Fuchsia.
[TOC]
## 1. Get Parts {#get-parts}
You need the following:
- USB 3.0 Drive
- NUC
- RAM
- m.2 SSD
- Keyboard
- Monitor that supports HDMI
- HDMI cable
- Ethernet cable
- Magnetic tip phillips head screwdriver
This table shows some example parts you can get from Amazon.
| Item | Link | Notes: |
| ---- | ---- | ------ |
| NUC | [B01MSZLO9P](https://www.amazon.com/gp/product/B01MSZLO9P) | Get a NUC7 (Kaby Lake) or NUC6 (Skylake) for GPU support. |
| RAM | [B01BIWKP58](https://www.amazon.com/gp/product/B01BIWKP58) | Works fine. |
| SSD | [B01IAGSDJ0](https://www.amazon.com/gp/product/B01IAGSDJ0) | Works fine. You only need one of these SSDs. |
| SSD | [B00TGIVZTW](https://www.amazon.com/gp/product/B00TGIVZTW) | Works fine. |
| SSD | [B01M9K0N8I](https://www.amazon.com/gp/product/B01M9K0N8I) | Works fine. |
| Monitor | [B015WCV70W](https://www.amazon.com/gp/product/B015WCV70W) | Works fine. |
| HDMI Cable | [B014I8SIJY](https://www.amazon.com/gp/product/B014I8SIJY) | Works fine. |
| Keyboard | [B00B7GV802](https://www.amazon.com/gp/product/B00B7GV802) | Works fine. It also includes a mouse. |
| USB 3.0 drive | [B01BGTG41W](https://www.amazon.com/gp/product/B01BGTG41W) | Works fine. |
## 2. Prepare the NUC {#prepare-the-nuc}
NUCs dont come with RAM or an SSD, so you need to install them.
<img width="50%" src="/docs/images/developing_on_nuc/parts.jpg"/>
Follow the instructions to install the RAM and SSD on the NUC:
1. Remove the phillips screws in the bottom feet of the NUC.
<img width="50%" src="/docs/images/developing_on_nuc/nuc_bottom.jpg"/>
<img width="50%" src="/docs/images/developing_on_nuc/nuc_inside.jpg"/>
1. Install the RAM.
1. Remove the phillips screw that will hold the SSD in place (phillips screwdriver with magnetic tip is useful here).
1. Install the SSD.
1. Screw the SSD in place using screw from Step 3.
<img width="50%" src="/docs/images/developing_on_nuc/parts_installed.jpg"/>
1. Replace bottom and screw feet back in.
1. Plug power, ethernet cable, HDMI, and keyboard into the NUC.
1. Plug the other end of the ethernet cable into your build workstation or the router/switch that connects to your build workstation.
## 3. Enable EFI booting {#enable-efi-booting}
1. Reboot NUC.
1. Press F2 while booting to enter BIOS.
1. In the Boot Order window on the left, click the Legacy tab.
1. Uncheck Legacy Boot’.
<img width="50%" src="/docs/images/developing_on_nuc/bios.jpg"/>
1. Click the `Advanced` button and confirm the following boot configuration:
1. Select the `Boot Priority` tab.
1. Check `UEFI Boot`.
1. Set `USB` the first entry in the boot order.
1. Select the `Boot configuration` tab.
1. Check `Boot Network Devices Last`.
1. Check `Unlimited Network Boot Attempts`.
1. Check `USB boot devices`.
1. Set `Network boot` to `UEFI PXE & iSCSI`.
2. Select the `Secure Boot` tab and uncheck `Secure Boot`.
3. Press F10 to save the changes and exit BIOS.
Note: Network booting only works with the NUC's *built-in* ethernet, netbooting via
USB-ethernet dongle is unsupported.
If you want to remotely manage the device, see [Remote Management for NUC](nuc-remote-management.md).
## 4. Build Fuchsia {#build-fuchsia}
1. Follow the [getting started guidelines](/docs/get-started/README.md). Make sure to
use the board configuration `x64` when running `fx set`. For example `fx set core.x64`.
## 5. Pave Fuchsia {#pave-fuchsia}
1. Plug your USB key into your build workstation.
1. Identify the path to your USB key by running `fx list-usb-disks`.
1. Create a Zedboot USB by running `fx mkzedboot /path/to/usb/disk`.
1. Plug the Zedboot USB key into the NUC and boot it.
1. When Zedboot is started, press Alt+F3 to switch to a command line prompt.
1. Run `lsblk` on the device. Take note of the HDD or SSD's block device path.
1. An example path looks like `/dev/sys/pci/00:17.0/ahci/sata0/block`
1. Run `install-disk-image init-partition-tables --block-device <BLOCK_DEVICE_PATH>` on the device to
wipe and initialize the partition tables on the NUC. Use the block device path from the previous
step.
1. Run `fx serve` on your workstation to install Fuchsia on the NUC.
1. After paving is completed, disconnect the USB key.