以编程方式获取USB文件系统格式

时间:2017-02-07 05:38:35

标签: linux usb embedded-linux mount

我需要将USB驱动器安装到运行Linux的嵌入式系统中。 USB可以是FAT,NTFS或ExFAT格式。

我如何在代码中处理这个问题,以便在mount命令中传递正确的类型,例如

mount -t vfat / dev / sda1 / mnt

所以我尝试使用mount:

mount -t vfat,ntfs / dev / sda1 / mnt

此命令提供无效参数,但如果USB为NTFS或VFAT格式,则成功安装USB。但是,如果我试图给予

mount -t vfat,ntfs,exfat / dev / sda1 / mnt

命令失败。

任何指针都会非常有用。

1 个答案:

答案 0 :(得分:1)

从装载手册页:

  

如果没有给出-t选项,或者指定了auto类型,   mount会尝试猜测所需的类型。 Mount使用blkid   用于猜测文件系统类型的库......

libblkid可用于您的嵌入式系统吗?

尝试:

<?xml version="1.0" encoding="UTF-8"?>
<sequence name="sendMail" trace="disable" xmlns="http://ws.apache.org/ns/synapse">
    <property expression="//email" name="mailto" scope="default" type="STRING"/>
    <log level="custom">
        <property expression="fn:concat('Sending mail to - ',get-property('mailto'))" name="mail"/>
    </log>
    <property name="messageType" scope="axis2" type="STRING" value="text/html"/>
    <property name="ContentType" scope="axis2" type="STRING" value="text/html"/>
    <property name="Subject" scope="transport" type="STRING" value="File Received"/>
    <property name="OUT_ONLY" scope="default" type="STRING" value="true"/>
    <header expression="fn:concat('mailto:', get-property('mailto'))" name="To" scope="default"/>
    <property name="OUT_ONLY" scope="default" type="STRING" value="true"/>
    <send/>
</sequence>

mount -t auto /dev/sda1 /mnt

如评论中所述,请确保嵌入式系统上的内核支持exfat。