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 e arlyprintk”

 

重新使用如下命令生成新的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命令,即可成功挂载根文件系统

你可能感兴趣的:(NFS,zedboard,linux)