天天看点

uboot边角料2——linux环境下uboot通过tftp下载Ubuntu资源实验记录

uboot文章连载点我

前提:开发板uboot能和主机Ubuntu接通网络,方法看:uboot边角料1——linux环境下uboot网络ping命令实验记录

(1)uboot本身主要目标是启动内核,为了完成启动内核必须要能够部署内核,uboot为了部署内核就需要将内核镜像从主机中下载过来然后烧录到本地flash中。uboot如何从主机(windows或者虚拟机ubuntu)下载镜像到开发板上?有很多种方式,主流方式是:fastboot和tftp。

fastboot的方式是通过USB线进行数据传输。

tftp的方式是通过有线网络的。典型的方式就是通过网络,fastboot是近些年才新发展的。

(2)tftp方式下载时实际上uboot扮演的是tftp客户端程序角色,主机windows或虚拟机ubuntu中必须有一个tftp服务器,然后将要下载的镜像文件放在服务器的下载目录中,然后开发板中使用uboot的tftp命令去下载即可。

(3)有些人习惯在windows中搭建tftp服务器,一般是用一些软件来搭建(譬如tftpd32,使用起来比较简单);

(4)我的虚拟机搭建的时候设置的tftp下载目录是/tftpboot,将要被下载的镜像复制到这个目录下。

(5)检查开发板uboot的环境变量,注意serverip必须设置为虚拟机ubuntu的ip地址。(serverip这个环境变量的意义就是主机tftp服务器的ip地址)

(6)然后在开发板的uboot下先ping通虚拟机ubuntu,然后再尝试下载:tftp 0x30000000 zImage-qt(在开发板上)(意思是将服务器上名为zImage-qt的文件下载到开发板内存的0x30000000地址处。(uboot内存地址从0x30000000~0x50000000))

(7)镜像下载到开发板的DDR中后,uboot就可以用movi指令进行镜像的烧写了。

注意:

1)如果你是用的windows下的tftp服务器,那uboot的serverip就要设置为和windwos下tftp服务器的ip地址一样(windows下的tftp服务器软件设置的时候就有个步骤是让你设置服务器的ip地址,这个ip地址和主机windows必须在一个网段)。

nfs启动内核命令:nfs

(1)uboot中也支持nfs命令,但是我基本没用过。

继续阅读