服务器:CentOS 7
客户端和内核的NFS根文件系统:Slackware 14.1
我使用“DHCP,BOOTP,RARP”支持启用了“NFS上的根文件系统”和“IP:内核级自动configuration”,重新编译了内核(3.10.17)。
TFTP,NFS,DHCP都准备好了。
我确保可以通过Linux客户端挂载NFS(mount -t nfs …)
DHCP和TFTP工作正常,我可以从一个isolinux内核启动ram根文件系统。
现在,我需要一个无盘节点,所以我需要内核通过NFS挂载根文件系统。
kernel kernels/vmlinuz append ip=dhcp root=/dev/nfs nfsroot=192.168.1.4:/srv/diskless/slackware-14.1,nfsvers=3 raid=noautodetect
启动时出现错误
VFS: Unable to mount root fs via NFS, trying floppy.
此外,似乎内核启动时没有通过DHCP获取IP地址。
(没有关于显示的信息,乙醚我手动使用“ip = 192.168.1.7:…:eth0”)
由于Slackware使用巨大的内核,所以我没有一个initrd映像(问题可能在这里?)(我的电脑的Linux没有以太网,工作正常:))
或者可能是在内核菜单中的一些选项我没有select:(。(我真的需要知道它)
我和你有同样的问题,我能find解决scheme。 我也使用Slackware 14.1和巨大的内核。
我的问题是,巨大的内核不包括以太网驱动程序,在我的情况下,e1000驱动程序被编译为一个模块在huge.s内核,我认为所有的驱动程序都包含在这个内核中,我的假设是错误的。 一旦我将e1000驱动程序添加到内核中(而不是作为一个模块),所有的东西都开始工作了,我可以用NFS来挂载根目录。
你应该在VFS安装消息之前看到类似这样的内容:
[ 3.325468] e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX [ 3.337383] Sending DHCP requests ., OK [ 3.340259] IP-Config: Got DHCP answer from 192.168.10.5, my address is 192.168.10.6 [ 3.340870] IP-Config: Complete: [ 3.341128] device=eth0, hwaddr=08:00:27:c0:3e:a7, ipaddr=192.168.10.6, mask=255.255.255.0, gw=255.255.255.255 [ 3.341682] host=test, domain=, nis-domain=(none) [ 3.341989] bootserver=192.168.10.5, rootserver=192.168.10.5, rootpath= [ 3.342198] nameserver0=192.168.10.5 [ 3.342816] md: Skipping autodetection of RAID arrays. (raid=autodetect will force) [ 3.382613] VFS: Mounted root (nfs filesystem) readonly on device 0:13.