|
第一步 搭建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]
|
|