Linux arm 支持 ntfs 文件系统

简介: Linux arm 支持 ntfs 文件系统

1.下载 ntfs-3g 开源代码

2.交叉编译

如果没有其他地方需要用到这个动态库,可以考虑禁止编译动态库,只生成动态库,这样生成的课执行文件可以直接在arm板运行,不用设置动态链接

–disable-shared:禁止生成动态库

–enable-static:使能静态库

tar zxf ntfs-3g_ntfsprogs-2017.3.23.tgz  
cd ntfs-3g_ntfsprogs-2017.3.23/
./configure CC=arm-hisiv300-linux-gcc --prefix=$PWD/result --exec-prefix=$PWD/result --host=arm-hisiv300-linux --disable-shared --enable-static
make

make 执行完成后,在src目录下有生成一个 ntfs-3g 的可执行文件,大小1.5M,strip之后365k。

2018122814580746.pngntfs-3g 复制到arm板,可以直接执行,如果配置时没有加 --disable-shared,会需要指定动态库路径才可以运行。

2018122814580746.png

2018122814580746.png

到这一步,得到了可执行文件且可以正常在目标arm板运行,不需要再 make install,我这里的编译环境,执行 make install 一直无法完全执行成功,下面记录一下错误信息

3.安装

make install
...
make[3]: Entering directory `/home/samba/00_ntfs-3g/ntfs-3g_ntfsprogs-2017.3.23/ntfsprogs'
/usr/bin/install -c -d /sbin
ln -s -f /home/samba/00_ntfs-3g/ntfs-3g_ntfsprogs-2017.3.23/result/sbin/mkntfs /sbin/mkfs.ntfs
ln: cannot remove ‘/sbin/mkfs.ntfs’: Permission denied
make[3]: *** [install-exec-hook] Error 1
make[3]: Leaving directory `/home/samba/00_ntfs-3g/ntfs-3g_ntfsprogs-2017.3.23/ntfsprogs'
make[2]: *** [install-exec-am] Error 2
make[2]: Leaving directory `/home/samba/00_ntfs-3g/ntfs-3g_ntfsprogs-2017.3.23/ntfsprogs'
make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/home/samba/00_ntfs-3g/ntfs-3g_ntfsprogs-2017.3.23/ntfsprogs'
make: *** [install-recursive] Error 1

make install 时会报错,主要是 Makefile 里面的 DESTDIR 没给定义,configure也没有给出怎样定义。

于是,在make install 时指定了 DESTDIR,仍然会报错,但在 result/home/samba/00_ntfs-3g/ntfs-3g_ntfsprogs-2017.3.23/result 目录下基本生成了需要的文件。

原因有可能是执行configure没配置好,也有可能是这个configure没考虑到不安装在当前系统的情况,这里不再深究了。得到交叉编译后的可执行文件就可以了。

注意一点,别使用 root 用户或者 sudo 去执行 make install,这样可能会覆盖掉pc里的某些库或者执行文件。

make install DESTDIR=$PWD/result
...
/bin/mkdir -p "/home/samba/00_ntfs-3g/ntfs-3g_ntfsprogs-2017.3.23/result/sbin"
ln -s -f "/home/samba/00_ntfs-3g/ntfs-3g_ntfsprogs-2017.3.23/result/bin/ntfs-3g" "/home/samba/00_ntfs-3g/ntfs-3g_ntfsprogs-2017.3.23/result/sbin/mount.ntfs-3g"
ln -s -f "/home/samba/00_ntfs-3g/ntfs-3g_ntfsprogs-2017.3.23/result/bin/lowntfs-3g" "/home/samba/00_ntfs-3g/ntfs-3g_ntfsprogs-2017.3.23/result/sbin/mount.lowntfs-3g"
make  install-exec-hook
make[3]: Entering directory `/home/samba/00_ntfs-3g/ntfs-3g_ntfsprogs-2017.3.23/src'
/sbin/ldconfig
/sbin/ldconfig.real: Can't create temporary cache file /etc/ld.so.cache~: Permission denied
make[3]: *** [install-exec-hook] Error 1
make[3]: Leaving directory `/home/samba/00_ntfs-3g/ntfs-3g_ntfsprogs-2017.3.23/src'
make[2]: *** [install-exec-am] Error 2
make[2]: Leaving directory `/home/samba/00_ntfs-3g/ntfs-3g_ntfsprogs-2017.3.23/src'
make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/home/samba/00_ntfs-3g/ntfs-3g_ntfsprogs-2017.3.23/src'
make: *** [install-recursive] Error 1

