参考更优雅的(不拆硬盘)拯救死翘翘了的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)配置编译出启动镜像。
具体编译过程如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
$ 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
镜像
1 2 3 |
$ cd ~/mycloud $ ./build-sys.sh |
其他操作参照更优雅的(不拆硬盘)拯救死翘翘了的WD MyCloud(Ubuntu 17.10)。