tftp服务器怎么开启linux,CentOS 6.4 tftp服务器配置--使用tftp下载并启动内核

最近调试一个程序,需要频繁编译内核并下载到开发板运行,如果每次都烧写到nand flash太麻烦了,所以就想到了nfs,启动uboot试了一把,

竟然没有实现nfs命令,本来想移植一个的,但还是先干正事要紧,以后再来移植。所以就想到用tftp了。

tftp分为客户端和服务器,服务器提供数据,客户端从服务器下载。这里把CentOS 6.4 配置成服务器,开发板为客户端。

服务器配置如下:

1. 安装tftp服务

# yum install tftp

# yum install tftp-server

2. 配置服务器

# vim /etc/xinetd.d/tftp

service tftp

{

socket_type             = dgram

protocol                = udp

wait                    = yes

user                    = root

server                  = /usr/sbin/in.tftpd

server_args             = -s /nfsdir/tftpboot    // 改   tftp服务器目录,客户端从这个文件夹里下载数据

disable                 = no                            // 改  使能tftp服务器

per_source              = 11

cps                     = 100 2

flags                   = IPv4

}

3. 验证tftp服务器

验证tftp服务器是否可以正常使用,利用自环下载数据,首先在/nfsdir/tftpboot放入zImage文件

# tftp 127.0.0.1

tftp> get zImage

tftp> q

正常的话,zImage会被下载到当前文件夹下

客户端使用:

启动开发板,进入uboot模式,输入下面命令:

> tftp 0x30008000 zImage

> bootm 0x30008000

## Booting image at 30008000 ...

Bad Magic Numbe

竟然不能启动,猜想可能是因为缺少某些启动信息,于是换成uImage(是uboot专用的映像文件,它是在zImage之前加上一个长度为64字节的“头”,说明这个内核的版本、加载位置、生成时间、大小等信息;其0x40之后与zImage没区别;详请百度)

>tftp 0x30008000uImage

>bootm 0x30008000

## Booting image at 30008000 ...

Bad Magic Numbe

还是不行,后来查看了一下原有的启动方式,是从0x30008000启动zImage镜像,因为uImage镜像比zImage多了64字节的”头“,所以猜想下载位置可能错了,正确的下载位置应该是 :

0x30008000- 0x40 = 0x30007fc0

>tftp 0x30007fc0 uImage

>bootm 0x30007fc0

## Booting image at 30007fc0 ...

Image Name:   Linux-2.6.30.4-EmbedSky

Created:      2015-04-02   4:44:59 UTC

Image Type:   ARM Linux Kernel Image (uncompressed)

Data Size:    2314836 Bytes =  2.2 MB

Load Address: 30008000

Entry Point:  30008000

Verifying Checksum ... OK

OK

Starting kernel ...

Uncompressing Linux...................

这次终于成功了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值