IncusOS on Intel NUC
Install IncusOS on an Intel NUC or x86 mini PC — a minimal OS built for Incus. Recommended mesh host path.
Prerequisites
- BIOS updated
- x86_64 NUC, 5 years old or newer
- UEFI + Secure Boot + TPM 2.0
- 50 GB+ NVMe, wired Ethernet
- USB 8 GB+ for install media
- Incus CLI on your laptop
1 — Build the image
Open the IncusOS Customizer and use these settings for a typical NUC:
| Setting | Value |
|---|---|
| Image type | USB · Installation · x86_64 · Incus |
| Wipe target drive | Enabled |
| Auto reboot after install | Enabled |
| Target drive identifier | nvme- (typical M.2 SSD) |
| Client certificate | Embed your laptop cert (see below) |
Embed client certificate
So your laptop can connect without a trust token on a headless NUC:
incus remote generate-certificate # if needed
incus remote get-client-certificate # paste into customizer 2 — Write USB
Manual: Write the downloaded .img to USB (Etcher, dd).
Windsor workspace:
windsor init nuc-incusos
windsor context set nuc-incusos
# INCUS_IMAGE_FILE, USB_DISK, INCUS_REMOTE_IP in windsor.yaml
task device:prepare-incus-image
task device:write-incus-disk
task device:eject-disk 3 — Prepare NUC
Wipe old OS (if reinstalling)
Boot Ubuntu Live USB → Try Ubuntu → sudo wipefs -a /dev/nvme0n1 (confirm correct disk).
Secure Boot (F2 BIOS)
- Secure Boot → Custom mode
- Reset to Setup Mode
- Boot priority → USB first
4 — Install
- Insert USB, Ethernet connected, power on
- Boot from USB (F10 if needed)
- Wait for automatic install to internal NVMe
- Note LAN IP from router DHCP list after reboot
- Remove USB
5 — Connect from laptop
incus remote add my-nuc https://192.168.2.101:8443
incus remote list
incus list my-nuc: 6 — Direct network for VMs (required for mesh)
Talos and VPN VMs need LAN IPs. Add instances role to your physical interface:
incus admin os system network show
incus admin os system network edit
# Under config.interfaces → your eno1/eth0 → roles: [management, cluster, instances] Then create a physical network (Windsor: task incus:create-physical-network).
7 — ZFS fast pool (recommended)
If the NUC has a second disk, create a fast pool for VM disks:
incus admin os system storage show
# Use second drive id (boot: false, no member_pool)
incus storage create fast zfs source=/dev/disk/by-id/<second-disk-id> Single-disk NUCs can run VMs on local with less space.
8 — Web UI (optional)
Open https://<nuc-ip>:8443 — generate browser cert on first visit per on-screen steps.
Verify mesh host ready
- incus list <remote>: from workstation
- Physical network exists for VM deploy
- Tracker step 3 complete
Troubleshooting
- Secure Boot fails — Custom mode + reset setup mode; or temporarily disable to test
- Wrong disk — Customizer target nvme-; check /dev/disk/by-id/
- zpool import local fails — Wrong install target or TPM change; may need reinstall with correct drive id
- DNS / image pull fails — Set resolvers on host (8.8.8.8) if 127.0.0.53 times out
- fast pool "part of local" — Wipe second disk: incus admin os system storage wipe-drive