Clean OS (Debian), OpenMediaVault and other "firmwares"


@schrammbo, for Ex4 use instructions from Mirror Gen2 (Ex2 Ultra) - Its same device, but have different RAM size.
So - all files compatable except for uImage (Kernel is same, but different DTB inside)



I really hate to keep bothering you on this as the instructions you have seem fairly simple however, I cannot seem to get past step 1.

I am using the instructions for Gen2 (Ex2 Ultra).

Step 1 says:

  1. Go to web panel and install .bin file as regular firmware

When I attempt to do that all I get is firmware update failed.

I have both the uImage bin file and the Debian-firmware bin file. It does not say which to use (I assume the one marked firmware) but have tried both and the result is the same. Do I need to change permissions on the directories somewhere or move the files manually to the device somehow?

Uploading over the web console is not working in this case.


Sorry, my mistake.
Ex4 have old cpu - Marvell Sheeva (Kirkwood / 88F6282 / ARMv5) SoC. So its not compatable with all other MyCloud’s.
Need different firmware.
I dont have it.

But you can install “Chrooted debian” if you need some “special” software. But not full-firmware.


Hi, I have the exact same problem like @ZeryOs :unamused:

I just wanted to swap hdd in my wd my cloud gen2 and followed @Fox_exe 's unbrick guide.
Right now I have a blinking red light and can reach webif of safety/recovery mode.
But uploading the newest firmware .bin file leaves me with 0% loading circle freeze.

WD download site states, that the .bin should be extracted to get a .zip file and upload that file. Could this be the problem?.. However I cannot extract the .bin file…I’m too scared to just rename the .bin file to .zip.

Any help is appreciated.


I finally got it to work and I’ll try to compile the whole process into one topic if it works with people.

Anyway, my question now is… what is the best way for me to install NextCloud. I need it because of its functions.

I have the WD MyCloud 2Gen.

Thanks for everything!! @Fox_exe


Log after upgrade Stretch WdMycloud Gen1

I post the logs of WdMycloud gen1 after a stretch upgrade, the device start, green led, but no response in ssh.

If an advanced user could take a look, it would help me a lot.

Can be a track : pfe_firmware_init: request firmware class_c2000.elf failed
pfe: probe of pfe.0 failed with error -110

Thank you in advance.



I had a problem with this device (WdMycloud Gen1). After some manipulations (update and attempt to install Russian locales) via SSH, the web interface and access to the device from the phone ceased to be available. I stumbled on the Internet and came across this article, I wanted to put a clean debian and then install the device on my own. There was no certainty that everything would go fine and decided to start off the settings for the standard (power off / hold down the reset button for 40 seconds), but after that SSH is not available, only the network folders on the device are visible and you can work with them. How to be in this situation? Where to begin?

Thank you in advance!


Which file of clean debian should I use for latest version of OMV (erasmus)?
|Clean debian - english.7z|18-Jun-2017 23:14|511 MB|
|CleanDebian-Jessie.tgz|28-Nov-2015 20:39|497 MB|
|CleanDebian64k.tar.gz|14-Mar-2015 23:40|392 MB|

And which should I use? From Autoinstall or Debian archive?


Let me warn you, don’t install nextcloud with apache, it runs unbearably slow on this device. Nginx makes it about 3 times faster though it’s still only OK-ish.
Assuming you’re using the latest Debian, there’s no easy way to have nextcloud up and running. You’ll have to install your favorite webserver, php interpreter and SQL database (in my case nginx, php-fpm and mariadb) from the package manager and from there on it’s all manual work (the official doc is outdated but it’s a starting point). You will have to:

  • download latest nextcloud archive
  • untar said archive into your webroot
  • chown the created folders to www-data and chmod some folders for security purpose (follow the official doc). Also move the data folder outside of your webroot
  • create a new database and a new database admin
  • create a self-signed certificate or a public certificate to use with https / TLS
  • create the vhost config file for your nextcloud in /etc/nginx/sites-available and symlink it into …/sites-enabled (that’s where most of the PITA is)
  • modify a few parameters in /etc/php/7.0/php-fpm/pool.d/
  • once all is set, you run the php installer and let it work its magic
  • configure your NAT to allow access from the internet if needed

