TFTP启动内核方法?

来自华清远见研发中心
跳转至: 导航搜索

问题

TFTP启动内核方法?

解答

  1. 设置虚拟机
    • 确认虚拟机中的TFTP服务工作正常
    • 网路设置

    1)在虚拟机中设置静态IP地址,这里设置为192.168.100.240

    sudo vi /etc/network/interfaces
    

    auto ens33
    iface ens33 inet static
    address 192.168.100.240
    netmask 255.255.255.0
    gateway 192.168.100.1
    dns-nameserver 192.168.100.1

    2)将VMware网卡桥接到有线网卡

    3.25.1.png
  2. 设置开发板环境变量
    • 设置ipaddr

    ipaddr的设置需要和虚拟机的ip地址在同一网段,这里是192.168.100.0/24

    env set ipaddr 192.168.100.252
    
    • 设置serverip

    serverip设置为虚拟机的ip地址192.168.100.240

    env set serverip 192.168.100.240
    
    • 设置bootargs

    setenv bootargs root=/dev/mmcblk2p4 rootwait rw console=ttySTM0,115200

    这里/dev/mmcblk2p4为文件系统所在分区,也可以使用UUID来代替PARTUUID=491f6117-415d-4f53-88c9-6e0de54deac6

    • 保存环境变量
    env save
    
  3. 下载内核及设备树
    • 将内核设备树放在tftp工作目录,这里为/tftpboot
    • 下内核文件
    tftp 0xc2000000 uImage
    
    • 下载设备树文件
    tftp 0xc1000000 stm32mp157a-fsmp1a.dtb
    
  4. 启动内核
  5. 上一步骤已经将uImage放在内存的0xc2000000地址处,stm32mp157a-fsmp1a.dtb放在内存的0xc1000000地址处,下面就可以使用bootm启动内核了。

    bootm 0xc2000000 - 0xc1000000