Skip to content
Cross compilation framework to create native packages for the Western Digital My Cloud
Shell HTML Other
Branch: master
Clone or download

Latest commit

stefaang Couchpotato: don't remove bootscript on clean
As every reboot goes through a stop - clean, couchpotato couldn't start after a reboot when enabled.
Latest commit 46c327a May 3, 2020


Type Name Latest commit message Commit time
Failed to load latest commit information.
.dockerignore Fixed docker installer again for ARM and added dockerignore Jun 25, 2018
.gitignore Added env Jan 25, 2019
README.rst Update README.rst Apr 12, 2019 Improve remote installer Oct 3, 2019



This project contains the source and tools for software packages for Western Digital My Cloud (OS3) NAS devices. The packages are made available via the WDCommunity website. Most of the packages are simply scripts to fetch the applications from the official sources and configure them with a sensible default. Only a few packages were compiled with the OS3 toolchain with the help of the SynoCommunity project tools.

Most of the packages are published on the WD community forum in their own thread. Use the search bar.

Setup Development Environment

mksapkg setup

For simple script based apps (most of the current packages), you only need mksapkg to create a binary.

On Ubuntu 16.04:

apt-get install libxml2:i386

Ensure you have openssl v1.0.x, not openssl v1.1+ (as is the case on Ubuntu 18).


The build environment is also available in a docker image.

docker build -t wdpk .
docker run -it -v $(pwd):/wdpksrc wdpk /bin/bash
cd wdpk/<somepackage>

Build and deploy test

./  <package>  <host>

This will build the package, install it on a PR4100 host device and run a sanity check if a test is available.

Native apps

If you want to compile native apps, you'll need a complete wdpksrc / spksrc toolchain.

Currently, these custom WD targets are available in this SynoCommunity fork

  • wdx64 - WD PR2100/PR4100/DL2100/DL4100
  • wdpro - WD PR2100 / PR4100 with 4.1.9 kernel
  • wddl - WD DL2100 / DL4100 with 3.10.28 kernel
  • wdarm - all other devices (firmware version 2.x only!)

UPDATE: it now creates WD binary packages right away.

  • add xor_checksum to your PATH (copy it to /usr/local/bin)
  • cd wdpk/someapp
  • make apkg-wdarm
  • packages are available in packages directory

Some installer script changes might be necessary.


Thanks, but I'm good. Feel free to donate to these other projects instead


When not explicitly set, files are placed under a 3 clause BSD license

You can’t perform that action at this time.