Obviously, the above is just an overview so you know what you’re getting yourself into. If you aren’t that familiar with most of this, you’ll have to spend quite some time googling for info and piecing it all together from various docs, blogs and forums. I certainly did.


Yes, this is a problem. pfe.ko (and *.elf files) - is a network driver.


Thanks again for your great work!

I have a question related to the toolchain to build the system. I’m trying to compile aria2c for WDMyCloud Gen2. However, the official toolchain only contains a gcc ver 4 while aria2c requires gcc > 4.5. I tried to build my own toolchain with buildroot 2018-02 version. I started from cortex-a9 armv7 and added NEON FPU. I didn’t add other VFP. For the libraries, I tried both uclibc and glibc.

With the toolchain I get, I can compile simple helloworld and aria2c statistically successfully. But only helloworld runs successfully on WDMyCloud. Aria2c has “segment fault”.

I checked your ftp and find in, there is a line


So I wonder if you build your own toolchain? Is it possible for you to share your configuration file for the toolchain? Thank you!


Nope. Its a default toolchain from WD sources.
Or you can use toolchain from DSM sources.
Or install binutils-arm-linux-gnueabi



I have to say you that I am really happy to have found this page and I think that you are helping to the people to truly use their devices (I have to admit that the WD software does not seem very good to me).

I have three questions.

  1. Is this still compatible with the latest version (I have a WD My Cloud Gen2 of 4TB with the original firmware 2.30.181)?

  2. How does the ChrootedDebian’ app work? I know what is the chroot command for, but I would like to know if this is well implemented in the WD My Cloud and if it is stable …

  3. If I only install apps in the normal firmware, can I update it as normal?

Thanks you very much :slight_smile:



I am back with more questions about this great repository :wink:. I’ve been trying to install some apps like PhpMyAdmin, Joomla, MediaWiki and Wordpress, but I have the same problem with each of them:

  • How can I connect to MySQL? I have seen that the NAS already has a MySQL server installed, but I don’t know the password or how to connect to it.

Thanks :blush:

EDIT: I answer my own question. The default login and password for the MySQL that is already installed is “admin” and “admin”.


Thank you so much for your reply!

So you believe I should try another one? I’m interested mostly in a “dropbox” or “gdrive” experience mostly. But because most of the users are regular people I thought own/nextcloud would be the best option because of the graphical design.

You think nginx would do the trick? I really appreciate your answer @troolie




Well, it does for me as I described in my previous message. I use nextcloud mostly as centralized backup for my android devices (there are several android clients to do all sort of things: create shared tasklists, backup phonebook, copy files from and to the phone, centralized agenda and so on). If I’m lazy or don’t wanna map a samba share, I can also access my public shared folder from nextcloud’s web interface.
Like I said, nginx makes it workable, at least when you don’t throw several concurrent users at it. Then again, it also depends what visualization plugins you add to your nextcloud. For example, do you want it to integrate viewers for office documents so you can view the content from any device? Well, there’s a plugin for that, but it takes more memory to use it and to small ARM CPU will have to process the job. Whereas you could simply download the file and use some program on your computer to view the file (more work for you, less for the mycloud).
YMMV. A lot. I’m happy with it though and you probably would be too.

I went with nextcloud cause we use owncloud at work. I didn’t research much about alternative products but I’m pretty sure nextcloud is the best and most advanced opensource project you can find for a personal cloud. I kinda wanted to document its installation (I even setup a wikimedia on the mycloud to keep track of that kind of stuff) but it takes more time than I can spare at the moment.


First of all, thanks @Fox_exe for the hard work. I really appreciated.

My device is a Gen 1 and I was doing some experiments that lead me to a problem now.

After installing clean_debian 64k the repos were not working so I decided to move it back to clean_debian Jessie but when I try to re-run autoinstall it said that mdadm was not working proberly.

