设为首页收藏本站
查看: 19161|回复: 0

MYD-AM335X在u-boot下通过网络挂载NFS文件系统

[复制链接]

231

主题

64

回帖

2145

积分

管理员

积分
2145
玉米糊 发表于 2014-8-6 11:56:14 | 显示全部楼层 |阅读模式
第一步 搭建NFS服务器
1、请参考以下地址的第一步,完成搭建NFS服务器:http://bbs.myir-tech.com/thread-6160-1-1.html

第一步 设置u-boot环境
2、启动开发板倒计时时按回车进入 u-boot 命令行模式。

3、配置uboot环境
[mw_shl_code=bash,true]set ipaddr 192.168.1.250
set ethaddr 88:33:14:f6:c0:d4
set serverip 192.168.1.220
saveenv
reset
[/mw_shl_code]
以上命令作用分别是:设置开发板IP地址、设置网口MAC地址、设置Ubuntu主机服务器的IP地址、保存变量、重启。然后使用ping命令确保开发板和主机ping通:
[mw_shl_code=bash,true]ping 192.168.1.220
Auto negotitation failed
link up on port 0, speed 100, full duplex
Using cpsw device
host 192.168.1.220 is alive[/mw_shl_code]
如上,如果提示 host xxx is alive 说明可以和主机ping通。

如果无法连通,会提示:
[mw_shl_code=bash,true]ping 192.168.1.220
Auto negotitation failed
Auto negotitation failed
Using cpsw device
ping failed; host 192.168.1.220 is not alive[/mw_shl_code]
Ping不通请按以下办法排查:AM335X板U-Boot下Ping不通主机解决步骤》。

第三步 配置u-boot从NFS启动
要挂载NFS文件系统,目标板u-boot中nfs配置的IP需按一下格式设置:
[mw_shl_code=bash,true]ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>[/mw_shl_code]

各部分作用,
  • <client-ip>:目标板的IP
  • <server-ip>:NFS服务器主机的IP
  • <gw-ip>:目标板网关(和主机网关一样)
  • <netmask>:目标板掩码(和主机掩码一样)
  • <hostname>:主机名称,可留空
  • <device>:目标板网络设备,如 eth0
  • <autoconf>:自动配置网络,即DHCP功能,可设置为on或者off

比如我的目标板和NFS信息为:
  • 目标板IP:192.168.1.250
  • NFS服务器IP:192.168.1.220
  • 网关:192.168.1.1
  • 掩码:255.255.255.0
  • 使用目标板网络eth0
  • 关闭DHCP
  • NFS服务器根目录为:/home/jbo/nfsdir
  • 目标板文件系统放在:/home/jbo/nfsdir/rootfs(必须是在NFS服务器目录下)

那么要从挂载NFS文件系统,进入u-boot,执行配置:
[mw_shl_code=bash,true]run bootargs_defaults;set bootargs ${bootargs} root=/dev/nfsroot nfsroot=192.168.1.220:/home/jbo/nfsdir/rootfs ip=192.168.1.250:192.168.1.220:192.168.1.1:255.255.255.0::eth0:off[/mw_shl_code]

设置 nand_boot 选项:
[mw_shl_code=bash,true]set nand_boot 'nandecc hw 2; nand read.i ${kloadaddr} ${nand_src_addr} ${nand_img_siz}; bootm ${kloadaddr}'[/mw_shl_code]

保存:[mw_shl_code=bash,true]
saveenv
[/mw_shl_code]

重启开发板就ok了。

如何还原为 NandFlash 启动?
如果以后还是挂载nanflash里面的文件系统,再重新设置 nand_flash 值即可。如下,添加了“echo Booting from nand ...; run nand_args; ”:
[mw_shl_code=bash,true]
set nand_boot ' echo Booting from nand ...; run nand_args; nandecc hw 2; nand read.i ${kloadaddr} ${nand_src_addr} ${nand_img_siz}; bootm ${kloadaddr}'[/mw_shl_code]

回复

使用道具 举报

您需要登录后才可以回帖 登录

本版积分规则

Archiver|手机版|小黑屋|米尔科技论坛   

GMT+8, 2024-12-18 09:59 , Processed in 0.050012 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表