I haven't run FreeBSD since 2012. My personal network needed a server, so I looked for a computer that:
This was a LOT easier than it seemed like based on reading notes on the web, from which I had read the following:
I located the following pieces of equipment in my inventory:
I bought the following, ordering on December 1, 2016:
I bought a matched pair of memory modules so that the computer could take advantage of a possible performance optimization .
Intel has a web page entitled System Memory for IntelĀ® NUC Kits NUC6i3SY/NUC6i5SY. This page lists the memory modules Intel tested and found usable by the i3 and i5 6th generation NUCs including the model I bought. The memory I chose was reasonably priced, from a reputable manufacturer, but wasn't on those lists. I bought it anyway because:
Information from the bottom of the NUC box:
I followed Intel's NUC instructions to install memory modules (2x8GB), then the M.2 SSD.
This consisted of:
Fortunately, the NUC doesn't power on upon live power insertion (it looks like it may be possible to set that up using the BIOS setup program for those that prefer that option).
Powered on NUC. The only problem was getting the NUC to respond to function key presses at boot ROM initial screen. Options in boot ROM screen include:
However, other keys and Ctrl-Alt-Del work, so obviously these USB 3.0 ports can handle a USB 2.0 keyboard. Finally figured out that pressing the desired function key multiple times (not holding down the key) while the menu is presented works to take the option.
I was finally able to go to the BIOS setup by pressing F2 multiple times fairly rapidly. The BIOS setup UI is surprisingly nice. Looks like it supports a mouse, as well, because there's a mouse pointer even though I don't have a mouse connected to the computer. A mouse would be more useful, although the UI is navigable entirely by keyboard.
I examined the default BIOS configuration, finding out that:
I read a number of reports about people having trouble with the BIOS versions on the NUCs. As a result, I decided to check the existing BIOS version, look at the release notes for the more current BIOS versions, and upgrade if it seemed reasonable.
I looked for BIOS downloads at the Downloads for IntelĀ® NUC Kit NUC6i3SYH page. I downloaded the file SYSKLi35.86A.0054.BI.zip for version 54. The archive contains two files: IFLASH2.EXE and SY0054.bio.
After all the choices I had for methods of upgrading the BIOS, I ended up starting the upgrade process by pressing F7 within the BIOS setup UI (this option isn't described on the Intel web site (although the option to press F7 at boot time is); there is a note at the bottom of the setup screen that offers this option). No need for creating a bootable flash stick or optical medium. I prepared a flash stick by putting the SY0054.bio file on it, and inserted it into one of the USB 3.0 jacks on the NUC prior to pressing F7.
The upgrade completed without any problem, and the BIOS is now upgraded to version 54, from September 30, 2016.
I modified the setup to disable bluetooth.
I used disc1.iso (has FreeBSD, source, ports) burned to a CD on Linux as follows:
I plugged in a portable USB optical drive to a USB 3.0 port on the NUC, and inserted the CD containing the FreeBSD install.
Rebooting the NUC resulted in it reading the CD and booting FreeBSD.
There were multiple errors after a while that seemed to indicate the CD drive, but after those FreeBSD continued booting.
The wired Ethernet device is em0.
I chose a host name, and chose additional installs including:
The source tree is apparently needed for some ports, even though I might not build a base install of FreeBSD.
The SSD drive is device name ada0.
I'm using the GPT partition table as recommended by the FreeBSD handbook.
Installer suggested these partitions:
Why UFS and not ZFS? I didn't choose the root-on-ZFS option (marked as experimental). That's probably OK, since I don't want all my partitions ZFS, just the one for /home. Maybe others later.
After reading the FreeBSD handbook, looks like I could use manual partitioning. The handbook suggests customizing the partition names, so I chose a two-letter prefix associated with the host name. Here's the partition list I came up with first:
However, the suggested set of partitions include an efi partition and no boot partition. The efi in the auto-generated partitions is extensible firmware interface. This is associated with universal extensible firmware interface or UEFI, the new booting system. I will start with the installer-suggested partitions, and modify them to create the eventual system as follows:
I chose to not use ZFS for any partitions. ZFS seems to only make sense for putting in multiple disk drives so that redundancy is available. It would be a great file system for disks on a NAS.
Set up networking. Tried the IPv6 DHCP equivalent and it apparently worked. My ISP apparently has no IPv6 addresses for DNS servers.
Completed and rebooted.
I logged in after a successful reboot. I su'd to check that my adding myself to the wheel group allowed this. I then logged out - now I can use ssh from Linux desktop to continue configuration.
I installed ports system using portsnap. I am building packages from source. I built subversion, which is pulling in everything and taking a long time. I built vim, which is also taking forever from pulling in even more. I installed portmaster, which was instantaneous.
There are other configurations that I am documenting on a different web page than this, since the intent of this page is to document how to set up a bare NUC and install FreeBSD on it.
This is enough to show that I can install FreeBSD on a NUC. I hope this helps the reader navigate what I found to be confusing, contradictory information on the web (welcome to the web).
Software development | Tutoring | Computer Security | Video | Contact |