1. 程式人生 > >Xlinx-Zedboard使用NFS掛載根檔案系統

Xlinx-Zedboard使用NFS掛載根檔案系統

安裝nfs-kernel-servertftpd-hpa服務

有安裝包情況下   sudo dpkg -i *.deb

建立共享目錄tftpboot

1.sudo mkidr /tftpboot

2.sudo chmod  777  /tftpboot

3.sudo  chown  ictd  /tftpboot

4.sudo  chgrp   ictd   /tftpboot

新增tftp配置服務

sudo vim /ect/default/tftpd-hpa

TFTP_DIRECTORY=”/var/lib/tftpboot”修改成”/tftpboot”

重啟tftp服務

sudo /ect/init.d/tftpd-hpa restart

配置掛載目錄和許可權

sudo vim /ect/exports/

新增/opt/rootfs *(rw,sync,no_subtree_check,no_root_squash)

其中/opt/rootfs裡面放置自己編譯好的根檔案系統檔案

重啟NFS服務

sudo /ect/init.d/nfs-kernel-server restart

配置u-boot

uboot啟動時顯示自己的名字

修改./configs/zynq_zed_defconfigCONFIG_SYS_PROMPT=” ”

“ ”裡面可設定成自己的名字

修改 ./include/configs/zynq_zed.h 本次未做任何修改

修改 ./inlcude/configs/zynq-common.h

/*default environment*/

#define CONFIG_IPADDR 192.168.1.10//設定成自己的

#define CONFIG_SERVERIP 192.168.1.50//設定成自己的

重新編譯執行生成新的u-boot

配置kernel

1.修改核心支援NFS

Networking support

-->Networking options

-->TCP/IP networking

-->IP:kernel level  autoconfiguration

File systems

-->Network File System

-->NFS client support

-->Root file system on NFS

2.去掉系統支援掛載ramdisk(一直由於這個問題,導致NFS掛載不上)

General setup

-->Initial RAM filesystem and RAM disk(initramfs/initrd) support//去掉

Device Drivers

-->Block devices

-->RAM block device support

3.重新編譯執行生成新的uImage

配置bootargs

修改核心目錄下 arch/arm/boot/dts/zynq-zed.dts

修改裡面chosen 中的bootargs,改成如下引數

bootargs = “noinitrd console=ttyPS0,115200 root=/dev/nfs nfsroot=192.168.1.50:/opt/rootfs ip=192.168.1.10:192.168.1.50:192.168.1.1:255.255.255.0::eth0:off,nolock earlyprintk”

重新使用如下命令生成新的devicetree.dtb

./scripts/dtc/dtc -I dts -O dtb -o devicetree.dtb arch/arm/boot/dts/zynq-zed.dts

啟動開發板,進入uboot

拷貝:uImage devicetree.dtb /tftpboot目錄

 進入uboot後,輸入run jtagboot命令,即可成功掛載根檔案系統