添加NFS挂载参数

添加NFS挂载参数

我尝试通过NFS和在设备上启动 Android TFTP。一切都很顺利,直到 Android 系统开始启动。网络参数发生问题,连接中断并且启动冻结

[   60.881134] nfs: server 128.247.77.158 not responding, still trying 

我决定尝试向 mount 命令添加参数,例如背景、内部和硬。是否可以在系统启动前配置此参数?或者我应该修改内核代码中的标志(某处这里)?

答案1

我已经找到了我的问题的解决方案。当 Android 启动时,它会刷新所有规则。我在 file system/netd/RouteController.cppfunction中找到了完成这项工作的代码int flushRules()。当我阻止执行此函数的代码时,我再也没有看到有关 NFS 连接松动的消息。

// Returns 0 on success or negative errno on failure.
WARN_UNUSED_RESULT int flushRules() {
    return 0;//TODO workaround of NFS parameters reset 

    for (size_t i = 0; i < ARRAY_SIZE(IP_VERSIONS); ++i) {
        const char* argv[] = {
            IP_PATH,
            IP_VERSIONS[i],
            "rule",
            "flush",
        };
        if (android_fork_execvp(ARRAY_SIZE(argv), const_cast<char**>(argv), NULL, false, false)) {
            ALOGE("failed to flush rules");
            return -EREMOTEIO;
        }
    }
    return 0;
} 

现在 Android 系统按预期使用 NFS 启动。

相关内容