Installing Ubuntu Server 22.04 on WD PR2100 in 2024
Disclaimer: do this at your own risk, I'm not responsible for any damage to your device. Also, I'm not a linux expert, I just followed the guide and figured out how to get the hardware control working. Please do not do this with a machine that has important data on it.
Prerequisite
You'll need:
- a fast, reliable usb storage device >= 16gb, f.x. a small cheap M.2 64GB SSD in a usb enclosure
- network cable connected to your PR2100
- a linux machine or (intel?-)mac
- basic familiarity with linux and the terminal
- optional: noise cancelling headphones
Basic setup
follow this guide: https://github.com/aamkye/ubuntu_on_WD_PRx100 only to the network configuration part, ignore "Extras (meant to be run on NAS directly)", see below
Hint: Make sure to install OpenSSH Server when prompted by Ubuntu Installer
Hint: Depending on how slow your storage device is, the installation may take 10 to 30 minutes
Hint: The installer will not exit, it'll say "Install Complete!" at the top. When the security updates are finished, there'll be a message like "subiquity/late/run" in the log and no more new lines. Just close the VM window and reboot it without the CD-ROM, as described in the original guide.
Networking Setup
If you can get copy and paste to work on your instance:
- run
sudo nano /etc/netplan/01-network-config.yaml
- paste the following:
network:
version: 2
renderer: networkd
ethernets:
eno1:
match:
macaddress: $MAC1
dhcp4: no
set-name: eno1
eno2:
match:
macaddress: $MAC2
dhcp4: no
set-name: eno2
bonds:
bond0:
interfaces: [eno1, eno2]
dhcp4: yes
parameters:
mode: 802.3ad
mii-monitor-interval: 1
- replace the
$MAC1
and$MAC2
with the mac addresses of your PR2100's ethernet ports
I couldn't get copy and paste to work, so I did this:
- run
sudo wget https://mtillmann.blog/resources/npc.yaml -O/etc/netplan/01-network-config.yaml
- run
sudo nano /etc/netplan/01-network-config.yaml
- replace the
$MAC1
and$MAC2
with the mac addresses of your PR2100's ethernet ports
First Boot
- shut down VM, remove stick and insert into your PR2100
- wait for ~2-5 minutes for the PR2100 to boot. The main LED should have a solid blue light when booting is complete, although you can try and connect to it before that.
- acquire your PR2100's IP address on your network: use your routers network view or use a scanning app
- ssh into the PR2100 using the credentials you set during the ubuntu server install
Note: unless the next step is completed, the fan will spin at full speed AND the blue LED will blink forever
Hardware Control
Since the instructions in the original tutorial are outdated, here's how to get the hardware control working
Install hddtemp
(via)
sudo apt update
wget http://archive.ubuntu.com/ubuntu/pool/universe/h/hddtemp/hddtemp_0.3-beta15-53_amd64.deb
then:
sudo apt install ./hddtemp_0.3-beta15-53_amd64.deb
Install wdnas-hwtools
Create a root shell
sudo su
then inside the root shell:
add-apt-repository universe
cd /opt
git clone https://github.com/WDCommunity/wdnas-hwtools
cd /opt/wdnas-hwtools
./install.sh
hit crtl+d
to exit root shell
Now, within a few seconds the fan should spin down to 30% of its max speed.
Surviving Reboots
There are 2 issues with the hardware control:
Soft Reboots
Soft reboots will always fail because the actual fan speed is not detected and the the unit is shut down because it thinks the fan is broken. There is no way to fix this.
Solution: Don't soft reboot, always shut down and then power on again
Power Cycles/Regular Boots
wdhwd.service
will fail to initialize on boot, so the fan will spin at full speed until the service is restarted. To fix this, do the following:
- ssh into your PR2100
- run
sudo crontab -e
- add the following line to the end of the file:
@reboot sleep 90 && systemctl restart wdhwd.service
- run
sudo systemctl restart wdhwd.service
immediately to avoid having to reboot
This will restart the service 90 seconds after boot.
Clicking this button loads third-party content from utteranc.es and github.com