uboot linux配置文件,uBoot使用tftp的方式加载Linux内核文件

本文介绍了如何在Ubuntu系统中安装和配置tftp服务器,包括安装tftp-hpa,设置tftp目录,以及通过xinetd进行服务配置。同时,详细阐述了在u-boot中进行网络配置,通过tftp下载内核和设备树,并将它们烧录到NandFlash的过程。最后,提到了检查和确认内存地址的方法。
摘要由CSDN通过智能技术生成

这里就来介绍tftp方式从linux主机下载文件到开发板里运行;需要在主机linux系统里安装tftp服务器。

在Ubuntu中安装tftp服务器的方法如下:

1) 下载并安装程序

sudo apt-get install tftp tftpd

2) 建立tftp服务器目录

sudo mkdir -p /work/tftpboot

sudo chmod777 /work/nfs

接着修改tftp服务器配置的目录:

cat /etc/xinetd.conf

# Simple configuration fileforxinetd

#

# Some defaults, and include/etc/xinetd.d/defaults

{

tftp dgram udp wait nobody/usr/sbin/tcpd /usr/sbin/in.tftpd /work/tftpboot

# Please note that you need a log_type line to be able to use log_on_success

# and log_on_failure. Thedefault isthe following :

# log_type=SYSLOG daemon info

}

3) 重新启动服务

sudo /etc/init.d/xinetd restart

sudo in.tftpd –l /work/tftpboot

4) 测试tftp服务器

在/tftpboot目录下面建立一个文件:

cd /work/tftpboot

touch testfile

在进入另外一个目录里面:

tftp 127.0.0.1tftp>get testfile

Transfer timed out

tftp>

这时这个目录下面虽然能看到testfile文件,但服务器还是安装失败了。

这时如果在u-boot上下载的话:

tftp 0x84000000 file

会报错:Retry count exceeded; starting again ,这时的报错,就不是u-boot源码的问题啦。

苦搜一番,发现还有个tftpd-hpa的东西,嗯,尝试一波,先卸载掉之前已经安装的tftp tftpd

sudo apt-get remove tftp

sudp pat-get remove tftpd

1.然后安装tftp-hpa,tftpd-hpa,xinetd

sudo apt-get install tftp-hpa tftpd-hpa xinetd

2.配置/etc/default/tftpd-hpa内容如下:

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"

TFTP_DIRECTORY="/work/tftpboot" //修改成自己要使用的tftpboot目录

TFTP_ADDRESS="0.0.0.0:69"

TFTP_OPTIONS="--secure -c" //-c 表示可以创建文件 -c create

3.重启服务

sudo /etc/init.d/tftpd-hpa start

4.测试tftp

root@Linux:/# tftp localhost

tftp> get zImage

tftp> q

可以在当前目录下发现多了zImage文件。配置完成。

2,uboot网络配置及镜像下载及加载与写入flash

(1)网络配置

进入uboot命令行界面

//设置ip地址

$ setenv ipaddr 192.168.200.255

//设置网关地址

$ setenv gatewayip 192.168.0.1

//设置tftp服务端ip地址(pc端地址)

$ setenv serverip 192.168.200.222

//保存设置

$ saveenv//查看当前设置,如下图所示

$ pri

(2)tftp下载调试

1.下载内核

tftpboot 0x83000000 zImage

成功后如下图:

a49df59818a930a718b36ad566544bae.png

2.下载设备树

tftpboot 0x84000000 myd-y6ul-gpmi-weim.dtb

接下来便是启动测试:

bootz 0x83000000 - 0x84000000

启动成功;

将调试好的内核和设备树写到NandFlash中:

烧写内核:

b4edf1dd041f89dd59d33b7050c79a78.png

烧写DTB:

43382d525a9bbc279bf1086e3cc8dd0f.png

接下来重启就OK了。

至于上面地址中的确认,如果u-boot支持了mtdparts,可以使用该命令来查看,或是直接查看中mtdparts来确认;

26a83c541d4c171b959a23a322fa8731.png

既然支持了mtdparts,可以使用erase 带分区名称直接操作,就更方便了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值