Amber CPU Upgrade

Why upgrade? Because it has been nearly ten years since the motherboard/CPU was installed and the CPU was too old for Intel to fix Meltdown and Spectre.

Replacement hardware is:

The USB DVD drive was required because the motherboard has only six SATA ports and amber already has six SATA hard disk drives. Hence the two IDE DVD drives could not be used.

The KRAIT board has only one PS/2 connector, hence the purchase of the splitter.

The existing hard drives and their SATA connections are:

1 WDC WD2500JS
2 WDC WD2500JS
5 Samsung SSD 840 (Windows 10)
6 SanDisk SDSSDA (Debian Stretch and GRUB boot device)

In addition to the disk drives, I figured I could also re-use the graphics card (ATI Radeon HD 4670) even though it is old (just sentimental, I guess).

Installing the CPU and motherboard

Swapping the motherboards was simple enough but I found fitting the cooler to be challenging. The motherboard instructions stated that the existing cooler stands should be removed and the cooler screwed into the thereby revealed holes. However, the cooler screws have incredibly stiff springs on them and it required way more force than I was comfortable with in order to get the screws to bite.


First power attempt. Nothing. Turned out it was because I had not connected the power switch to the motherboard.

Graphic card works!

Legacy boot only seems to work from SATA 1, so swapped boot disk from SATA 5 with WDC WD2500JS drive on SATA 1. Booted into Debian and mirrored drives were assembled correctly.

Adapter worked (Realtek 8111H) but no network access to Debian, due to different name of network adapter (I had used an udev rule to keep the old eth0 name, which naturally did not recognise the new adapter). At first, I took the easy way out and stopped the renaming of eth0 (to enp30s0) via GRUB option to kernel (net.ifnames=0). I changed my mind later; see below for final setup.

While the adapter appeared to be working OK, there were complaints about the absence of firmware for the adapter, so I installed firmware-realtek, which silenced those warnings.

Mouse doesn't work on PS/2 adapter using the splitter. Keyboard OK. Now plugging mouse directly to USB port. That was a wasted purchase.

Realtek ALC892 sound works on Debian.

To get WOL working, needed to enable wake up events for PCI-e devices in BIOS

Windows 10 booted fine also but, as expected, didn't approve of the CPU and motherboard being swapped out from beneath it. Windows 10 was now not activated. However, I knew this was likely, so the steps in this page successfully reactived Windows. Note I linked my Microsoft account to the Windows 10 digital licence on amber before installing the new hardware.

Virtualisation in Windows 10

To enable Hyper-V in Windows 10, I needed to turn on SVM in the BIOS (hidden in OverClocking->CPU Features). Still could not enable the Hyper-V features. Suspect that adding the feature was blocked by a Windows Update (KB4103727) failing to install. This was being experienced by many, so probably nothing to do with the motherboard/CPU upgrade.

I followed the steps in this guide. All suggested fixes failed, until the last (of course). This was an "in-place upgrade", using the MediaCreationTool1803.exe. Took a long time, several reboots, upgrade progress going backwards at one point, but it did complete successfully and the upgrade was no longer pending.

To allow a VM to be a full local machine, accessible from other machines, a Hyper-V Virtual Switch needs to be created. This takes all the setting from the real ethernet adapter, which has IPV4 turned off. The Virtual Switch takes over.

Giving in to systemd

I decided to embrace both the new device naming and use systemd to handle configuration of the network adapter.

First, systemd-networkd must be configured to assign static IP address. The configuration file is created in /etc/systemd/network and must have the suffix .network. Mine is called



Then, systemd-networkd must be enabled by:

  sudo systemctl enable systemd-networkd

I also enabled systemd-resolved, which creates /run/systemd/resolve/resolv.conf. /etc/resolv.conf should be deleted and recreated as a link to systemd's version. Systemd populates its resolv.conf from directives in the .network config file:

It is now possible to disable the systemd networking.service, which had handled the old-style interface configuration:

  sudo systemctl disable networking.service

Used apt-get to remove ifupdown and ifplugd. I wonder if I can now safely delete everything in /etc/network?