2024-05-21: New home server build

In the late winter of 2023–2024, the Shitbox server was still running Windows 10 (soon out of support) and didn't meet the minimum system requirements for Windows 11. I was pondering the future of that build. Basically, I had three realistic options:

  1. Switch OSes to Linux.
  2. Hack Windows 11 on there and pray it doesn't break.
  3. Upgrade the hardware to meet the minimum system requirements of Windows 11.

Given that I had just happened to find and a used RetroTINK 5x Pro, I knew I needed to add some sort of HDMI capture device to the build to start digitizing my family's old VHS tapes. Combine that with the second recent find, a ridiculous Chieftec Dragon full tower case, I had the itch to mess with hardware and thus decided to go with option three.

I quickly acquired a used Elgato 4k60 Pro for the HDMI capture part. I also had the leftover CPU and GPU (AMD Ryzen 5 2600 and KFA2 GeForce GTX 1070 Ti EX, respectively) from the first mini-ITX build I did. However, the Shitbox server was also used to digitize Hi-8 tapes, and that happens via a DataVideo DAC-200 over FireWire, so I had to carry the old PCI FireWire card over from the existing iteration of the Shitbox server. This narrowed the platform options to any AM4 mobo that had a PCI slot. I soon found a used ASUS Prime B350-PLUS on eBay.

Given that the Chieftec Dragon is 24 years old, I knew that I needed some help to bring it up to modern snuff:

  • The case predates the prevalence of both front panel USB and front panel audio, so I acquired a SilverStone SST-FP32B-E 3.5″ bay module with four USB 3 ports as well as TRS headphone and microphone connectors.
  • Some of the existing case fans were Molex-only and thus unacceptable, so I acquired three 80 × 80 × 25 mm Noctua NF-R8 redux fans. Sweet PWM! There were also two additional old case fans attached to the case, one 80 mm and one 92 mm. These had the three-pin motherboard plug in addition to Molex, and intact bearings, so I deemed them to be "minimum viable", clipped the Molex tails off (carefully masking the wire ends) and left them in place. It's not that I need all of these fans, but the case looks so bare without them.

Given that the Chieftec Dragon is ridiculously awesome, I knew I wanted some other parts to keep up:

  • The old Shitbox server only had one optical drive, lame! I stole the Blu-ray drive from my Windows XP PC and bought a used, generic SATA DVD drive to put into the XP build. I actually do quite a lot of CD ripping, so dual optical drives isn't completely without practical application. To make up the downgraded optical drive for the XP PC, I installed a Wi-Fi card for it. Now I can connect the Ubuntu install on the PC to the internet while keeping the XP and Windows 7 installs isolated from the net without touching any hardware.
  • I was using a nasty, modern(-ish) external floppy drive to write to the 386 PC, unacceptable! I bought a new-old-stock (!) 1.44 MB 3.5″ FDD from a local computer repair shop and a couple of adapters to chain it to an internal USB 2 header.

There were also some things I wanted to bring over from the existing server build, so I did:

  • the aforementioned PCI FireWire card
  • all the mass storage except the boot drive
  • the front panel card reader module

Now, I just needed to acquire a boot drive, a PSU, a set of RAM, and any accessories needed to complete the build. I knew the boot drive needed to be a SATA SSD, because using the M.2 slot would disable too many SATA headers on the motherboard for me to be able to cram the 5 other SATA devices (besides the boot drive) in. In the end, I went with a cheap Kingston A400 480 GB drive. The PSU ended up being a Seasonic 750 W Focus GX-750 Gold, because that unit was on sale at the local computer parts supplier. For the RAM, I went with the more of the same modules I already had in my main PC and my first PC before that – G.Skill 2 × 8 GB Ripjaws V 3200 MHz, CL16. The modules have become quite inexpensive over the years, and I have never had any issues with them.

So, it was building time.

computer parts on a table
Parts!

The leftover CPU cooler (Noctua NH-L9a-AM4) made a satisfying little whole with the CPU, motherboard, and RAM:

the platform
I like the CPU fan cable length in particular.

As I had stated in the upgrade post for my main rig, the GTX 1070 Ti I planned to reuse in this build was just starting to lose one of the fan bearings when I replaced it with an RTX 3080 in my main PC. That meant I had to order replacement fans from Amazon and change them. Here's a picture of that work in progress:

replacing the GPU fans
some intricate cable runs here

The fan replacement was quite straightforward. I could have also removed the heatsinks and refreshed the thermal paste but decided against that in the end. This build is not for gaming, and all the GPU has to do is to drive the desktop environment and maybe run some NVENC for video capturing.

After the essential parts were installed, it was time for a POST test. Sure enough, the PC came straight to life:

successful POST
successful POST

At this point, it was time for the main operation: the server had a lot of specific configuration, and I really didn't want to have to redo it. However, the existing install was a legacy MBR install on an MSATA drive that I couldn't plug into this PC. Luckily, I had had the foresight to take a bootable image backup of the boot drive before tearing down the existing build, so I just restored the image on the new boot drive. Even though almost all hardware underneath the install had changed, the old install booted on the first attempt. I was genuinely impressed by this.