4.其他下载路径

NTFS-3G Safe Read/Write NTFS Driver

使用这个的话,里面没有 configure 文件,需要先执行 autogen.sh,没有auto环境则需要先安装

sudo apt install autoconf automake libtool -y
sudo apt install libgcrypt-dev -y
./autogen.sh
目录
相关文章
|
14天前
|
存储 缓存 算法
【linux】认识“文件”的本质,理解“文件系统”的设计逻辑,体会linux优雅的设计理念
【linux】认识“文件”的本质,理解“文件系统”的设计逻辑,体会linux优雅的设计理念
|
1月前
|
存储 Linux 数据处理
探索Linux操作系统的内核与文件系统
本文深入探讨了Linux操作系统的核心组件,包括其独特的内核结构和灵活的文件系统。文章首先概述了Linux内核的主要功能和架构,接着详细分析了文件系统的工作原理以及它如何支持数据存储和检索。通过比较不同的文件系统类型,本文旨在为读者提供一个关于如何根据特定需求选择合适文件系统的参考框架。
|
3天前
|
存储 Linux Windows
【Linux】文件系统软硬链接的那些事儿
本文介绍了Linux文件系统的磁盘结构、逻辑结构以及文件和inode的关系,重点讲解了软链接和硬链接的区别,强调了它们在文件管理中的作用。
14 7
|
1天前
|
存储 运维 安全
Linux命令stat:深入了解文件与文件系统状态
`stat`命令在Linux中用于显示文件和文件系统的详细状态,包括权限、大小、时间戳等。它通过读取inode获取信息,特点是显示全面、易用且支持多种参数,如`-c`自定义格式,`-f`查看文件系统状态,`-L`处理符号链接。例如,`stat example.txt`显示文件详情,`stat -c "%n 的大小是 %s 字节" example.txt`输出文件大小。理解`stat`有助于系统管理和故障排查。
|
12天前
|
存储 缓存 固态存储
Linux操作系统之文件系统详解
Linux操作系统之文件系统详解
|
1月前
|
Linux Shell 虚拟化
开机自动挂载NTFS分区至Linux:分步指南
在Linux中自动挂载Windows NTFS分区,需创建挂载点(如`/media/c_win`),识别分区(如`/dev/sda1`),获取UUID,并编辑`fstab`文件添加挂载信息。推荐使用UUID以保持稳定性。在VMware环境中可能需添加`force`选项。完成这些步骤后,重启系统,NTFS分区将自动挂载。这对于双系统用户非常方便。
|
17天前
|
存储 Unix 数据管理
深入探讨Linux文件系统:从传统到现代
深入探讨Linux文件系统:从传统到现代
18 0
|
2月前
|
运维 安全 Linux
深入理解 Linux 文件系统的权限管理
【5月更文挑战第30天】 在 Linux 操作系统中,文件系统权限管理是维护系统安全与数据完整性的基石。本文旨在深入探讨 Linux 权限模型的核心概念、实现机制及其对系统安全性的影响。通过对用户身份、文件权限和访问控制列表(ACL)等关键元素的剖析,揭示权限管理在实际操作中的应用细节。文章还将讨论如何有效配置权限来优化系统性能和提升安全性,以及解决常见的权限问题的策略。
|
2月前
|
Linux PHP 数据安全/隐私保护
深入理解PHP7的返回值类型声明深入理解 Linux 文件系统的权限管理
【5月更文挑战第30天】在PHP7中,引入了返回值类型声明的特性。这一特性使得开发者可以在函数定义时指定函数应返回的值的类型。本文将详细解析返回值类型声明的用法,以及它在实际开发中的应用,帮助读者更好地理解和使用这一特性。
|
26天前
|
存储 JSON Linux
探索Linux文件系统的奥秘:`lsblk`命令详解
`lsblk`是Linux下用于列出块设备详情的命令,显示设备名、大小、类型、挂载点等信息,尤其适合查看磁盘分区和挂载状态。它以树形结构展示设备间的依赖,且支持多种输出格式。常用参数如`-a`显示所有设备,`-f`显示文件系统信息,`-o`定制输出列。结合其他命令使用能有效管理文件系统。注意权限和输出格式选择。