飞凌 i.mx6Q 文件系统 NFS 挂载方法

最近公司准备做视频开发的方案,上淘宝发现这种开发板的选择并不多:飞凌、志远(周立功)。飞凌的i.mx6Q有OV5640摄像头与触摸屏一起配套提供,技术支持估计2家都一样,还是得靠自己,最后选的飞凌的开发板。

飞凌自带的uboot、kernel(3.0.15)等用的都是挺老的版本,本来想上freescale官网下载最新的kernel来用(linux Kernel 4.1.15),但用Mfgtools烧写时,要么提示emmc flash没有发现,要么提示格式化错误。绕了不少弯路,最后都不成功,所以还是老老实实用飞凌自带的开发工具吧。


开发时如果每次都用U盘把程序拷贝到板子上太耗时间了,这里教下大家怎么通过NFS将开发板的文件系统挂载到ubuntu上,这样开发板运行后,其实就是在操作ubuntu的文件,速度快很多。

虚拟机是自己用virtualbox安装的Ubuntu 14.04。先将飞凌提供的开发板文件系统解压到/home/volfull/Workspace/rootfs(修改成你自己想要解压的路径)。

1. Ubuntu客户端操作

  • 安装NFS服务端:

$ sudo apt-get install nfs-kernel-server

  • 设置NFS-Server目录
    修改/etc/exports文件,在其中增加NFS服务器目录。 一个NFS服务器可以共享多个NFS目录,在/etc/exports文件中,每个目录的设置独占一行。

$ sudo vi /etc/exports

在里面加入一行:

$ /home/volfull/Workspace/rootfs 192.168.1.*(rw,sync,no_root_squash)

/home/volfull/Workspace/rootfs 改成你的文件系统rootfs路径,192.168.1.* 为允许192.168.1网段的IP连接本机。

Ubuntu这边的事就结束了,下面开始i.mx6开发板的设置。

2. i.mx6开发板Uboot设置

开发板上电在uboot处按回车,进入uboot的命令行,输入:

$ printenv
打印出原来的参数:

baudrate=115200
ipaddr=192.168.1.103
serverip=192.168.1.101
netmask=255.255.255.0
loadaddr=0x10800000
rd_loadaddr=(0x1300000)
netdev=eth0
ethprime=FEC0
uboot=u-boot.bin
kernel=uImage
nfsroot=/opt/eldk/arm
bootargs_base=setenv bootargs console=ttymxc0,115200 video=mxcfb0:dev=lcd,AT070-WVGA,if=RGB24,bpp=32 video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24,bpp=32 video=mxcfb2:off
bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp
bootcmd_net=run bootargs_base bootargs_nfs; tftpboot ${loadaddr} ${kernel}; bootm
bootargs_mmc=setenv bootargs ${bootargs} ip=none root=/dev/mmcblk0p1 rootwait
bootcmd_mmc=run bootargs_base bootargs_mmc; mmc dev 3; mmc read ${loadaddr} 0x800 0x2900; bootm
bootcmd=run bootcmd_mmc
stdin=serial
stdout=serial
stderr=serial
ethact=FEC0

输入以下命令:

MX6Q SABRESD U-Boot > setenv serverip 192.168.1.222
MX6Q SABRESD U-Boot > setenv nfsroot  /home/volfull/Workspace/rootfs
MX6Q SABRESD U-Boot > setenv bootcmd run bootcmd_net
MX6Q SABRESD U-Boot > setenv bootcmd_net run bootargs_base bootargs_nfs\; mmc dev 3\; mmc read \${loadaddr} 0x800 0x2900\; bootm
MX6Q SABRESD U-Boot > saveenv
Saving Environment to MMC...
Writing to MMC(3)... done
MX6Q SABRESD U-Boot >
  • 192.168.1.222 为你的Ubuntu主机的IP;
  • /home/volfull/Workspace/rootfs 为你的开发板文件系统路径;
  • 记得命令里面的"\",这个转义字符要加上;
  • 此处用的是DHCP方式获取开发板IP;

开发板重新上电,此时进入的文件系统便是ubuntu里面的rootfs目录了,以后把应用程序什么的放到这个路径里面,再在开发板上运行就可以了,大大加快了开发速度。

你可能感兴趣的:(飞凌 i.mx6Q 文件系统 NFS 挂载方法)