WD MyCloud编译的busybox-1.23.2中增加mdadm-3.2.6

参考更优雅的(不拆硬盘)拯救死翘翘了的WD MyCloud(Ubuntu 17.10)配置编译出来的镜像中缺少mdadm,我们在此介绍一下如何增加mdadm-3.2.6的功能。

如果mdadm-3.2.6的代码不能成功下载,可以从本站下载一份代码拷贝。点击这里下载

具体使用的时候:

参考链接


更优雅的(不拆硬盘)拯救死翘翘了的WD MyCloud(Ubuntu 17.10)

以前WD MyCloud被捣鼓坏掉了,都是参考拯救死翘翘了的 WD MyCloud来处理的,但是这种处理方式需要拆机,非常的费力。最近看到有人发布了可以不拆机的方式修复的方法。研究了一下,非常可行,推荐使用这种方法。

下面的这些操作都是WD论坛上的一些达人通过分析WD MyCloud的源代码得到的,没有非公开的黑科技,都是一些明确公布的内容。

原理大致讲一下,在WD MyCloud主板上有一块Flash闪存,闪存里面是已经写入的bareboxWD MyCloud启动的时候会把barebox从闪存载入到内存中,并且启动barebox,而barebox启动后,会等待5S的时间,检测是否有人向自己的网卡发送内容为WD-ICMP-BEACONWD-ICMP-BEACONWD-ICMP-BEACONWD-ICMP-ICMP报文(本质就是PING),一旦检测到这个报文,就会连接这个报文的发送方的69号端口(TFTP服务器端口),获取一个名为startup.sh的脚本,并且下载完成后,执行这个脚本。因此我们就可以在这个脚本中拉取一个自己编译好的内核,然后运行这个内核,达到修改系统的目的。

继续阅读更优雅的(不拆硬盘)拯救死翘翘了的WD MyCloud(Ubuntu 17.10)

WD MyCloud拆硬盘恢复系统后容量部分显示0KB

捣鼓挂掉WD MyCloud之后,在参照 拯救死翘翘了的 WD My Cloud 恢复系统后,首页中的容量部分显示0KB,如下图:

解决方法为,进行一次"仅系统"的"系统出厂还原",如下图:

参考链接


MyCloud showing 0kb available, data and files cannot be accessed

WD MyCloud编译PHP-7.1安装包

1.按照How to successfully build packages for WD My Cloud from source中的介绍,搭建完成WDMyCloud的编译环境

2.使用如下方式编译:

3.编译php-apcu,这个模块WD MyCloud需要

上面下载的代码由于是国外的服务器,因此可能会出现一直无法下载成功的情况,可以从这里下载代码的拷贝。PHP源代码点击这里PHP7 Debian编译配置文件点击这里dh-php源代码点击这里php-apcu源代码点击这里,  php-apcu-bc源代码点击这里

WDMyCloud中安装的时候执行如下命令:

注意,这部分的功能目前仅仅是可用,还没有达到完全正常的情况,如果出现问题,可以切换回PHP5,目前已知的完美切换回到原来的PHP5的办法就是卸载上面安装的所有PHP7的相关应用才能切换成功,否则总有部分小功能不是太正常.

参考链接


WDMyCloud编译TestDisk&PhotoRec 7.0/7.1

1.按照How to successfully build packages for WD My Cloud from source中的介绍,搭建完成WDMyCloud的编译环境

2.下载TestDisk & PhotoRec 7.1的源代码

3.解压缩源代码

4.安装依赖库

5.编译源代码

编译好的文件在src目录下面。

上面的编译方法编译出来的没办法生成安装包,如果需要安装包的版本,可以直接从Debian源中下载已经适配过的源代码进行编译,目前已经被适配的版本是testdisk_7.0-2

使用如下方式编译:

参考链接


源码包: testdisk (7.0-2)

WDMyCloud编译USB网卡MT7601U驱动(小米,小度,360WiFi)

前言


有人留言希望尝试在WDMyCloud上尝试使用USB无线网卡,目标芯片是MT7601U。

经过几天的研究,找到了相关的编译方式。

链接地址 https://github.com/porjo/mt7601u,提示在Linux-4.2以后的版本中已经集成MT7601U芯片的驱动了(drivers/net/wireless/mediatek目录下),但是可惜的是WDMyCloud上的Linux内核版本号是3.2.26,曾经尝试升级到4.2版本之后的Linux内核,可惜尝试之后,发现无法成功编译Mindspeed C2000芯片(WDMyCloud使用的IC芯片,包含CPU,网卡等)驱动,因此只能退而求其次,使用MTK官方提供的驱动程序在3.2.26版本的Linux内核上进行编译。

