Preface:#
NUC9 has been appearing on our Bilibili homepage for some time now, mainly due to its significant price drop. Its well-made 5L body, clever design, and official Intel production are all its advantages. However, the downside is that its CPU is somewhat weak in 2023. It uses a 9th generation CPU, which is far behind the current 13th generation. But due to my specific needs, it has become a product that I love.
Process#
Here's how it went: I've been running an SGX experiment, but using SGX on a home computer is very inconvenient. The whole process of tinkering was quite tortuous. Currently, the latest version of Intel's regular CPU no longer supports SGX. After a lot of tinkering, I finally found the host I needed on the NUC9.
In the early stages of this project, I used a laptop with an i5-10210u processor. It's a low-voltage CPU, so it's not unusable. But as the code's demand for computer performance increased, the 16GB of RAM in the laptop became a bottleneck. Since I couldn't add more memory, I turned my attention to a desktop computer.
After some investigation, I set my sights on the i5-8500 and the Asus z-370. So, I bought an ITX case and a cooler, and paired them with the existing memory and power supply to build a host. However, I soon realized that the tinkering wasn't over. I encountered an unexpected problem. When I opened the BIOS of the z370, I found that the SGX option was not enabled, only "software controlled" and "disable" were available. Although I managed to enable it using software methods in the Ubuntu system, the FLC was still locked, and the driver would often crash after a restart. I could only use out-of-tree SGX drivers and couldn't use in-kernel ones.
Looking at these issues, I searched through many other motherboard manuals and found that they were all the same. I began to suspect that it was a problem with the laptop's core. If I used a host with a laptop core, it should be possible to enable it. I thought of the recently popular Zero Zero and Minisforum hosts and wanted to see if their 8th and 10th generation hosts could meet my needs. As a result, the customer service had no idea and claimed to have asked the technical staff. I didn't really believe them, but I didn't bother with them either.
Then I thought of the NUC9. After checking the manual, I found that the NUC9's BIOS had an option to enable SGX! Although I wasn't sure what the problem was, I believed that this could be used, so I immediately made an appointment with a physical store in Xujiahui to go and see the machine.
When I opened the BIOS on the spot, I found that indeed, as I expected, SGX could be enabled. The machine I bought here is equipped with an i5-9300h. Because the i9-9980hk's core is twice as expensive, I can buy two i5s instead. It's better to buy two i5s than one i9.
I went home, installed Ubuntu on the machine, and ran the code for verification. Finally, it succeeded. 🥳
Opened the memory, lifted the cover of the calculation card, and installed the existing hard drive and the memory stick I just bought.
This machine also has dual network ports, so after the project is completed, it can be converted into a home service center.