英创Linux工控主板EM335x系列,标准配置为256M的flash存储器,系统占用了128M,留给用户的文件空间有128MB。在实际应用中,当客户需要记录数据时,可以将数据以文件的形式存储在flash中。如果需要存储的数据较大或者需要拷贝到PC中做备份分析时,128M的flash存储空间不能完全满足需求,这时可以采取使用SD卡扩展存储空间的方案来解决大容量存储的问题,SD卡具有存储空间大,使用灵活的特点,只需要将SD卡取出接在PC上就能将存储的数据读出。同时英创公司又推出一种新的解决方案,使用USB2.0接口的移动硬盘来进行扩展,移动硬盘的存储空间比SD卡更大,市面上常见的为500G甚至1TB。
大容量的移动硬盘采用的文件系统均为NTFS,而Linux系统本身对NTFS文件系统的支持并不是很完善,仅支持读操作,如果要实现写操作,那么需要移植一款小工具:ntfs-3g。ntfs-3g是一个开源软件,支持Linux系统下对NTFS格式的分区进行读写操作。源码下载地址:http://www.tuxera.com/community/ntfs-3g-download/。
最新的版本为ntfs-3g_ntfsprogs-2014.2.15,下载完源码包之后,首先解压:
tar zxf ntfs-3g_ntfsprogs-2014.2.15.tgz
进入到解压目录,配置文件:
./congifure --host=arm-linux CC=arm-none-linux-gnueabi-gcc --prefix=$PWD/tmp --exec-prefix=$PWD/tmp --enable-really-static
需要注意,这里--prefix和--exec-prefix都要加上,设置的安装路径才能起作用,--enable-really-static表示采用静态编译。配置完成后进行编译安装:
make
make install
安装好的可执行文件在之前设置好的$PWD/tmp中,将安装目录中bin目录下的ntfs-3g可执行文件拷贝到板卡的文件系统中,建议可以放在/mnt/nandflash目录下。这样移植的工作就已经完成了。
接下来开始挂载移动硬盘,首先插入移动硬盘,识别后终端会打印一些信息:
上图中sda1和sda2表示这个移动硬盘有两个分区,当终端打印出移动硬盘的信息后,就可以使用之前移植好的工具进行挂载了。
我们在/mnt目录下创建一个disk目录用于测试挂在是否成功,挂载的命令为:
/mnt/nandflash/ntfs-3g -o nls=cp936 /dev/sda1 /mnt/ disk/
改命令表示将/dev/sda1分区挂载到/mnt/ disk 目录下,-o nls=cp936是指使用cp936编码,这样可以支持支持中文显示。
在挂载前/mnt/disk目录是空的,现在可以使用ls命令查看挂载后/mnt/disk目录下的文件:
可以看到已经挂载成功,现在我们写一个文件到硬盘中,使用cp复制命令,将flash中的ntfs-3g拷贝到硬盘中:
再次查看移动硬盘的挂载目录,发现已经有ntfs-3g这个文件,对移动硬盘的写操作成功,这样使用ntfs-3g工具就已经支持了对动移动硬盘的读写操作。
如果需要卸载移动硬盘,使用umount命令即可:
umount /mnt/disk
-
Linux
+关注
关注
87文章
11213浏览量
208736 -
嵌入式主板
+关注
关注
7文章
6084浏览量
35162
发布评论请先 登录
相关推荐
评论