WD MyCloud编译的busybox-1.23.2中增加e2fsprogs-1.43.7

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

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

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

具体编译过程如下:

$ cd ~

$ wget https://nchc.dl.sourceforge.net/project/e2fsprogs/e2fsprogs/v1.43.7/e2fsprogs-1.43.7.tar.gz

$ tar -zxvf e2fsprogs-1.43.7.tar.gz

$ cd e2fsprogs-1.43.7

$ ./configure --host=arm-unknown-linux-uclibcgnueabihf --prefix=`pwd`/e2fsprogs_arm/ --disable-nls

$ make

$ make install

$ cp ~/e2fsprogs-1.43.7/e2fsprogs_arm/sbin/mkfs.ext4 ~/mycloud/extrafiles/sbin/mkfs.ext4 
 
$ cp ~/e2fsprogs-1.43.7/e2fsprogs_arm/sbin/mkfs.ext3 ~/mycloud/extrafiles/sbin/mkfs.ext3

#可以简单的把整个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

如果e2fsprogs-1.43.7的源代码不能下载,可从本站下载一份代码拷贝。点击这里下载

参考链接


发布者

发表回复

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