
伺服器:
客戶端的 CentOS 7 NFS 根檔案系統和核心:Slackware 14.1
我啟用了「NFS 上的根檔案系統」和「IP:核心級自動配置」以及「DHCP、BOOTP、RARP」支持,重新編譯了核心(3.10.17)。
TFTP、NFS、DHCP 全部準備就緒。我確保 NFS 可以 由
Linux 用戶端掛載。
現在,我需要一個無磁碟節點,因此我需要核心透過 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映像。
或者可能是內核選單配置中的某個選項我沒有選擇:(。(我真的需要知道它)
答案1
我遇到了和你一樣的問題,我找到了解決方案。我還使用 Slackware 14.1 和巨大的核心。
我的問題是巨大的內核不包括以太網驅動程序,在我的例子中,e1000驅動程序被編譯為巨大的.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.