When I tried to run root@mycloud: mdadm it always answer with ‘Killed’.

root@MyCloud:~# mdadm

Full Log:

root@MyCloud:/data/shares/Public# ./
Ok, lets go...
Stop all processes...
forked-daapd: no process found
Stopping periodic command scheduler: cron.
./ line 44: command not found
Recreate mdraid partitions:
/dev/md0 exist! Deleting...
./ line 58:  2093 Killed                  mdadm --stop ${upgradeDevice} 2> /dev/null
./ line 58:  2094 Killed                  mdadm --wait ${upgradeDevice} 2> /dev/null
Restoring raid...
./ line 61:  2097 Killed                  mdadm ${currentRootDevice} --remove ${Disk}1 > /dev/null 2>&1
./ line 62:  2098 Killed                  mdadm --wait ${currentRootDevice} 2> /dev/null
./ line 63:  2099 Killed                  mdadm ${currentRootDevice} --add ${Disk}1 > /dev/null 2>&1
./ line 64:  2100 Killed                  mdadm --wait ${currentRootDevice} 2> /dev/null
./ line 65:  2101 Killed                  mdadm ${currentRootDevice} --remove ${Disk}2 > /dev/null 2>&1
./ line 66:  2102 Killed                  mdadm --wait ${currentRootDevice} 2> /dev/null
./ line 67:  2103 Killed                  mdadm ${currentRootDevice} --add ${Disk}2 > /dev/null 2>&1
./ line 68:  2104 Killed                  mdadm --wait ${currentRootDevice} 2> /dev/null
Current device: /dev/md1
Upgrade device: /dev/md0
Upgrade part: /dev/sda1
Current raid status:

Personalities : [linear] [raid0] [raid1] [raid10]
md1 : active raid1 sda2[0]
      1999808 blocks [2/1] [U_]

md0 : active raid1 sda1[0]
      1999808 blocks [2/1] [U_]

unused devices: <none>
Creating new mdraid volume...
./ line 80:  2106 Killed                  mdadm ${currentRootDevice} -f ${upgradePart}
./ line 81:  2107 Killed                  mdadm --wait ${currentRootDevice}
./ line 83:  2109 Killed                  mdadm ${currentRootDevice} -r ${upgradePart}
./ line 84:  2110 Killed                  mdadm --wait ${currentRootDevice}
./ line 86:  2112 Killed                  mdadm --zero-superblock --force --verbose ${upgradePart}
./ line 89:  2115 Killed                  mdadm --create ${upgradeDevice} --verbose --metadata=0.90 --raid-devices=2 --level=raid1 --run ${upgradePart} missing 2> /dev/null
./ line 90:  2116 Killed                  mdadm --wait ${upgradeDevice}
!! Something wrong: /dev/md0 not exist !!
!! Exiting now.                                !!

I tried to reinstall mdadm but unfortunately with the 64k repo not working I wasn`t able to doit. Now i am stuck, I still have access to ssh, mounting and unmounting and everyting but I cant reinstall debian.

Thanks in advance.


The depot for 64k is here :
You have to start over from the original firmware, otherwise it will not work.
In mycloud ssh :
dd if=boot-md0.env of=/dev/sda7
You should go back to the original firmware, from here you can restart the script.

Option 2
You erase your disk and install the image I just uploaded, with clean debian jessie 4k and rootfs 10Gb :!DGBxwQiS!y3H8twu3jeMjLzzebPIzfg
I just came to post it and share, just follow the instructions for installation.

ps : I have fail and remove /dev/sda2 from the raid, I just kept /dev/sda1 and /dev/md1 with the same partitioning order as the original.


Thanks for the reply @Tony_Le_moine

I did try the first option but it didnt`t seem to work

In mycloud ssh :
dd if=boot-md0.env of=/dev/sda7

after reboot I lost ssh access and it seems like it is bricked, is there anything else to be done after it?



You have this solution:

Or you open your MyCloud and you follow these tutorials:

Another faster solution, but you still have to open it: [GUIDE] Debrick a completely dead MyCloud

To open it without damaging it: