下载地址:
http://nchc.dl.sourceforge.net/sourceforge/e2fsprogs/e2fsprogs-1.39.tar.gz
具体参见文档说明:
前提:交叉编译工具已经安装好:
step 1:
解压:e2fsprogs-1.39.tar.gz 到 e2fs目录下
step 2:
# cd e2fs
step 3:
#mkdir build
#cd build
#../configure --host=arm-linux --enable-elf-shlibs--with-cc=arm-linux-gcc --with-linker=arm-linux-ld --
prefix=/usr/local/arm/3.4.1/arm-linux
step 4:
#make
这个是我出现了问题:./util/subst command not found
解决方法:subst在build的上一目录的util里面可以找到subst,链接到build/util/下面问题解决。
step 5:
接着#make
新问题产生error: variable or field `__user' declared void
解决方法:arm-linux-gcc 3.4.1编译e2fsprogs-libs的时候报告错误fd.h:342: error: variable or field `__user’ declared
void,经查gcc 3.4.1中新增类型 __user ,需要引入编译器定义头文件,在引用#include <linux/fd.h>的前面加上#include
<linux/compiler.h>,可以解决这个编译错误
step 6:
#make
如果还有error: variable or field `__user' declared void
那么请执行make clean,重新做step 3 & step 4。
至此问题解决。
注:step 5:问题感谢http://www.edacn.net/?72210 ,hkxyc在我之前已经遇到了这个问题,省去了我不少时间.