我有一个运行非常轻量级 Linux 的小型嵌入式 (mips) 设备。
它能够挂载 NFS 共享(通过mount命令手动)。
但是我想自动挂载它,所以我在fstab文件中定义了它。
问题是设备在处理 fstab 时没有可用的连接:
mount: mounting 10.1.1.1:/srv/fs on /nfs failed: Input/output error
然后系统继续开机(初始化wifi模块,连接AP,用udhcpc查询IP地址。
udhcpc成功获取IP地址后,我可以运行:
mount -a
并且 /nfs 将成功安装。
我怎样才能告诉 fstab 等待,并不断重试?
请注意,这是一个截断的 Linux。没有可用的 systemd 或 ifup 脚本。
当然,我可以在启动时运行一个脚本,该脚本不断运行“mount -a”直到成功,但这是蛮力的方式,如果存在,我正在寻找更复杂的解决方案。
通常的解决方案是让DHCP 客户端在完成网络配置后通知您。大多数 DHCP 客户端都能够为此目的启动“挂钩”shellscript,udhcpc 也是如此。根据文件,
这意味着您只需将 shellscript 放置在正确的位置(
--script
必要时使用该选项),并使其在$1
参数设置为bound
.