VFS:无法打开根设备“nfs”或未知块(0,255)

kha*_*eel 3 boot nfs pxe

我正在尝试设置一个无盘客户端,它将通过 nfs 安装到服务器。当我尝试启动客户端时,收到以下错误消息:

VFS: Cannot open root device "nfs" or unknown-block(0,255) Please append a correct "root=" boot option Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,255)
Run Code Online (Sandbox Code Playgroud)

我的内核参数设置如下:

kernel=192.79.143.131:/linuxboot,192.168.100.14
Run Code Online (Sandbox Code Playgroud)

(它们是tftpboot参数,可以工作)

Linux PPC load: root=/dev/nfs rw nfsroot=192.79.143.131:/diskless/client01 ip=dhcp
Run Code Online (Sandbox Code Playgroud)

内核是通过 tftpboot 找到的,所以我知道上面的“kernel”参数是有效的。内核已加载并开始执行,但最终遇到上述错误。

安装点已从服务器正确导出,因为我可以从其他计算机手动安装它。

我已经阅读了有关此主题的多个主题(至少非常相似),但据我所知,到目前为止,没有一个主题解决了安装 nfs 驱动器的问题。我只看到过有关本地硬盘的主题。

Ole*_*rin 5

现代 NFSv4 服务器不再支持基于 UDP 的连接。但 Linux 内核默认尝试通过 UDP 挂载 rootfs,即使对于 NFSv4 也是如此。缺少的选项是要求内核通过 TCP 挂载 NFS,如下所示:

Linux PPC 负载:

root=/dev/nfs rw nfsroot=192.79.143.131:/diskless/client01,tcp ip=dhcp

对于完整可靠的参数集,最好还专门询问 NFSv4 协议版本:

root=/dev/nfs rw nfsroot=192.79.143.131:/diskless/client01,vers=4,tcp ip=dhcp

如果失败,请nfsrootdebug在尾部使用一个非常有用的标志bootargs

root=/dev/nfs rw nfsroot=192.79.143.131:/diskless/client01,vers=4,tcp ip=dhcp nfsrootdebug

或者,如果嵌入式系统内核未配置为支持 NFSv4,则主机上的设置文件

/etc/default/nfs-内核-服务器

需附:

RPCNFSDCOUNT='8 --no-nfs-version 4'