另外注意,在WDMyCloud提供的默认系统镜像上,没有提供802.11相关的驱动,导致如果使用无线网卡,必须重新编译内核。

具体操作


1.下载MT7601U芯片驱动

驱动程序的下载地址为:http://www.mediatek.com/products/broadbandWifi/mt7601u#product-downloads

也可本站下载

2.下载最新的WDMyCloud的系统源代码

目前最新的下载地址为:http://downloads.wdc.com/gpl/gpl-source-wd_my_cloud-04.04.03-113.zip

3.参照 How to successfully build packages for WD My Cloud from source构建编译环境

4.解压缩下载到的代码中的"packages/kernel_3.2"到"64k-wheezy/build/root"目录下面。

5.执行如下命令,重新编译内核,为驱动的编译准备必备的文件

修改内核编译文件"/kernel_3.2/linux/arch/arm/configs/sequoia64k-wifi_defconfig",在文件的顶部增加"CONFIG_WEXT_PRIV=y",定义这个宏的目的,是为了编译MT7601U芯片驱动的时候使用的,缺少这个宏会导致芯片驱动编译的时候缺少变量。

6.编译内核

编译成功后,在"kernel_3.2/_bld"目录下生成编译文件,在"kernel_3.2/_bin"目录下生成最终的内核镜像和驱动程序。

7.解压缩MT7601U芯片驱动代码到"64k-wheezy/build/root"目录下面,并命名为"MT7601U"。

修改芯片驱动编译文件"Makefile",找到

在这行下面增加

修改"Makefile"中,编译目标系统从PLATFORM = PCPLATFORM = WDMyCloud.

接下来修改"os/linux/config.mk",在文件尾部增加

最后,切换到驱动程序所在的"MT7601U"目录,执行编译。

编译完成后,在"MT7601U/os/linux/"目录下生成名为"mt7601Usta.ko"的驱动程序文件。

剩下的,参考"MT7601U"目录下的"README_STA_usb"中的说明进行操作即可。

注意,如果要成功使用无线网卡驱动,那么需要用刚刚编译好的Linux内核,替换掉原来的内核,并且把"kernel_3.2/_bin"目录下的驱动也拷贝到系统根目录下面相同的位置即可,这个操作是高风险操作,极可能这么操作之后,系统无法正常运行,因此要提前备份文件,并且做好拆硬盘,挂载到其他机器上撤销刚刚的修改的准备。

参考链接


mt7601驱动使用(三)

WDMyCloud中使用Subversion Server不支持中文路径问题的解决

WDMyCloud中使用Subversion Server的时候,发现工程名字为中文的情况下,无法下载代码,此时Subversion客户端报告:

解决方法是在启动Subversion Server之前指定语言为中文,如下:

其他的的参考如下链接:
WD MyCloud中设置服务在开机时候自动启动

WD MyCloud下面Git提交(Push)失败 index-pack died of signal 9

WD MyCloud下面Git提交(Push)失败

如下图所示:
rpi_linux_error

根据网上的其他人的讨论,采用过

1.安装最新的git(2.14)无效)

2.限制git处理的文件的大小,超过大小则保持原始文件不变 (无效)

3.限制线程数量(无效)

4.限制pack的内存占用(无效)

5.限制pack的内存以及文件大小(无效)

6.使用上面的配置,重新在大内存电脑上重建索引提交(无效)

7.增大交换分区(提交过程变得巨慢,耗费了三天后提示失败,无效)

 

最后的解决方法,其实就是在足够内存的机器上面,提交到本机,然后使用scp作为一个文件夹同步到WDMyCloud中。

参考链接


"method driver /usr/lib/apt/methods/https could not be found" update error

在配置了/etc/apt/sources.list中使用了https之后,出现如下错误

如果是中文系统的话,会输出如下信息:

解决的方法是安装apt-transport-https:

如果此时执行

更新会提示:

则执行如下命令来更新本地的证书:

然后就一切正常了。

参考链接


WDMyCloud配置Apache访问Subversion

1.确保WDMyCloud是最新的版本,应该是WDMyCloud v04.04.01-112以后,并且确保Apache2的版本号是2.4.9版本。

2.安装Subversion Server

3.配置并启用Apache dav_svn模块

在文件的尾部增加如下内容:

4.创建Subversion用户

5.重启 Apache2

6.网络访问“http://wd-mycloud/svn”。
7.检出项目 “svn co http://wd-mycloud/svn/project project