我想为我的 Android 设备添加 NFS 支持(客户端和服务器)。我已经构建并插入了所需的内核模块(sunrpc.ko
、lockd.ko
、nfs.ko
、exportfs.ko
, nfsd.ko
)
我的 Android 手机现在可以通过使用 Busybox 挂载来充当 NFS 客户端。但是要作为 NFS 服务器工作,似乎需要一些实用程序(例如 exportfs
)和服务守护程序(portmap
、nfsd
、mountd
等)丢失。
我认为我需要安装 nfs-utils
包 ( http://nfs.sourceforge.net/ )。
我想我应该在我的电脑上交叉编译它,然后将它安装到我手机的 Linux 内核上。我不熟悉整个交叉编译的事情。我现在正在尝试在 Ubuntu 上编译它,这是我正在使用的命令:
$ ./configure
--target=arm-linux-gnueabi
--host=arm-linux-gnueabi
--build=x86_64-linux
CC=/usr/bin/arm-linux-gnueabi-gcc
CPPFLAGS="-I/usr/arm-linux-gnueabi/include/"
CFLAGS="-nostdlib"
LDFLAGS="-Wl,-rpath-link=/usr/arm-linux-gnueabi/lib/ -L/usr/arm-linux-gnueabi/lib/"
LIBS="-lc"
这给了我错误信息:
checking for libwrap... configure: error: *** libwrap missing
config.log 错误:
-
configure:3978: /usr/bin/arm-linux-gnueabi-gcc -V >&5
arm-linux-gnueabi-gcc: fatal error: no input files
-
configure:3978: /usr/bin/arm-linux-gnueabi-gcc -qversion >&5
arm-linux-gnueabi-gcc: fatal error: no input files
-
conftest.c:12:28: fatal error: ac_nonexistent.h: No such file or directory
-
conftest.c:55:28: fatal error: sys/capability.h: No such file or directory
我安装了 gcc-arm-linux-gnueabi
包,但我想在构建/链接依赖库方面存在一些我不太了解的问题。它们也应该交叉编译吗?我怎样才能做到这一点?我是否需要将这些库插入我的手机以便 NFS 正常运行?
我对此完全陌生,因此非常感谢任何帮助。
最佳答案
您依赖于 tcp-wrappers,这意味着您必须首先构建并安装 tcp wrappers。
或者,您可以将此选项传递给 ./configure:
--without-tcp-wrappers\
此外,您可以获得完整的选项列表:
./configure --help
关于android - Android 交叉编译 nfs-utils 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23820670/