I have built my current desktop 7.5 years ago. Since then I did not had a need for a big hardware changes.
Upgrades
Machine (called ‘puchatek‘ (Winnie the Pooh in Polish)) had several upgrades in meantime:
- got maxxed at 32GB of memory
- 60GB Corsair SSD for / was installed 8 years ago
- 250GB Samsung Evo for /home was added 3 years ago
- graphic cards were changed from Radeon HD5450 via Radeon R7 240 to Nvidia GTX 1050 Ti
Issues
Size of system drive became an issue when I needed to build hundreds of container images. All that Kolla stuff…
One of solutions was replacing system drive with bigger one. So I tried to use PCI Express to m.2 adapter card and realised that x8 slot stopped working.
New mainboard
It was a time to replace motherboard. And it is impossible to find a brand new one with 1155 socket. So I went through used ones and found nice replacement — Asrock Z68 Extreme4.
What’s nice in it? PLX chip. It is PCI Express switch. So mainboard can have x16/x8+x8 slots, x4 slot, some x1 slots and several onboard components despite of only 24 pcie lanes available (16 from cpu, 8 from chipset).
This way I can have graphics card working in x16 slot (it goes with x8 anyway) and NVME drive in x4 slot. If I decide to go into SLI (two graphics cards) or 10GbE I have a slot for it.
PCI tree
PCI tree looks a bit different now:
-
cpu
- x16 slot with graphics card
- x8 slot (empty)
-
chipset
- x4 slot with nvme
- x1 link to Marvell SATA controller (disabled in firmware setup)
- x1 link to Etron USB 3.0 host controller
- x1 link to Etron USB 3.0 host controller
- x1 link to PLX switch
-
PLX switch
- x1 slot with Renesas USB 3.0 host controller
- x1 link to FireWire controller (disabled in firmware setup)
- x1 link to Broadcom 1GbE controller
- x1 slot (empty, covered by graphics card)
-
x1 link to PCIe to pci bridge
- MOS 9845 Multi I/O controller with 6 serial ports
- PCI slot (empty)
Hacking firmware
Latest available firmware was from 2012 and lacked any support for NVME boot. Thanks to other hackers it was not an issue. Only had to follow “how to add NVME booting into BIOS” instruction. After flashing modified firmware I could boot directly from NVME drive.
Final result
System boots from NVME now. 256GB of fast storage available for / and my container images. Spare PCIe x8 slot for future upgrades.