1.使用udev满足自动挂载
2.编译ntfs-3g支持ntfs格式文件读写,现在卡在第二步
fuse和ntfs交叉编译都没法直接make install,现在ntfs工具可以用--disable-shared --enable-static 编译出来没有库文件影响,编译出来的ntfs放到单板上运行缺少fuse,fuse放到depmod需要编译成ko文件,现在是fuse编译出可在单板上为ntfs提供源的fuse.ko文件?
似乎fuse需要在编linux的时候编入到内核,这样在板子启动后就有fuse?这样就可以使用--disable-shared --enable-static编译出来的ntfs-3g?
如何在单板上支持ntfs格式u盘自动挂载?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注 引自强大而免费的微信小程序:皆我百晓生。
确实,为了支持ntfs格式的自动挂载,需要以下步骤:
编译ntfs-3g
- 首先,交叉编译fuse库,生成fuse.ko文件,并将其安装到单板上。确保fuse.ko文件位于正确的位置,例如/lib/modules/kernel_version/kernel/fs/fuse/fuse.ko。
- 接下来,交叉编译ntfs-3g源码,使用--disable-shared --enable-static选项。确保ntfs-3g可执行文件在单板上静态链接了所需的库。
- 将交叉编译后的ntfs-3g可执行文件复制到单板上。
配置udev以自动挂载
在udev规则中添加一个规则,以便在插入ntfs格式的U盘时,自动执行挂载操作。在/etc/udev/rules.d/目录中创建一个新的规则文件,例如99-automount.rules。
编辑新创建的规则文件,添加一个类似于以下内容的规则:
ACTION=="add", \ SUBSYSTEMS=="usb", \ KERNEL=="sd[a-z][0-9]*", \ ATTRS{serial}=="your_U_disk_serial_number", \ IMPORT{program}="/bin/mount_ntfs.sh %k"
这个规则将监听U盘插入事件并调用/mount_ntfs.sh脚本进行挂载操作。请将"your_U_disk_serial_number"替换为U盘的实际序列号。
创建一个脚本文件/mount_ntfs.sh,用于挂载U盘。该脚本应包含以下内容:
#!/bin/bash DEVNAME=$1 MOUNTPOINT="/mnt/ntfs" mkdir -p $MOUNTPOINT ntfs-3g -o rw,uid=1000,gid=1000 $DEVNAME $MOUNTPOINT
请确保脚本具有可执行权限。
重新启动udev服务
- 在完成以上步骤后,重新启动udev服务以使规则生效。
通过执行以上步骤,当插入ntfs格式的U盘时,udev将自动调用/mount_ntfs.sh脚本挂载U盘,并使用ntfs-3g工具进行读写操作。请确保根据您的需求进行相应的调整和配置。
解决 无用评论 打赏 举报
悬赏问题
- ¥100 有偿,谁有移远的EC200S固件和最新的Qflsh工具。
- ¥15 找一个QT页面+目标识别(行人检测)的开源项目
- ¥15 有没有整苹果智能分拣线上图像数据
- ¥20 有没有人会这个东西的
- ¥15 cfx考虑调整“enforce system memory limit”参数的设置
- ¥30 航迹分离,航迹增强,误差分析
- ¥15 Chrome Manifest扩展引用Ajax-hook库拦截请求失败
- ¥15 用Ros中的Topic通讯方式控制小乌龟的速度,走矩形;编写订阅器代码
- ¥15 LLM accuracy检测
- ¥15 pycharm添加远程解释器报错