WD MyCloud编译的busybox-1.23.2中增加mdadm-3.2.6(独立编译uClibc版本)

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

首先参考Ubuntu 17.10上使用crosstool-ng-1.23.0建立WD MyCloud修复工具编译环境(uClibc)创建我们需要的编译工具。

接着参考更优雅的(不拆硬盘)拯救死翘翘了的WD MyCloud(Ubuntu 17.10)配置编译出启动镜像。

具体编译过程如下:

$ cd ~

$ wget https://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-3.2.6.tar.xz

$ tar -xvf mdadm-3.2.6.tar.xz

$ cd mdadm-3.2.6

$ export PATH=$PATH:~/x-tools/arm-unknown-linux-uclibcgnueabihf/bin/

$ ./configure --host=arm-unknown-linux-uclibcgnueabihf --prefix=`pwd`/mdadm_arm/

$ make "CFLAGS += -D_BYTESWAP_H=1 -O3"

$ mkdir ~/mycloud/extrafiles
 
$ mkdir ~/mycloud/extrafiles/sbin

$ mkdir ~/mycloud/extrafiles/lib
 
$ mkdir -p ~/mycloud/extrafiles/usr/lib
 
$ cp -r ~/mdadm-3.2.6/mdadm ~/mycloud/extrafiles/sbin/mdadm
 
#可以简单的把整个sysroot直接拷贝过来,但是无用文件太多,导致最后的文件太大了,因此我们只提取我们自己需要的文件出来
$ cp ~/x-tools/arm-unknown-linux-uclibcgnueabihf/arm-unknown-linux-uclibcgnueabihf/sysroot/lib/ld-uClibc* ~/mycloud/extrafiles/lib/
 
$ cp ~/x-tools/arm-unknown-linux-uclibcgnueabihf/arm-unknown-linux-uclibcgnueabihf/sysroot/lib/libc.so* ~/mycloud/extrafiles/lib/
 
$ cp ~/x-tools/arm-unknown-linux-uclibcgnueabihf/arm-unknown-linux-uclibcgnueabihf/sysroot/lib/libuClibc-* ~/mycloud/extrafiles/lib/
 
$ cp ~/x-tools/arm-unknown-linux-uclibcgnueabihf/arm-unknown-linux-uclibcgnueabihf/sysroot/usr/lib/libc.so ~/mycloud/extrafiles/usr/lib/libc.so
 
#打包成压缩包,稍后我们的脚本会在找到这个压缩包后,打包进入镜像
$ cd ~/mycloud/extrafiles
$ tar -cvzf extrafiles.tar.gz *
$ mv extrafiles.tar.gz ../

重新打包uImage镜像

$ cd ~/mycloud

$ ./build-sys.sh

其他操作参照更优雅的(不拆硬盘)拯救死翘翘了的WD MyCloud(Ubuntu 17.10)

参考链接


发布者

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注