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


Hi, @Fox_exe, I installed your Firmware, in my Mycloud Gen1, works perfect, thanks for your whork.
My intention is to turn it into a small web and mail server , for this I would be interested in activating the IPTABLES, you would know how to recompile the kernel, to activate it, or installing a version of the kernel, it would already be activated?, the installed version is 3.2.26(CleanDebian.English) from here.
I would appreciate any guidance on this, thank you in advance.

Here. Use 3.2.68 as source.


Hello @Fox_exe , you could tell me, where to read, how to do it, the truth of my experience, with the Linux kernel, I finished in 0.27pre 2 about 20 years ago … :wink:


Hi, @Fox_exe , im been updated the Kernel to latest 3.2.68 them have iptables active :wink: thanks a lot. now go to configure it…


Hi, I recently bought a my cloud gen2 nas. I’m at a point where I have to change a config that I cannot do without stupid workarounds. I noticed that this my cloud has a castrated busybox running :confused:
For changes in the future I’m now considering an alternative firmware.
Seems like @Fox_exe has done some great work so far.
But I read about slow transfer speed via samba so I want to ask:
Is this issue resolved now? I plan to use debian + omv.

With original firmware now I get ~ 110 MB/s

Is this still status quo?


WD make few changes for increase speed:

  1. Custom patch for samba (DMA, Large memory page size, etc support). Boost speed to 70-80mbps.
  2. Custom patch for kernel (Large memory page size). With samba patch - boost speed to 100-110mbps.

First patch - need port to newer version of samba. (Hard for me), second - brokes compatibility with normal software (Like in v04.xx firmware).


Thx for the insight! That’s unfortunate :confused:
That somehow defeats the purpose of the nas. I mean 60-70 MB/s isn’t bad at all but it’s not a gigabit nas anymore.
Is there a way to modify the original firmware so that changes are saved upon reboot or firmware upgrade?
I found this but didn’t get it to work, should it still work?

Other than that I saw your post about custom apps you can install but I cannot find an apps that helps saving changes upon reboot.
Right now I only have to change /etc/exports all_squash to no_root_squash to ensure my rsync backup to the nas is working correct. But in case of more changes I now consider changing the system.
Also I hate vi. :smiley: Isn’t there a nano app?


Rootfs is compressed and stored on nand/hdd. Every boot its unpack to ramdisk, so there two ways for make changes permament:

  1. Modify rootfs: store in different format (r/w) + comress at powerdown or file changes
  2. Modify or make custom application which will make necessary changes at start (Modify or in any of installed app’s or make you own)


Why does everyone ignore the builtin capability to make changes on reboot? The gen2 has a system_init script that contains the following code snippets:
nas_model_name=xmldbc -g /hw_ver
for i in ls /mnt/USB/
#echo “/mnt/USB/${i}/mfg_${nas_model_name}”
#echo “/mnt/USB/${i}/fun_plug”
if [ -e /mnt/USB/${i}/mfg_${nas_model_name} -a -e /mnt/USB/${i}/fun_plug ]; then
#echo “Into MFG mode”
touch /tmp/mfg_mode
if [ -e /tmp/mfg_mode ]; then
touch /tmp/boot_finished
touch /tmp/system_ready

for mfg

touch /tmp/boot_finished

restore rebuild speed to default max
If it finds these two files it executes the mfg_start. mfg_start executes the fun_plug script. The mfg_WDMyCloud file name depends on the hw_ver as shown above. The mfg_WDMyCloud file must contain the following two lines

So you can put any commands in the fun_plug script. It will be executed on every reboot. If you make a mistake and cause the My Cloud to be unstable just pull the USB and reboot. You will be back to a standard MyCloud firmware.


:confused: I fear this is too advanced/risky for me…

Should I save a copy of exports somewhere on the hdd, edit this copy and change the above?
After that copy custom file back to /etc/exports?
Can you help me what to execute and where to place it in the fun_plug script?


There are a few threads describing fun_plug. I think you wrote most of them…

If I had a gen2, I’d certainly be going down that route for my customisation needs.


I don’t understand the post withdrawn entry?


Don’t worry about it; should have just edited it…


Hi Fox_Exe and thanks for your work. I use a single drive Mycloud Gen2 (also have 2-drive but I just use that with the original firmware because of the fans spinning too much, and I also use it to sync my files and backup of iphone photos)
I saw the new Alpine Linux document on your page.
Could you build a newer Kernel (4.14), enable USB Soundcards, and could you also patch in exfat_nofuse? I’d like to use my single drive as a self contained MPD machine.



Thanks @Fox_Exe - I successfully installed OpenMediaVault on one of my 6TB MC Gen2. However, to be able to create shares on this device, two things need to be done additionally:

  • Set the file system type of /dev/sda2 to Linux Filesystem (15)
  • Remove /dev/sda2 from /etc/fstab

Otherwise the device won’t show up when creating shares.


Now I wanted to do the very same thing again on another device which is exactly the same. Followed every step, no error messages. When rebooting, sshd did not come up, thus I don’t have connectivity to the device. nmap shows that there is an IP address though:

Nmap scan report for
Host is up (0.00047s latency).
Nmap done: 256 IP addresses (30 hosts up) scanned in 2.70 seconds

$ ssh root@
ssh: connect to host port 22: Connection refused

$ sudo nmap -sS
Starting Nmap 6.47 ( ) at 2017-10-19 07:11 CEST
Nmap scan report for
Host is up (0.00053s latency).
All 1000 scanned ports on are closed
MAC Address: 00:14:EE:0B:XX:XX (Western Digital Technologies)
Nmap done: 1 IP address (1 host up) scanned in 1.97 seconds

Any suggestions? I crosschecked the commands I executed via telnet (still there in another window, everything is correct and the way it is suppsed to be)

  1. Create USB-recovery flash with alpine linux ( see @Fox_exe ftp )
  2. Load recovery
  3. Mount you hdd drive in /mnt/hdd
  4. Check network interface config

cat /mnt/hdd/etc/network/interfaces

auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

  1. remove file


  1. Reboot and remove USB-flash

  2. Scan nnmap


Quick question: I anyone running alpine linux on the my cloud? I’m interested if the file transfer speed via SMB is better than the 60-70 MB/s on debian firmware here.


Speed depends of kernel (Network driver, file system, etc) and Samba (Network share / smb protocol).
Pure (clean) debian jessie, Samba v4.2 ~ 40-50MB/s
After tuning - 50-70MB/s
After add pathes (Improved slice) - upto 80MB/s
After change “Memory page size” in kernel and Samba - full 110-120MB/s (1Gbps).
But patch for samba is too old. I cant transfer it to new version (I dont so good in programming).
And “64k” patch brokes all normal applications (Because by default all software use 4kb page size).

Yeah, if its really need for me - i can teach c/c++ and transfer all changes to latest kernel and samba. Also its possible to provide “64k” support for normal “4k” software without recompilation (Its done in Armada kernel).

But I am a lazy animal and have bored to play with this piece of scrap metal.
(Now I play with OrangePI and STM32/Arduino)

Sorry, guys. No future support for this device. Maybe little bug-fixes, but no more.


@fox_exe thanks again for your works…
just a question regarding to hardware info in your google drive
I have WDBCTL0040HWT-SESN in model and its running My_Cloud_GLCR_2.21.119 firmware …so Its version 2…wdmc gen2,
but on your hardware info BCTL is Gen1…
so can you confirm which is right product number for gen 1/2 in related to WDBCTL