arm-linux ntfs移植

内核支持fuse

File systems  ---> 
<*> FUSE (Filesystem in Userspace) support 
<*>   Character device in Userspace support

库和工具编译

从http://www.tuxera.com/community/ntfs-3g-download下载最新的ntfs-3g源码包

tar zxvf ntfs-3g_ntfsprogs-2017.3.23.tgz -C ./

export PATH=/home/allen/share_allen/Zodiac_linux/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf/bin:$PATH

./configure CC=arm-linux-gnueabihf-gcc  --host=arm-linux-gnueabihf --prefix=/home/allen/share_allen/Zodiac_linux/3rdParty/ntfs-3g/build/usr  --exec-prefix=/home/allen/share_allen/Zodiac_linux/3rdParty/ntfs-3g/build

make

make install DESTDIR=/home/allen/share_allen/Zodiac_linux/3rdParty/ntfs-3g/build/destdir

最终生成的文件在:$DESTDIR/--exec-prefix 下,这里即:
/home/allen/share_allen/Zodiac_linux/3rdParty/ntfs-3g/build/destdir/home/allen/share_allen/Zodiac_linux/3rdParty/ntfs-3g/build

拷贝工具ntfs-3g、动态库libntfs-3g.so.88.0.0 和链接  libntfs-3g.so、libntfs-3g.so.88.0.0到 机器即可。
命令: ntfs-3g  /dev/sda1  /mnt

注意:
1)make install出现 ../libtool: line 1085: arm-linux-gnueabihf-ranlib: command not found
原因:
添加arm交叉编译器目录到PATH中是放在/etc/profile里的,这是用户的配置文件,我的用户为allen。
执行make install时,如果加了sudo前缀,变成了root的工作环境和root的权限。
make install是在root下做的,而arm-linux-ranlib在wmm用户的工作环境中才能找到。所以产生了这里的错误.
解决:切换到root用户执行上述步骤。

2)卡在 make  install-exec-hook
原因:--exec-prefix 的lib目录丢失导致 make install-exec-hook(libntfs-3g/makefile)执行失败,原因未知。
解决:在--exec-prefix 目录下手动创建一个 lib目录

猜你喜欢

转载自blog.csdn.net/z1026544682/article/details/106529939