Will changes get lost on firmware upgrade?

I have just got a MyBookCloud, and out the box it most replaces a home-crafted solution I have been using for a number of years (a Sheevaplug running Debian and a MyBookMirror).

However there are a couple of things it doesn’t do, that don’t seem to be that hard to achieve.

1/ I have a python script that uploads any music I put on the drive to Google Music.   This is run as a cron-job each night on my sheevaplug.

If I copy the script over and add it to the cronjob list (using crontab -e ) will it survice a firmware update in the future, or will I need to redo any tweaks I make?

I also have a script that sends pictures to Flickr’s 1TB of picture storage, again using python, so the same would apply for this mod too.

Finally, I notice that the Apps menu allows you to browse manually for apps.  I’m guessing this allows you to make your own?  Is there any API or documentation for this…  As perhaps I need to package my tweaks as apps…

Hello,

This type of modifications is not supported. But lets see if any other user has any type of recommendations.

First, you posted this in the My Cloud Mirror board - I want to be sure that’s the product you have question about…since you mentioned “MyBookCloud”. There is a different product called My Cloud and with a separate forum board for that.

Second, crontab edits will not survive firmware update - the whole /var tree is rebuilt. Actually, crontab edits won’t even survive a reboot.

Sorry for the confusion, I have the MyCloudMirror (so I am in the right place).  I previously had a MyBook hence my confusion…

So if changes don’t survive firmware updates, I’m guessing packaged apps do retain their configuration.   Is there any documentation on the packaging format of these apps?  Can I brew my own?    There is a browse option when installing them to select local packages, but no other documentation.

I’m thinking they may be optware IPK files, but not found anything that works so far…

You do not have a full blown Linux on these boxes. The OS BusyBox is a lightweight, embedded Linux.

If you are comfy with Unix/Linux, I would suggest that you perhaps try to incorporate your changes into the firmware itself and then load your own custom firmware. Then you won’t lose your changes on firmware updates OR on reboots. Be aware, that you are probably going to void the warranty…BUT if you know what you are doing, it shouldn’t be a problem. The firmware source code is available from WD’s download section from their support site. The instructions to compile the firmware is in a readme file in that tar.

If my answer resolves your issue, then please click on the star under my username on the left of this post to give me a kudos. And you can mark my previous post, where I specifically answered your original question as the solution.

That seems overkill for what I need, and would mean be rebasing my changes every time a new firmware is released.

I am looking for more details on the application packaging format, as clearly it’s something that’s supported, as the UI has a browse to your own app package function.

It’s just nothing is documentated about how to package your own apps.

The only place where you’d see something like what you are looking for would be in their SDK for 3rd party app developers - but though they posted this a while ago in the EX4 sub-forum, I have seen several forum users trying to contact them at the email address mentioned in this thread ( http://community.wd.com/t5/WD-My-Cloud-EX4/Calling-all-Linux-App-developers-My-Cloud-EX4-SDK/m-p/621299#M3 ) but got no response from WD. I am not sure if it’s because they weren’t legit third party app developers (and just wanted to package apps on their own) or if WD decided to abandon the 3rd party app development initiative altogether (because I haven’t seen them expand the number of apps beyond the current measly few while other NAS vendors seem to have a plethora ofapp choices).

OK, have an update on this.   Logged onto my MyCloudMirror over SSH and had a poke around the filesystem.

You can find the URL’s of the existing apps:

http://download.wdc.com/apps/WDMyCloudEX2/aMule/aMule_1.01.bin

http://download.wdc.com/apps/WDMyCloudEX2/IceCast/IceCast_1.01.bin

http://download.wdc.com/apps/WDMyCloudEX2/Joomla/Joomla_1.01.bin

http://download.wdc.com/apps/WDMyCloudEX2/phpBB/phpBB_1.00.bin

http://download.wdc.com/apps/WDMyCloudEX2/phpMyAdmin/phpMyAdmin_1.01.bin

http://download.wdc.com/apps/WDMyCloudEX2/SqueezeCenter/SqueezeCenter_1.00.bin

http://download.wdc.com/apps/WDMyCloudEX2/WordPress/WordPress_1.00.bin

http://download.wdc.com/apps/WDMyCloudEX2/Git/Git_1.00.bin(10212013)

http://download.wdc.com/apps/WDMyCloudEX2/NZBGet/NZBGet_1.00.bin(11082013)

http://download.wdc.com/apps/WDMyCloudEX2/Transmission/Transmission_1.02.bin

http://download.wdc.com/apps/WDMyCloudEX2/DVBLink/dvblink-server-wd-linux-ex2-arm-5.0.0.bin

The files themselves open up in 7ZIP, are are Tar.Gz files.   There is some signing going on, but I’m not yet sure if it’s checked when installing packages manually (I hope not).

From there, I discovered they use a packaging format called APKG, and a google on that, came up with a SDK for DLINK who also use this format…

ftp://ftp.dlink.ru/pub/NAS/DNS-345/Add-Ons/NAS%20How-To%20Guide%20-%20ShareCenter%20Add-On%20SDK%20v1.0.docx

Other interesting things…

Interestingly, the Transmission package only seems to include the Transmission WEBUI, so I assume that the built in P2P system that the MyCloud uses is already Transmission.

Will post back further info if I get any custom apps working.

1 Like

Great work clashcityworker…the thing I’d be curious to learn is if there was a manual way to load these bin files onto the Mirror. You’re already way ahead of several others who’ve been trying to solve this puzzle…your further success in researching this will definitely be valuable info for many in the community… See this My Cloud EX4 thread → http://community.wd.com/t5/WD-My-Cloud-EX4/My-Cloud-EX4-SDK-Reality-or-Myth/m-p/758026

I am gonna post a link back to this thread in that thread…there might be others who might be interested about your findings. And though that is EX4 and not the Mirror product, these products vary only slightly in hardware…the firmware code is nearly identical, with only some minor features disabled in Mirror.

There is a manual way to load them.   On the Apps, Add page,  there is a button to browse to a package file!

1 Like

Thanks for that info! Kudoed you.

Well bad news, unlike DLink (who seem to care about their end users, provide an SDK, and documentation for their identical product), Western Digital have decided to go the closed route.

I have concluded that the application packages are signed by WD, so end users can’t create their own packages.

I suggest anyone that cares about this sort of thing, they go check out the D-Link DNS-345, which does allow end-user “homebrew” apps.

For reference, here is a simple Telnet Server package, that seems correct, but fails to load on the WD devices, persumably due to lack of package signatures.

https://www.sendspace.com/file/q1xmpj

You can open it up in 7ZIP to see what’s going on.  It’s about as simple as a application can get.

If this situation changes, I will update this post…

Thanks clashcityrocker for updating us on this. I somehow had suspected as much. Haven’t gotten around to playing with this, but I might try tinkering around sometime…although I know it is a dead-end at this point.