zoukankan      html  css  js  c++  java
  • 使用U-Boot的TFTP(远程/网络内核)

    前提条件

    假设您的主机PC运行的是Ubuntu 14.04.1 LTS或更高版本,并且与您的开发平台在同一个本地网络上;为了简单起见,我们假设网络上也有DHCP服务器。
    如果使用Juno,请确保使用的是前端以太网端口。

    设置TFTP服务器

    在您的主机PC上安装以下软件包:

    $ sudo apt-get update && sudo apt-get install xinetd tftpd tftp
    

     创建文件/etc/xinetd.d/tftp,内容如下:

    service tftp
    {
         protocol = udp
         port = 69
         socket_type = dgram
         wait = yes
         user = nobody
         server = /usr/sbin/in.tftpd
         server_args = /tftpboot
         disable = no
    }
    

     创建目录'/tftpboot/'(与上面的' server-args'匹配)并设置其权限:

    $ sudo mkdir /tftpboot/
    $ sudo chmod -R 777 /tftpboot/
    $ sudo chown -R nobody /tftpboot/
    

     重新启动xinetd的服务:

    $ sudo service xinetd restart
    

     通过在'/tftpboot/'中创建一个简单的' test '文件来测试服务器:

    $ cd /tftpboot/
    $ echo "this is a test" > test
    $ cat test
    this is a test
    

     通过' ifconfig'获取主机的IP地址,然后从另一个系统:

    $ tftp <host_pc_ip_address>
    tftp> get test
    Sent 159 bytes in 0.0 seconds
    tftp> quit
    $ cat test
    this is a test
    

     确认TFTP服务器工作正常后,将内核映像、设备树blob和ramdisk(如果合适的话)复制到' /tftpboot/'。本例期望路径如下:

    • Kernel image: `/tftpboot/Image'
    • Device tree blob:`/tftpboot/juno/juno.dtb'

    U-Boot TFTP

    打开Juno板并中断U-Boot的默认启动选择:

    The default boot selection will start in   3 seconds
    

     将主机PC的IP地址保存到“serverip”环境变量:

    VExpress64# set serverip <host_pc_ip_address>
    VExpress64# saveenv
    

     下一步修改U-Boot的引导命令,通过TFTP引导:

    VExpress64# set origbootcmd "$bootcmd"
    VExpress64# set bootcmd "dhcp: tftp ${kernel_addr} ${serverip}:Image; tftp ${fdt_addr} ${serverip}:juno/juno.dtb; booti ${kernel_addr} - ${fdt_addr}"
    VExpress64# saveenv
    

     重新启动juno板,现在应该通过TFTP引导。
     这是一个永久的更改,即Juno将通过TFTP在每次电源启动时启动。恢复到默认启动行为:

    VExpress64# set bootcmd "$origbootcmd"
    
  • 相关阅读:
    verilog BRAM 读写
    verilog 语法一 led 翻转
    面试 遇到 问题
    S32K144+UJA1169 (四 ) S32K144 SPI1 功能初始化
    S32K144+UJA1169 ( 三 ) S32K144 SPI1 功能初始化
    S32K144+UJA1169 ( 二 ) S32K144 SPI1 对应的引脚 初始化 为 SPI 功能
    S32K144+UJA1169 ( 一 ) 连接框架+1169 功能 说明
    编译 xboot
    make clean make[1]:sdl2-config:命令未找到
    lwip 内存配置和使用,以及 如何 计算 lwip 使用了多少内存?
  • 原文地址:https://www.cnblogs.com/wanglouxiaozi/p/9578166.html
Copyright © 2011-2022 走看看