beaglebone black tftp与nfs挂载根文件系统

原文链接: http://blog.csdn.net/zy812248258/article/details/39291835

我的板子是beaglebone black  rev.c

启动方式: 在win下用am335x-evm-01.00.00.00.img.zip里的镜像烧写到tf卡里 从tf卡启动

TI SDK版本:  http://software-dl.ti.com/sitara_linux/esd/processor-sdk/PROCESSOR-SDK-LINUX-AM335X/latest/index_FDS.html下的

ti-processor-sdk-linux-am335x-evm-01.00.00.00-Linux-x86-Install.bin 

在linux下为sdk文件添加执行属性, 然后执行. 过程中会让设置安装路径. 我使用的是默认路径. 完成之后再执行 /opt/ti-processor-sdk-linux-am335x-evm-01.00.00.00/setup.sh

这个脚本执行之后(默认操作) 会设置好tftp服务和nfs服务.  

tftp路径为 /tftpboot  这个文件夹下已经有了镜像文件  

nfs文件夹为: /opt/ti-processor-sdk-linux-am335x-evm-01.00.00.00/targetNFS 这下边也已经有了所需要的文件可以直接挂载

测试主机nfs是否有效:
http://book.51cto.com/art/200811/96860.htm

最后将交叉编译链路径添加到环境变量中即可:

vi ~/.bashrc 后面添加 export PATH=$PATH:/opt/ti-processor-sdk-linux-am335x-evm-01.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin 运行 . ~/.bashrc


下边设置uboot参数让板子从host下载Image 然后挂载网络文件系统作为根文件系统

其中我们需要的两条语句为:

netargs=setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${serverip}:${rootpath},${nfsopts} rw ip=dhcp 
netboot=echo Booting from network ...; setenv autoload no; dhcp; tftp ${loadaddr} ${bootfile}; tftp ${fdtaddr} ${fdtfile}; run netargs; bootz ${loadaddr} - ${fdtaddr}
只需要更改和填充这两句中的变量就可以实现网络文件系统的挂载

增加设置:

setenv console /dev/ttyO0,115200n8

setenv serverip 192.168.1.102  //这里写你的虚拟机里ubuntu的ip地址
setenv rootpath /opt/ti-processor-sdk-linux-am335x-evm-01.00.00.00/targetNFS  //sdk默认安装之后, nfs文件夹的路径, 如果你安装时更改了路径那么就改成你自己的路径

setenv ipaddr 192.168.1.103   //这个是bbb自身地地址
setenv gatewayip 192.168.1.1	
setenv device eth0
setenv autoconf off
//setenv ip ${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:${device}:${autoconf}

//setenv netargs setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${serverip}:${rootpath},${nfsopts} rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:${device}:${autoconf}
setenv netargs setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${serverip}:${rootpath},${nfsopts} rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:${device}:${autoconf}
csdn粘贴长代码竟然后边显示不全只能粘贴成文字了...
 
setenv fdtfile am335x-boneblack.dtb //这个需要跟/tftpboot里的文件名字相同
setenv bootfile zImage-am335x-evm.bin //如果你是make出来的zImage就直接写 zImage, 不过要将zImage拷贝到tftp目录下
saveenv
然后执行 run netboot 就可以自动下载内核, 挂载根文件系统



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值