NFS Boot

NFS Boot

参考资料:

  1. TI官方 U-boot
  2. 基于AM5728 linux启动方法
  3. ubuntu搭建nfs服务器
  4. ubuntu 16.04下tftp服务搭建
  5. ubuntu 16.04上安装DHCP服务的详细过程

前提

  1. 使用 host PC 通过网口直接连接 AM5728主板
  2. Host PC 准备部分:搭建nfs服务器

NFS简介

  1. NFS(Netword File System) 网络文件系统,是Unix系统之间实现磁盘文件共享的一种方法,它支持应用程序在客户端通过网络访问位于服务器磁盘中数据的一种文件系统协议。

服务器端配置

安装服务器端软件
  1. sudo apt-get install nfs-kernel-server
配置共享目录
  1. sudo vim /etc/exports
添加共享目录配置
  1. /home/pi/targetNFS *(rw,sync,no_subtree_check) 其中 /home/pi/targetNFS 为设置的共享目录绝对路径 *: 表示所有地址可以访问 (): 共享选项 rw: 客户端拥有读写权限(ro: 代码只有读权限) sync: 同步写入资料到内存和硬盘中 no_subtree_check: 不检测子目录权限 root_squash: 如果客户端使用root权限访问共享目录,则会被认为是匿名用户(权限缩小) no_root_squash: 如果客户端使用root权限访问共享目录,权限依旧为root
重启nfs-server服务
  1. sudo /etc/init.d/nfs-kernel-server restart

搭建tftp服务器

  1. TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。 端口号为69。

服务器搭建

安装软件

1.sudo apt-get install tftpd tftp xinetd

建立配置文件
  1. 在/etc/xinetd.d/ 下建立一个配置文件 tftp
  2. sudo vim /etc/xinetd.d/tftp
  3. 内容service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /home/pi/tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 }
建立tftp服务文件目录
  1. 如上配置中有 server_args = -s /home/pi/tftpboot, 这个地址就是上传和下载文件的位置
  2. sudo mkdir /tftpboot
  3. sudo chmod 777 /tftpboot -R
  4. 重启tftp服务
  5. sudo /etc/init.d/xinetd restart

搭建dhcp服务器

DHCP简介

  1. 动态主机设置协议(英语:Dynamic Host Configuration Protocol,缩写:DHCP)是一个用于局域网的网络协议,位于OSI模型的应用层,使用UDP协议工作。
  2. 用于内部网或网络服务供应商自动分配IP地址给用户
  3. 用于内部网管理员对所有电脑作中央管理
安装DHCP服务
  1. sudo apt-get install isc-dhcp-server
环境搭建
  1. 查看主机的网卡和ip地址:ifconfig
  2. 配置文件
  3. sudo vim /etc/default/isc-dhcp-server
  4. 将INTERFACES的内容补充为目标主机的网卡名称enp0s31f6。
  5. sudo vim /etc/dhcp/dhcpd.conf
  6. 文件内容中需要配置的是域名和子网IP等信息,对于第一文件片段中的option domain-name “example.org” 不用修改,下一行的domain-name-server需要注释掉在第二文件片段中补充。对于第二文件片段中的白色部分,全是新添加的信息。目标主机的子网IP为192.168.0.10,因此subnet为192.168.0.0,DHCP分配范围设置为50-254,其余地址留给广播和静态IP。网关和DNS均设置为192.168.0.1,广播地址为192.168.0.255,ntp-servers和netbios-name-servers设置与DNS一致,netbios-node-type默认为8
  7. 在这里插入图片描述
  8. 重启DHCP服务
  9. sudo service isc-dhcp-server restart

Uboot所需执行命令

恢复系统默认的U-Boot 环境变量,设置NFS服务器上的文件系统路径
  1. env default -f -a
  2. setenv rootpath /home/pi/targetNFS/
设置网络启动环境变量
  1. setenv netboot 'echo Booting from network ...; run netloadimage; run netloadfdt; run netargs; bootz ${loadaddr} - ${fdtaddr}'
    setenv autoload no
    dhcp
    setenv serverip 192.168.0.10
    setenv fdtfile am572x-idk.dtb or am57xx-beagle-x15-revc.dtb
    setenv bootcmd 'run netboot'
    run netboot
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PI_sunyang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值