Towards the end of 2022, I came to learn about a really fascinating mini PC called the R1, that is manufactured by a company called iKOOLCORE, which is based out of China. iKOOLCORE is described as specializing in open source firewall applications and the R1 adds some interesting networking possibilities as you will see shortly.
What really makes the R1 standout is that it comes equipped with four built-in ethernet adapters that is packaged into a super compact form factor with a pretty elegant design. In fact, the R1 might actually be the worlds smallest x86 system that literally fits in the palm of your hand! 😎
With the compact design and flexibility in networking, the R1 can certainly enable a number of interesting use cases for VMware Homelabs like running infrastructure systems (vCenter Server Appliance, VMware Cloud Builder, Active Directory, etc.) to networking services (DNS, DHCP, Firewall, VPN, etc). The R1 can also make for a great portable homelab that you can bring anywhere and not have to worry about space or noise and is powered simply through USB-PD (Power Delivery) which makes it even more friendly to travel with.
The only thing left was to get my hands on the R1 and thanks to the creator and designer of the R1, who goes by the name of Jackeroo, I was able to give the R1 a spin and explore it from a VMware Homelab perspective.
- Intel Celeron N5105
- 2.0Ghz (2.90Ghz Turbo)
- 4 Cores, 4 threads, 10W TDP
- 8GB or 16GB memory (non-upgradable)
- Intel Pentium Silver N6005
- 2.0Ghz (3.3.0Ghz Turbo)
- 4 Cores, 4 threads, 10W TDP
- 8GB or 16GB memory (non-upgradable)
The price difference between the 8GB and 16GB memory option in either of the configuration is only $30 $50 USD, it is almost a no brainer to go with the maximum amount of memory as that is typically the limiting resource for most homelabs and you will certainly not regret it when you want to run more workloads. While 16GB is not a lot of memory compared to other small form factor systems, for its size, 16GB is a really nice addition compared to these smaller systems which typically will max out at 8GB. I would love to see what a future R1 could look like if we can get up to 32GB of memory, I think that would be a real sweet spot!
Networking is where the R1 really shines, it comes with four of the latest Intel i226-V 2.5GbE on-board network adapters. The network adapters are all fully recognized by ESXi as you can see from the screenshot below and it enables you to setup various network configurations that can serve many different purposes. For those with 2.5GbE capable storage or network devices, you will get the full benefit of these adapters as they will negotiate to 2.5GbE but in setup, I only have access to standard 1GbE connectivity.
Networking should be more than plentiful on the R1, but if for some reason you need even more, you can also use the two USB-A ports or the USB-C port to add USB-based networking with the popular USB Network Native Driver for ESXi Fling.
With the compact design of the R1, storage is limited to just a single M.2 NVMe (2242) storage device, which a smaller version of the typical M.2 NVMe (2280). You do have an option of adding a 128GB or 512GB SSD from iKOOLCORE, which uses Union Memory, or you can acquire your own storage. My R1 was configured with the 128GB SSD option and the nice thing about that is the device is automatically recognized by ESXi and can be used for both the ESXi installation including the ESX-OSData and/or VMFS volume for running your workloads.
Note: If you do purchase the 128GB SSD from iKOOLCORE or something smaller, be sure to check out the ESXi section below on how to reduce the default size of the ESX-OSData, so that you can also use some of the storage capacity for VMFS volume to run your workloads.
While storage is limited to just a single M.2, you can add more storage using the USB-A and USB-C ports and with an M.2 NVMe to USB chassis, which can then be consumed by ESXi for additional VMFS and/or vSAN storage. For those with existing vSAN infrastructure, you could even configure vSAN HCI Mesh and have R1 remotely mount the vSAN storage as another option or simply connect to remote network storage like NFS or iSCSI.
While the R1 does also include a micro-SD slot which can be used to boot and install ESXi, which I have also verified myself, VMware does recommend using a more reliable media like an SSD, especially for future proofing as outlined in VMware KB 85685.
An Intel integrated graphics (iGPU) is included in both R1 models, with the N5105 capable of 24 execution units and the N6005 with 32 execution units. If you have some basic graphics needs such as running a Plex server, another popular workload amongst VMware Homelabs, then you can pass the iGPU into an Ubuntu Linux VM. In fact, the process to passthrough the R1 iGPU is exactly the same as any of the recent Intel NUC 12 systems.
As you can see from the screenshot above, I have an Ubuntu 22.04 VM which has the default virtual graphics disabled and is connected using a remote session utilizing the iGPU passthrough from R1 running latest ESXi 8.0b release. Below are the high level instructions for setting up iGPU passthrough to VM.
Step 1 - Create and install Ubuntu Server 22.04 VM (recommend using 60GB storage or more, as additional packages will need to be installed). Once the OS has been installed, go ahead and shutdown the VM.
Step 2 - Enable passthrough of the iGPU under the ESXi Configure->Hardware->PCI Devices settings and then add a new PCI Device to the VM and select the iGPU. You can use either DirectPath IO or Dynamic DirectPath IO, it does not make a difference.
Step 3 - Optionally, if you wish to disable the default virtual graphics driver (svga), edit the VM and under VM Options->Advanced->Configuration Parameters change the following setting from true to false:
Step 4 - Power on the VM and then follow these instructions for installing the Intel Graphic Drivers for Ubuntu 22.04 and once completed, you will now be able to successfully use the iGPU from within the Ubuntu VM.
Pictures really does not do the R1 justice, but pictured above is a standard lego mini-figure standing next to the R1, which should give you a sense of how small the R1 really is. The exact measurement of the R1 comes in at 7.5 x 7.5 x 4.8 cm and for those interested in a detailed break down of how the R1 is put together, the following teardown video is definitely worth a watch!
Lastly, it should come as no surprise, the R1 runs ESXi like a champ and supports both ESXi 7.x and 8.x release. The onboard networking automatically recognized when using ESXi 8.x as the Community Networking Driver Fling for ESXi has been productized as of ESXi 8.0. However, if you need to install ESXi 7.x, then you will need to incorporate the Community Networking Driver Fling for ESXi into the ESXi installer image before it can detect the onboard network adapters.
As mentioned earlier, if you purchase the 128GB SSD from iKOOLCORE or if you use your own SSD that is smaller than 146GB, then you will want to reduce the size of the ESX-OSData volume during the installation or you will not have any storage left for running VMs. The detailed instructions for reducing the ESX-OSDatata can be found in this blog post and you can use either the systemMediaSize or autoPartitionOSDataSize kernel boot option to specify your desired size. Since my R1 has the stock 128GB SSD, I decided to configure my ESX-OSData to 4GB and so I opted for using the legacy autoPartitionOSDataSize parameter and set it to a value of 4096 as the "min" size for the other setting only reduces the ESX-OSData to 25GB.
Overall, I am impressed at how capable the R1 is for a mini and portable VMware Homelab. I was even able to successfully deploy and run the vCenter Server Appliance (VCSA) on the R1 as shown in the screenshot below. While the CPU was definitely put through its paces during the initial deployment, it eventually subsided and surprisingly took up a lot less resources than I had expected for basic inventory setup and could be viable alternative for those needing a small Management Cluster to run the VCSA or other infrastructure workloads.
Another potential use for the R1, especially for consultants that travel to customer sites, you could install number of different management appliances/tools including VMware Cloud Builder for VMware Cloud Foundation (VCF) deployment as an example.