The WD My Book Live is a NAS device based on Debian Linux, Since Debian stopped supporting this processor (APM82181), the device has received no updates and will probably never, so the next best thing to do in my opinion is to install openWRT.
Before you start
1- Only the first few paragraphs of this tutorial (STEPS 1 THROUGH 6) are the instructions you need, the remaining is just for extra reference and in short you don’t need to read it to have your device running, but I do recommend YOU SKIM THE WHOLE THING BEFORE YOU START.
2- This procedure requires you to take the disk out and install it on a PC to switch the firmware, then put it back
3- The upgrade will delete all your data, You will need to move your data that is already on your WD NAS drive somewhere else while the upgrade is ready.
Step 1: Move any existing data BEFORE TAKING APART.
Move any data you may have on the drive to a temporary location outside the NAS drive. this has to be done before taking the drive apart as the unconventional 64 kB block size of the disk will be nothing but trouble if you want to extract the data while mounting the disk to a linux PC for example.
Step 2: Take the disk apart
I have included photos to help you do that, it is not rocket science.
Step 3: Mount the disk on a linux PC (Windows and MAC should work)
and mount it to a linux PC (Windows might work with software such as etcher, but i have no guarantees).
Step 4: Download the openWRT firmware
Go to the drive’s page on the openwrt website (Here), and download it to your Linux (Or windows) PC
Step 5: Write the firmware to the disk.
Decompress the file, then copy it to the drive with a command similar to the command below, but make 100% sure to replace sdx with your own drive designation
dd if=/root/wdsata.img of=/dev/sdx bs=64k
Write the firmware to the disk, overwriting it, and effectively loosing any data you did not backup in step 1
Step 6: Put the drive back in the enclosure
Nothing to say here, this is the reverse of step 2
Once it is in the enclosure, you can not just connect it to your router as it in itself has this port defined as 192.168.1.1 and is serving dhcp !
Step 8: Create the data partition
At this stage, your device will boot, but you will need to create/expand the data partition, the partition that should not be overwritten when you upgrade the firmware for example.
opkg install gdisk blkid openssh-sftp-server
gdisk -i /dev/sda
As soon as gdisk opens, you may be presented with the following message, if so
Found valid MBR and corrupt GPT. Which do you want to use? (Using the
GPT MAY permit recovery of GPT data.)
1 - MBR
2 - GPT
3 - Create blank GPT
Chose 1 to maintain the 2 partitions we have, Now hit the command (w) to write and confirm, then quit, gdisk has just switched your disk to GPT from MBR, now run gdisk again the same way (gdisk -i /dev/sda)
n for new partition, accept the (3) for partition number, use the number (2097152) for alignment with 4K sector advanced format nearest to the 1GB mark
in my case, the UUID was as follows UUID="9643bd00-f117-4074-a252-7ea30a5174e2" yours will certainly be different, so in my fstab i added the following lines near the end
option target '/share'
option uuid '9643bd00-f117-4074-a252-7ea30a5174e2'
option enabled '1'
Now, network sharing is what i was originally interested in when i got this unit, and it is why I am replacing it’s firmware, so to installing samba
opkg update && opkg install samba4-server luci-app-samba4
Now, add the following line to /etc/passwd to add me as a user to the system
Now, run the command
smbpasswd -a yazeed
You are done.
Is the hardware and the new openWRT firmware compatible with my 8TB hard drive
Yes it is, I have found many people asking if the hardware supports drives over 2TB, the answer is yes, but you will have to use the GPT rather than the MBR (See steps above)
about the original firmware
What is that vulnerability about
it comes from WDs cloud service, bottom line is that many devices were completely wiped remotely by malicious users and it is unknown if the data itself leaked, so yes, it is very serious
What is the difference between quick factory restore and full factory restore
Quick factory restore is probably what you are looking for, the later seems to do a zero fill on the hard drive after performing a factory restore to disallow data retrieval (For example before you sell it), you can verify this by logging in using SSH, and by the fact that the tool tips state something to that effect.
Inspecting the device
To begin with, I logged in via SSH and inspected some stuff, to enable SSH access on the My Book Live original firmware, you will need to visit a page at a URL such as http://mybooklive/UI/ssh or http://192.168.2.116/UI/ssh (Replace the IP with your own)
the system is based on the following CPU
processor : 0
cpu : APM82181
clock : 800.000008MHz
revision : 28.130 (pvr 12c4 1c82)
bogomips : 1600.00
timebase : 800000008
platform : PowerPC 44x Platform
model : amcc,apollo3g
Memory : 256 MB
With that out of the way, A look at /etc/apt/sources.list revealed that it is a Debian Distro, the only problem with this is that debian stopped supporting this CPU some time ago, so you can’t go past Debian 8 (Jessie)
deb http://ftp.us.debian.org/debian/ squeeze main
deb http://ftp.us.debian.org/debian/ wheezy main
#deb-src http://ftp.us.debian.org/debian/ wheezy main
#deb http://ftp.us.debian.org/debian/ sid main
Checking the disk info with hdparm revealed that the disk is a WDC WD20EARX-00PASB0, which is as i expected a Caviar Green (SMR disk)
parted (The new fdisk so to speak) shows the following partition scheme for the existing system.
Model: ATA WDC WD20EARX-00P (scsi)
Disk /dev/sda: 2000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
3 15.7MB 528MB 513MB linux-swap(v1) primary
1 528MB 2576MB 2048MB ext3 primary raid
2 2576MB 4624MB 2048MB ext3 primary raid
4 4624MB 2000GB 1996GB ext4 primary
And a “df -h” reveals
Filesystem Size Used Avail Use% Mounted on
/dev/md0 1.9G 555M 1.3G 31% /
tmpfs 5.0M 0 5.0M 0% /lib/init/rw
udev 10M 6.7M 3.4M 67% /dev
tmpfs 5.0M 0 5.0M 0% /dev/shm
tmpfs 100M 4.6M 96M 5% /tmp
ramlog-tmpfs 20M 4.5M 16M 23% /var/log
/dev/sda4 1.9T 2.1G 1.9T 1% /DataVolume
A good alternative for this Gigabit Lan network attached storage might be openWRT, the same firmware I use for my routers !
there are things you need to know in advance though, first of which is that changing the firmware will require you to delete everything on the drive ! as Western Digital have used an unconventional bunch of things such as a 64 kB block size !
With that out of the way, you can skip down to the installing openWRT about the upgrade process step by step (Including backing up your system), then come back to why etc…
What if i want to revert back to the WD software ?
That is indeed a good question, and to make it easy to do that, I have already backed up the entire disk to another while I am sure that i don’t want to go back. Also worth mentioning that the latest firmware on the WD website dates back to 2015 ! which is at the time of writing 6 years ago !
Where can i find the up to date openWRT distribution for this drive ?
OpenWRT has a page dedicated to this drive, both the single and the Duo here (https://openwrt.org/toh/western_digital/mybooklive)
What are the benefits of the NAS box (enclosure), why not just take out the hard drive and put it in a PC somewhere.
The Western Digital My Book Live has a super low power CPU, and when the disk is spun down, it consumes very little energy (Not a significant load to your UPS for example), It is also fan-less, so it is with the exception of the spinning drive when it is spinning silent, which is also a nice thing, So i would argue that keeping it by updating it’s software is a good idea
Another reason is the amount of relevant software provided through openWRT packages, covering many more things than the original firmware (miniDLNA included).
How do i keep the system up to date
If you come from a debian background, you would normally apt-get update then apt-get upgrade and that is that, in OpenWRT, there is no such upgrade command, the upgrade command in openWRT is meant to upgrade 1 package specified by name, so the solution is the following line
opkg list-upgradable | cut -f 1 -d ' ' | xargs -r opkg upgrade