我们现在正在构建一个工具,它包括通过PXE引导一个微小的Linux环境,让它在不加载更大的系统的情况下执行许多系统配置操作。(格式化磁盘、创建文件系统等)我们一直计划在这个系统中使用BusyBox,因为在这个上下文中,在一个微小的静态二进制文件中拥有大多数系统工具显然是很棒的。
但是,问题是:我们已经进行了需求更改,并且需要支持创建ext3 (可能还有ext4)文件系统,而BusyBox不支持这些支持。是否有人知道类似的自包含二进制工具,可以用来创建这些文件系统?它不需要也是BusyBox (我可以包括一些额外的工具),但它不需要一堆动态库。
发布于 2012-05-29 02:00:42
使用静态链接编译e2fsprogs,并从中选择所需的二进制文件。您可能只需要mke2fs (这使得所有的EXT系列文件系统- mkfs.ext4只是一个符号链接到它。
如果无法进行静态编译,"ldd mke2fs“至少会显示您需要安装哪些libearies。
发布于 2016-08-03 08:58:20
我执行了以下命令来静态地编译e2fsprogs pkg到目标ARM:
apt-get install gcc-arm-linux-gnueabi
wget http://kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.42.6/e2fsprogs-1.42.6.tar.bz2
tar -jxvvf e2fsprogs-1.42.6.tar.bz2
cd e2fsprogs-1.42.6
./configure CFLAGS='-g -O2 -static' CC=arm-linux-gnueabi-gcc --host=arm-linux-gnueabi
make编译成功后,您将在mke2fs目录下找到misc/二进制文件。要确保生成正确的二进制文件,请检查二进制格式:
$ file ./mke2fs*
./mke2fs: **ELF 32-bit LSB executable**, **ARM,** EABI5 version 1 ...现在,我将这个二进制文件复制到我的目标平台上。
若要用ext4格式化分区:
mke2fs -t ext4 /dev/xxxhttps://serverfault.com/questions/354141
复制相似问题