文件系统rootfs: 可通过TFTP网络烧写
或 可通过NFS网络挂载文件系统
以下讲的是通过NFS网络挂载文件系统.
备注: NFS网络挂载文件系统,首先是先把uboot.bin文件通过jlink或串口的方式烧写到开发板上,能够成功运行uboot程序并且能够进入命令模式,可以配置参数等必要条件,才可以网络挂载rootfs文件系统.
(1). 根据用户uboot env环境参数的设置,通过以太网链接TFTP服务器去下载zImage内核到板子上的DDR内存里, 并且自动运行.
(2). kernel读取uboot的环境参数,根据参数配置rootpath路径, 网络挂载NFS Server上对应的路径.
- 进入命令模式,配置板子的IP地址、NFS Server IP地址、Tftp Server IP地址、rootpath的挂载路径, 配置完成后保存到spi flash, 同时uboot直接ping通Server服务器的IP地址, 提示host * * * is alive, 则证明板子和Server服务器相连想通.
第一步:PC电脑的防火墙关闭
第二步:PC电脑的wifi关闭
第三步:虚拟机的 网络适配器 改为桥接模式
第四步: 对虚拟机的IP进行设置10.10.22.167
第五步: 打开串口软件SecureCRT, 输入pri, 得到如下信息
其中nfsroot =
nfsserve:
n
f
s
s
e
r
v
e
:
{rootpath}….., 所以此时是nfsserver起效果.
开发板IP地址: setenv ipaddr 10.10.22.89
Tftp Server IP地址: setenv serverip 10.10.22.167(zImage内核也即操作系统所放的位置, 如果放在虚拟机,也即为虚拟机的IP地址)
NFS Server IP地址: setenv nfsserver 10.10.22.167(之前在虚拟机进行过NFS的相关配置)
rootpath的挂载路径: setenv rootpath /home/abedg/NfsRoot/target(之前必须和NFS相关配置的路径相同,否则挂载不上)
通过pri命令,可查看所有的配置是否保存. ping通Server服务器的IP地址,提示host * * * is alive, 则证明板子和Server服务器相连通.
第六步: 开始启动NFS网络挂载,先是从Tftp服务器的目录下把zImage下载到内存里.
(1). 确保tftp设置成功.
(2). 将挂载路径 /home/abedg/NfsRoot/放文件系统target.
(3). 将/home/abedg/TftpRoot下放zImage
(4). 串口软件输入boot命令, 发现
注意事项:
(1). getwayip 网关需要重新设置
setenv getwayip 10.10.22.1
(2). 之前的nfserver删掉,需要的是nfsserver
ed nfserver
(3). 将/home/abedg/buildroot/output/images/zImage(内核) 拷贝到
/home/abedg/TftpRoot下.
(4). 在串口文件下输入boot, 会显示kernel文件名不是zImage
(5). 若还是出错,将/home/abedg/buildroot/output/下的target文件拷贝到/home/abedg/NfsRoot下
特别注意: 串口软件的rootPath 和Nfs设置路径必须一致, 都是
/home/abedg/NfsRoot/target
(6).若还是出错,参见/home/abedg/NfsRoot/target/home/dvr/shell/init_dvr.sh, 里面是板子启动的很多设置脚本.
将 sh /home/dvr/shell/system/check_version.sh & 屏蔽掉
将 echo “run Avdemo”
/home/Avdemo & 屏蔽掉
(7).一般程序将会运行成功
(8).若程序还是无法运行成功,则虚拟机查看ifconfig网址IP是否确定修改过来了.
若不匹配,则需要选中Device MAC address(00:0C:29:FC:44:42(eth0))
(9).若程序还是无法运行,查看zImage位置是否正确.
sudo vim /etc/inetd.conf 打开 TFTP 配置文件, 在位置中找到文件夹zImage. 可能pri后,bootfile=zImage-3730-b1与zImage名字不同造成,输入命令行: set bootfile zImage
第七步: 内核zImage运行过程中自动读取uboot的环境参数, 并以mount挂载方式挂载文件系统,会进到登录提示,用户名为root, 密码为空. 通过ifconfig查看网络的IP地址,是uboot设置的IP地址,从而说明NFS网络挂载文件系统成功.