booted into Windows
Remember kids, reinstalling the OS is optional.

However, the install was still a legacy MBR install, and secure boot (which is a Windows 11 prerequisite) requires GPT. Luckily, Windows comes with a tool called mbr2gpt to migrate legacy installs to GPT. So, I plugged in my Windows 10 installation pen drive, booted into it and dropped into the command prompt. The first attempt in conversion failed and managed to destroy the bootloader altogether. However, with some guidance from the internet, I was able to recreate the bootloader, mount the two partitions correctly, and finally convert the install to GPT. After that, I just extended the C: partition to cover the whole disk (the boot drive capacity was upgraded from 240 GB to 480 GB), turned on secure boot and fTPM, and finally did an inline update to Windows 11. After all this, the only configuration I had to revisit was to update the Wake-on-LAN shell script I use on my Raspberry Pi to remotely turn on this server with the MAC address of the updated hardware. Everything else stayed operational without any intervention.

It was time to wrap up the build. However, at this point, I hit a big snag. The Chieftec case had originally come with these rails for mounting 5.25″ devices, and those rails were long gone.

the 5.25″ bays
Something's missing…

Luckily, I found this Thingiverse 3D model for 3D printing replacements. Now, I don't own a 3D printer, but many libraries in Finland offer 3D printing as a service. Over the course of multiple months (this is the main reason why the build took so long to finish), I was able to go to the library and print 6 of these rails. Now we were getting somewhere.

the finished front panel
the finished front panel

There was one final issue with the build, and with this issue, I was forced into a compromise: The SilverStone USB front panel thingy has four ports, which equals two internal USB 3.0 cables. The motherboard only has one header. After throwing an amount of money at the issue, I learned the following things:

  • China will happily sell you passive internal splitters that don't work.
  • All USB 3 internal extensions are crap regardless of brand. Then again, the USB 3.0 plug itself is crap as well, so idk…
  • I was out of PCIe lanes to plug in a USB PCIe card

In the end, I was able to make one of the two USB 3 cables just about reach the header and leave the other one unplugged. Cable management is a lost cause, and only 2 of the 4 ports work, but this is as good as I can do at this point. There are no usable PCI(e) slots or USB headers or SATA headers left on the motherboard. Literally everything is in use.

the finished computer from the side
the finished computer from the side
side detail
So much cabling…

Here are some shots from the back:

the finished computer from behind
The case is tall.
rear I/O
Rear I/O

When the build was finally finished, I was relieved to find out there were no further issues (at least for the time being), and everything just worked.

The PC running with the side panel removed
Lit up.

This is how "This PC" looks in Windows:

This PC showing all the drives
I actually use all of this.

Here are the final specs:

  • Chieftec Dragon full ATX tower case, built in 2002 (bought used from a recycling center for 15 €)
  • AMD Ryzen 5 2600 (leftover from an old build)
  • ASUS Prime B350-PLUS (bought used on eBay for 89.95 € + shipping)
  • KFA2 GeForce GTX 1070 Ti EX (leftover from an old build, fans replaced for 18.44 €)
  • G.Skill 16 GB Ripjaws V, DDR4 3200 MHz, CL16 (bought new for 53.90 €)
  • Seasonic 750 W Focus GX-750 Gold (bought new for 99.90 €)
  • Noctua NH-L9a-AM4 CPU cooler (leftover from an old build)
  • 3 × Noctua NF-R8 redux case fans, 80 × 80 × 25 mm (bought new for 13.90 € a piece)
  • one 92 mm and one 80 mm case fan from the early 2000s (came with the case)
  • Kingston A400 480 GB SATA SSD (bought new for 44.90 €)
  • three HDDs, a 6 TB one, a 2 TB one, and a 750 GB one (carried over from the previous iteration of this server)
  • a SATA Blu-ray drive (taken from another PC)
  • a SATA DVD drive (carried over from the previous iteration of this server)
  • a 1.44 MB 3.5″ FDD (bought as new-old-stock for 10 €)
  • a front panel card reader module (carried over from the previous iteration of this server)
  • SilverStone SST-FP32B-E 3.5″ bay module (bought new for 19.90 €)
  • a PCI FireWire card (carried over from the previous iteration of this server)
  • Elgato 4k60 Pro (bought used for 80 € + shipping)
  • 103.56 € worth of various cables, accessories, and adapters

The grand total for this 7-year-old mid-range PC ended up at 577.25 € + various shipping costs. However, given the actual use case, I couldn't be happier (apart by getting four functional front panel USB 3 ports, grr!).

As to what happened to the old Shitbox server, I brought it over to my parents', loaded it full of leftover hard disks, and installed Debian on it. It now hosts my off-site backups. So, I guess I also went with option #1…