$ make ARCH=arm digilent_zed_defconfig
$ make ARCH=arm menuconfig
進入File systems --->Network File Systems --->可以看到默認並沒有開啓nfs的支持,現在我們開啓nfs,相關的選項如下: 注意這裏我們是要把nfs驅動編譯在內核中,所以選擇built-in,然後保存配置,不過現在還不能開始編譯,如果現在編譯根本通不過去,具體原因可能是因爲保存的配置又多了額外的很多東西,所以我們只能去找根目錄下的.config文件,找到nfs對應的那幾行,這裏主要是: CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=y CONFIG_NFS_V2=y CONFIG_NFS_V3=y # CONFIG_NFS_V3_ACL is not set # CONFIG_NFS_V4 is not set # CONFIG_NFS_SWAP is not set CONFIG_ROOT_NFS=y # CONFIG_NFSD is not set CONFIG_LOCKD=y CONFIG_LOCKD_V4=y CONFIG_NFS_COMMON=y CONFIG_SUNRPC=y # CONFIG_SUNRPC_DEBUG is not set # CONFIG_CEPH_FS is not set # CONFIG_CIFS is not set # CONFIG_NCP_FS is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set 將上面的內替換到arch/arm/configs/digilent_zed_defconfig中,不過這裏先要刪除掉 # CONFIG_NETWORK_FILESYSTEMS is not set這一行,並在該位置加上上面的配置內容,這樣才能保證內核能夠順利編譯通過 接下來執行:$ make ARCH=arm digilent_zed_defconfig
$ make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi-
編譯通過之後,內核即arch/arm/boot目錄下的zImage,使用新內核啓動以後,執行cat /proc/filesystems | grep nfs,可以找到nfs的設備,說明開啓了nfs的支持,掛載指令:# mount -t nfs SERVERIP:SERVER_PATH LOCAL_PATH -o proto=tcp -o nolock
對於pc機上開啓nfs服務,請參考這篇帖子:【參賽手記】NFS掛載加速程序開發,請注意,這裏pc機是nfs服務的提供者,zedboard上的nfs是客戶端,所以是把pc機上的目錄掛載到zedboard上的linux文件系統中的目錄, 其中:SERVERIP是電腦的ip,SERVER_PATH是電腦nfs的提供的掛載路徑,LOCAL_PATH是zedboard上的linux文件系統中的路徑 舉個例子來說,比如電腦的ip是192.168.1.100 提供的掛載路徑是/rootfs,我們需要把電腦上的路徑掛載到板子上的/mnt目錄下,(請確保兩者能夠ping通)那麼可以在usb轉串口的終端中輸入:# mount -t nfs 192.168.1.100:/rootfs /mnt -o proto=tcp -o nolock
解掛載的時候輸入# umount /mnt
即可