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