[二次开发]
编译LINUX 2.6.31.8 环境下的NFS模块
任务编号:590699
悬赏任务6000元
悬赏任务 : 按雇主需求进行任务后提交稿件,被采纳后即获得佣金。
编译LINUX 2.6.31.8 环境下的NFS模块
距截止:
任务已圆满完成
雇主已托管赏金:6000 元
雇主发布需求
雇主托管佣金
服务商投稿
雇主开始选稿
任务完成
任务大厅共需1个合格投稿 | 每稿将获得6000 元 | 每人交稿次数不限 可多次任务
投诉举报
联系Ta
我来承接
已有1 个投稿 | 已采纳1 稿 | 拒绝0 稿 | 目前中标名额已满
任务需求:
NFS是一种在Unix/Linux下广泛使用的网络文件系统。Linux的内核已经内置了对NFS客户端和服务器的支持。但是播放机的内核没有打开NFS服务器支持,因此我们需要自己编译相关的模块。另外我们还需要相应的辅助程序:portmap和nfs-utils。其中nfs-utils要求C程序库包含对RPC的支持,然而播放机的uclibc没有打开RPC支持。现在就是要解决这个问题
需要做的操作是
1. 关闭模块版本检查,使得我们编译的模块可以在原厂内核上加载。
配置菜单位置: Loadable module support ---> [ ] Module versioning support (EXPERIMENTAL)
2. 打开NFS服务器支持,选择把它编译成模块。
配置菜单位置:File systems ---> Network File Systems ---> [M] NFS server support
3. 打开或关闭内核调试。这个一定要与你的播放机内核的实际配置保持一致,否则编译出的模块会无法加载。
Kernel hacking ---> [?] Kernel debugging
然后执行make进行编译。编译完成后我们得到以下两个模块:
以及ULIBC的重新编译和替换
二、打开uClibc对RPC的支持
NFS的通讯协议是基于RPC(一种远程过程调用协议)的。nfs-utils工具调用了C函数库的RPC函数,因此要求uClibc必需提供这些函数。原厂固件中的uClibc关闭了RPC支持,我们只能用自己编译的支持RPC的uClibc来替换原厂的uClibc。
我们只需在配置buildroot时指定uClibc的配置文件,这个配置文件应该包括下面两项:
UCLIBC_HAS_RPC=y
UCLIBC_HAS_FULL_RPC=y
|
|
|
|
|