Intel NUC Kodi

I don’t know about you but it really bugs me when I have a piece of technology and I’m not able to fully use its potential. When I got a new amp it turned out that my RaspberryPi which served me well as media player for a while didn’t support Dolby True HD and DTS MD pass-through. After some soul researching I decided to put my money on an Intel NUC unit which not only does Dolby True HD/DTS MD pass-through but also features IR (InfraRed) sensor allowing me to control it using my Logitech Harmony remote.

The basic Intel’s NUC that I got (DN2820FYKH) supports both regular 2,5″ drives as well as half-size mSATA, once you take out the wireless network adapter. But instead of getting either of those, I decided to give network booting a try as I already have a Synology DS715 running 24/7. Kodi distribution of my choice was OpenELEC.

Prerequisites

Before you start – get a hold of:

  • an x86 compatible OpenELEC image (just grab the most recent release from openelec.tv)
  • PXE booting configuration files: https://www.kernel.org/pub/linux/utils/boot/syslinux/

First things first – DHCP

PXE booting requires certain DHCP parameters which are not supported by your average consumer grade access point, thus it’s necessary to enable DHCP on your Synology server so it takes over IP addressing management in your network.

Note: Make sure to disable DHCP service on your access point before proceeding.

  1. Open Control Panel and select Network in the Connectivity section.
    DHCP_0
  2. Select the Network Interface tab.
    DHCP_1
  3. Select LAN connection (in my case LAN 1) and click the Edit button.
    DHCP_2
  4. Select the DHCP server tab and select the Enable DHCP server option.
    DHCP_3
  5. Provide necessary configuration parameters and click the OK button.
    DHCP_4

Network shares and OpenELEC

  1. Create a read only guest access share on your Synology server to store OS and PXE configuration files, and another one allowing for read-write access where Kodi can store its files (access rights to this one will be granted over NFS later on).
    Example:
    tftp_boot – read only
    xbmc – read-write
  2. Copy ldlinux.c32 and pxelinux.0 files to the tftp_boot directory.
    control_file_station_tftp_boot_1
  3. Create openelec directory in the the same location and copy KERNEL and SYSTEM files to it.
    control_file_station_tftp_boot
  4. Create pxelinux.cfg directory in tftp_boot.
    control_file_station_tftp_boot_2
  5. Create a file named default (no extension) and copy paste the following:

DEFAULT OpenElecPROMPT 0

LABEL OpenElec
KERNEL /openelec/KERNEL
APPEND ip=dhcp boot=NFS=10.0.0.2:/volume1/tftp_boot/openelec disk=NFS=10.0.0.2:/volume1/xbmc

File services setup

  1. Open the Control Panel.
  2. Go to File Services and select the Enable NFS option on the Win/Mac/NFS tab.
    Files_1
  3. Switch to the TFTP/PXE tab and select the Enable TFTP/PXE option.
    Files_2
  4. Click Select and set your root TFTP folder to tftp_boot.
    Files_3
  5. Select the Set up DHCP service on this server for PXE option.
    Files_4
  6. Select the bootloader file location (pxelinux.0).
    Files_5
  7. Provide DNS server address, Start and End IP addresses, Netmask and Gateway.
  8. Click Apply to store changes.

NFS permissions

  1. Open Control Panel.
  2. Select Shared Folder and double-click the xbmc folder.
  3. Select NFS Permissions tab and click Create.
  4. Enter the IP address and click OK.
    control_panel_shared_folder_xbmc_nfs_permissions

You can find the IP address of your NUC in DHCP Clients tab.
control_panel_network_dhcp_clients

Enable PXE boot

  1. Power on your NUC and press F2 to enter BIOS.
  2. Select Boot to access boot options.
  3. Select Boot to Network option to enable network booting.
  4. Exit BIOS saving the changes.

Well that’s pretty much that. Restart your NUC and *fingers crossed* it should boot right into OpenELEC…