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

    xiaoxiao2021-11-25  61

    在调试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的方式把文件系统挂载到板子上。

    转载请注明原文地址: https://ju.6miu.com/read-678526.html

    最新回复(0)