tftp下载内核

编译好的内核烧写到开发板中有多种方法,可以将编译好的镜像拷贝到SD卡中,然后从sd卡中烧写镜像到nandflash中,但使用这种方式需要不断插拔SD卡,所以用起来也不是太方便,通过TFTP将镜像烧写到nandflash中就方便许多了。

首先需要暗中tftp服务器,ubuntu安装tftp服务器的方法网上也比较多,安装好tftp服务器后将镜像拷贝到tftp根文件目录下。

开发板要与服务器处于同一服务器中,按住空格键启动开发板进入uboot,然后进入uboot命令模式,输入help可以打印出uboot命令以及命令简介,输入printenv可以查看环境信息

然后设置ip信息,tftp服务器的ip地址可以在命令终端中输入ifconfig查看,路由网关ip可以在Windows命令行输入ipconfig查看,开发板的ip信息在网段内可以随意设置。设置完成后通过saveenv保存设置,保存后再使用printenv打印环境信息是信息已经改变。

My6410 # setenv ipaddr 192.168.169.110
My6410 # setenv serverip 192.168.169.102   
My6410 # setenv gatewayip 192.168.169.1  
My6410 # saveenv
测试开发板是否与tftp服务器连接可以通过ping命令测试

My6410 # ping 192.168.169.102
Found DM9000 ID:90000a46 at address 18000300 !
DM9000 work in 16 bus width
bd->bi_entaddr: 00:40:5c:26:0a:5b
[eth_init]MAC:0:40:5c:26:a:5b:
host 192.168.169.102 is alive

若出现如上信息说明开发板已经与tftp服务器建立了网络连接,然后通过tftp命令下载内核,tftp命令的两个参数第一个是要下载的地址,第二个参数是镜像在tftp服务器中的文件名

My6410 # tftp 0x50008000 zImage
Found DM9000 ID:90000a46 at address 18000300 !
DM9000 work in 16 bus width
bd->bi_entaddr: 00:40:5c:26:0a:5b
[eth_init]MAC:0:40:5c:26:a:5b:
TFTP from server 192.168.169.102; our IP address is 192.168.169.110
Filename 'zImage'.
Load address: 0x50008000
Loading: T #################################################################
         #################################################################
         #################################################################
         #################################################################
         #############################################
done
Bytes transferred = 1558392 (17c778 hex)

下载完成后即可通过bootm命令启动内核

My6410 # bootm 0x50008000
指令执行后悔打印出内核启动信息。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
(1) u-boot使用网络需设置哪些环境变量,且需要注意哪些问题? 在使用网络功能的情况下,需要设置以下环境变量: - ipaddr:设置本地IP地址。 - netmask:设置子网掩码。 - serverip:设置TFTP服务器的IP地址。 - gatewayip:设置网关的IP地址。 - ethaddr:设置以太网接口的物理地址。 在设置这些环境变量时,需要注意以下问题: - 确保网络设置与实际网络环境相匹配。 - 确保设置的IP地址、子网掩码、网关IP地址以及以太网物理地址都是正确的。 - 根据实际情况选择合适的网络接口,比如 eth0、eth1等。 - 如果使用DHCP自动获取IP地址,则不需要手动设置这些网络相关的环境变量。 (2) 通过TFTP下载内核并启动内核、让内核使用NFS挂载文件系统,需要设置u-boot的哪两个环境变量,如何设置这两个环境变量? 在通过TFTP下载内核并启动内核、使用NFS挂载文件系统时,需要设置以下两个环境变量: - tftpserverip:设置TFTP服务器的IP地址。 - nfsroot:设置NFS根文件系统的路径。 可以通过以下命令来设置这两个环境变量: ``` setenv tftpserverip <TFTP服务器IP地址> setenv nfsroot <NFS根文件系统的路径> ``` 需要将 `<TFTP服务器IP地址>` 和 `<NFS根文件系统的路径>` 替换为实际的值。 (3) MMC的命令,烧写的内核镜像到EMMC中,具体实现命令是什么? 在u-boot中,可以使用 `mmc` 命令来进行MMC(多媒体卡)操作。要将内核镜像烧写到eMMC中,可以使用以下命令: ``` mmc dev <设备号> mmc rescan fatload mmc <设备号>:<分区号> <加载地址> <文件名> mmc write <加载地址> <起始扇区号> <扇区数目> ``` 需要将 `<设备号>`、`<分区号>`、`<加载地址>`、`<文件名>`、`<起始扇区号>` 和 `<扇区数目>` 替换为实际的值。 上述命令的作用分别是:选择MMC设备、重新扫描设备、从MMC加载内核镜像、将内核镜像写入eMMC中。请确保替换参数时使用正确的设备和分区号,并根据实际情况选择合适的加载地址、文件名、起始扇区号和扇区数目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值