U-boot 之TFTP服务器配置

一.PC端配置
1.关闭防火墙
  [root@gliethttp root]# /etc/init.d/iptables stop
2.使用setup启动tftp
  [root@gliethttp root]# setup ->System services->选中tftp
3.如果setup中找不到tftp选项,那么你需要rpm包来安装
  在redhat9的CD3里可以找到tftp-server-0.32-4.i386.rpm文件
  [root@gliethttp root]# rpm -ivh tftp-server-0.32-4.i386.rpm
4.修改tftp服务器配置
  [root@gliethttp root]# vim /etc/xinetd.d/tftp                   
  将server_args配置项为你自己的tftpboot根目录
  将disable 配置为no
  service tftp
  {
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
  }
5.启动tftp服务器
  [root@gliethttp root]# /etc/init.d/xinetd restart
6.下载文件准备
  [root@gliethttp root]# mkdir /tftpboot
  [root@gliethttp root]# cp usb1-uImage /tftpboot  ;拷贝预下载的内核文件到/tftpboot目录下
  [root@gliethttp root]# cp minigui9200.gz /tftpboot  ;将ramdisk拷贝到/tftpboot目录下
二.ARM板端配置
重启开发板进入uBoot
1.设置tftp的ip地址和服务器地址
  FFTUBoot > printenv      ;打印当前环境配置
  FFTUBoot > setenv ethaddr  12:34:56:78:99:aa    ;MAC 地址设置
  FFTUBoot > setenv ipaddr   192.168.23.250(缺省192.168.0.11) ;目标板IP 地址
  FFTUBoot > setenv serverip 192.168.23.23(缺省192.168.0.55)  ;服务器IP 地址
  FFTUBoot > setenv bootdelay 5     ;延时
  FFTUBoot > saveenv       ;可以进行保存,如果不保存,掉电后需要重新设置
2.启动参数设置
  FFTUBoot > setenv bootargs root=/dev/ram rw initrd=0x21100000,6000000 ramdisk_size=15360 console=ttyS0,115200 mem=32M
  FFTUBoot > saveenv
3.下载文件
  FFTUBoot > tftp 21000000 usb1-uImage     ;下载内核
  FFTUBoot > tftp 21100000 minigui9200.gz   ;下载文件系统
  FFTUBoot > bootm 21000000      ;开始运行
  或者直接 
  FFTUBoot > tftp 21000000 usb1-uImage;tftp 21100000 minigui9200.gz;bootm 21000000
(注:
  如果正在进行内核和ramdisk开发,那么最好进行如下设置:
     FFTUBoot > setenv bootcmd tftp 21000000 usb1-uImage/;tftp 21100000 minigui9200.gz/;bootm 21000000 
     FFTUBoot > saveenv 
     这样每次将板子复位后,内核和ramdisk都会通过tftp自动装载运行。
  如果只对内核开发,那么可以先将ramdisk烧到flash中
     FFTUBoot > tftp 20000000 minigui9200.gz
     FFTUBoot > cp.b 20000000 10200000 文件系统大小
     然后设置自启动参数
     FFTUBoot > setenv bootcmd tftp 21000000 usb1-uImage/;cp.b 10200000 21100000 文件系统大小/;bootm 21000000 
     FFTUBoot > saveenv 
  如果只对ramdisk开发,那么可以先将kernel烧到flash中
     FFTUBoot > tftp 20000000 usb1-uimage
     FFTUBoot > cp.b 20000000 10060000 内核影象大小
     然后设置自启动参数
     FFTUBoot > setenv bootcmd tftp 21100000 minigui9200.gz/;bootm 10060000
     FFTUBoot > saveenv 
  
4.烧写内核到flash(0x10060000)
  FFTUBoot > tftp 20000000 usb1-uimage
  FFTUBoot > cp.b 20000000 10060000 内核影象大小
5.烧写ramdisk到flash(0x10200000)
  FFTUBoot > tftp 20000000 minigui9200.gz
  FFTUBoot > cp.b 20000000 10200000 文件系统大小
6.设置flash启动环境
  FFTUBoot > setenv bootargs root=/dev/ram rw initrd=0x21100000,6000000 ramdisk_size=15360 console=ttyS0,115200 mem=32M
  FFTUBoot > setenv bootcmd cp.b 10200000 21100000 文件系统大小/;bootm 10060000 ;uBoot将存储在10060000压缩内核解压到20008000处
  FFTUBoot > saveenv
原文地址:https://www.cnblogs.com/slz-coder150315/p/4376394.html