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
目录
相关文章
|
3月前
|
Ubuntu Linux
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
查看Linux系统架构的命令,查看linux系统是哪种架构:AMD、ARM、x86、x86_64、pcc 或 查看Ubuntu的版本号
870 3
|
8天前
|
存储 运维 监控
深入Linux基础:文件系统与进程管理详解
深入Linux基础:文件系统与进程管理详解
48 8
|
13天前
|
存储 Linux 文件存储
Linux文件系统
Linux文件系统 一切皆文件 在Linux中,“一切皆文件”的概念意味着系统中的所有资源,包括硬件设备、目录及进程等,均被视为文件。这种设计简化了操作和管理,具体包括: 普通文件:存储数据的常规文件。 目录文件:包含其他文件和子目录的文件。 进程文件:在/proc目录下代表系统中运行的进程。 设备文件:位于/dev目录,代表硬件设备。 网络字节流套接字文件:用于网络通信的数据流。 链接文件:指向另一个文件的符号链接或硬链接。 管道文件:用于进程间通信的文件。
46 7
|
1月前
|
Ubuntu Linux Windows
linux 挂载硬盘报错 "mount: unknown filesystem type 'ntfs'"
【10月更文挑战第7天】在Linux系统中挂载硬盘时遇到“mount: unknown filesystem type 'ntfs'”错误,是因为Linux默认可能不支持NTFS文件系统。本文提供了解决方案:安装NTFS-3G软件包以支持NTFS,并检查内核是否已加载NTFS模块。对于Ubuntu/Debian系统,可使用`sudo apt-get install ntfs-3g`命令;对于CentOS/RHEL系统,则需先安装EPEL仓库再安装NTFS-3G。此外,还需确认硬盘设备名正确无误,并创建合适的挂载点目录。
457 2
|
2月前
|
存储 Linux 索引
Linux 下最主流的文件系统格式——ext
【9月更文挑战第8天】硬盘被划分为若干相同大小的块(Block),默认大小为4K,便于灵活管理文件数据。文件数据分散存放于这些块中,提高了数据添加、删除和插入的便利性。
|
3月前
|
编解码 Linux 程序员
深度探索Linux操作系统 —— 构建根文件系统2
深度探索Linux操作系统 —— 构建根文件系统
45 12
|
3月前
|
Linux Shell 网络安全
深度探索Linux操作系统 —— 构建根文件系统1
深度探索Linux操作系统 —— 构建根文件系统
54 6
|
3月前
|
存储 人工智能 数据管理
深入理解Linux操作系统之文件系统管理探索人工智能:从理论到实践的旅程
【8月更文挑战第30天】在探索Linux的无限可能时,我们不可避免地会遇到文件系统管理这一核心话题。本文将深入浅出地介绍Linux文件系统的基础知识、操作命令及高级技巧,帮助你更有效地管理和维护你的系统。从基础概念到实践应用,我们将一步步揭开Linux文件系统的神秘面纱。
|
3月前
|
存储 Linux 数据安全/隐私保护
在Linux中,如何创建文件系统的备份?
在Linux中,如何创建文件系统的备份?
|
3月前
|
Linux 网络安全 开发工具
内核实验(二):自定义一个迷你Linux ARM系统,基于Kernel v5.15.102, Busybox,Qemu
本文介绍了如何基于Linux Kernel 5.15.102版本和BusyBox创建一个自定义的迷你Linux ARM系统,并使用QEMU进行启动和调试,包括内核和BusyBox的编译配置、根文件系统的制作以及运行QEMU时的命令和参数设置。
290 0
内核实验(二):自定义一个迷你Linux ARM系统,基于Kernel v5.15.102, Busybox,Qemu
下一篇
无影云桌面