您的位置:首页 > 运维架构 > Linux

D-Chip i.MX6使用TFTP NFS方式挂载linux系统的方法

2016-11-18 11:38 716 查看
在调试i.mx6项目的时候,官方给出的默认调试方法为通过SD卡或者MFG tool工具来进行,并且通过MFG tool工具为主流推荐的方法。但是如果在系统rootfs比较大的时候,使用mfg tool工具进行烧写可能会比较慢,下面的方法就是使用传统的TFTP方法烧写内核和挂载文件系统的方法。(调试平台为珠海鼎芯的i.mx6开发板)

使用tftp前提条件为板子已经存在uboot,板子能够跑起来并且进入uboot命令行,然后通过串口操作命令行:

通过tftp烧写uImage:

1.进入uboot命令行下:

MX6Q SABRESD U-Boot > setenv bootargsconsole=ttymxc0,115200

MX6Q SABRESD U-Boot > setenv loadaddr0x10800000

MX6Q SABRESD U-Boot > setenv serverip 192.168.1.122  (根据自己的网络进行设置)

MX6Q SABRESD U-Boot > setenv bootfileuImage

### The user can set fake MAC address viethaddr environment if need设置mac地址

MX6Q SABRESD U-Boot > setenv ethaddr00:01:02:03:04:05

MX6Q SABRESD U-Boot > saveenv

2.把uImage文件放到tftp服务器目录下(如ubuntu系统中的/home/usr/tftp),然后uboot命令行下运行:

MX6Q SABRESD U-Boot > dhcp

此时会自动把uImage从tftp服务器下载到imx6的RAM中,等待下载完成

3.最后把uImage写到板子上的eMMC中,uboot命令行运行:

MX6Q SABRESD U-Boot > mmc dev 3

MX6Q SABRESD U-Boot > mmc write ${loadaddr} 0x800 0x2000

 

做完以上步骤,uImage就烧写完成了。

 

通过NFS方式启动linux系统:

1.      uboot命令行中运行:

MX6Q SABRESDU-Boot > setenv ethaddr 00:01:02:03:04:05

MX6Q SABRESDU-Boot > saveenv

MX6Q SABRESD U-Boot > setenv serverip 192.168.1.122

MX6Q SABRESD U-Boot > setenv bootfile uImage

MX6Q SABRESD U-Boot > setenv nfsroot /data/rootfs_home/rootfs_mx6

MX6Q SABRESD U-Boot > setenv bootargs_base 'setenv bootargsconsole=ttymxc0,115200'

### For LVDS0 connection从LVDS0启动

MX6Q SABRESD U-Boot > setenv bootargs_nfs 'setenv bootargs${bootargs} root=/dev/nfs ip=dhcp

nfsroot=${serverip}:${nfsroot},v3,tcpvideo=mxcfb0:dev=ldb,LDB-XGA,if=RGB666'

MX6Q SABRESD U-Boot > setenv bootcmd_net 'run bootargs_basebootargs_nfs;bootm'

MX6Q SABRESD U-Boot > setenv bootcmd

做完以上步骤,板子启动的时候,就会通过nfs的方式把文件系统挂载到板子上。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: