搞定ARM LINUX下用ntfsprogs(ntfsmount)挂载ntfs分区

折腾了几天,加了几天的班,不停的编译,不停的更换代码版本。总算搞定了。一个小小的功能,却让我把整个系统的基础翻了个底朝天。

第一步:arm-linux-uclibc交叉编译工具链没有宽字符支持,无法编译ntfsprogs或者ntfs-3g.重新自己制作交叉编译工具链,花了不少于两天的时间,包括编译gcc,uclibc,linux kernel 这一步等整理过后一定做个记录,太不容易了。

第二步:busybox和ntfs-3g以及ntfsprogs的版本匹配问题,busybox中实现的mount不支持某些特定的参数,导致ntfs-3g或者ntfsprogs无法正确执行,而且busybox某些版本的make menuconfig配置中也没交叉编译选项。

第三步:fuse的内核BUG,linux2.6.14内核源码中的fuse无法正常工作于ARM平台,在ls等命令时会卡住无法退出,必须使用fuse2.6.x的内核模块编译后动态插入,要保证此步骤正确完成,前面的交叉工具链,kernel,busybox等都必须配置正确。否则会出现文件明明就在其目录下,insmod却找不到等奇怪现象。

 

 

目前正确工作的版本为:binutils-2.16+gcc-3.4.3+uClibc-0.9.28  linux-2.6.14+busybox-1.1.2+fuse2.6.0+ntfsprogs-1.13.1

以上7个组件全部自行编译测试。

总结:要在没有参考的情况下自己搭建linux嵌入式开发的基础平台真的很麻烦,无数的不明所以的错误,无数的版本兼容配合问题。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值