mini2440 u-boot下设置tftp

时间:2023-11-17 22:53:38

在烧写好u-boot后,重新启动mini2440,一直按空格键进入u-boot界面:

U-Boot 2010.03 ( 月   - ::)

 modified by tekkamanninja (tekkamanninja@.com)
Love Linux forever!! I2C: ready
DRAM: MB
Flash: MB
NAND: MiB
In: serial
Out: serial
Err: serial
USB slave is enable!
Net: dm9000
Hit any key to stop autoboot:
##### FriendlyARM U-Boot(-) for #####
[f] Format the nand flash
[v] Download u-boot.bin
[k] Download Linux kernel
[y] Download root yaffs2 image
[a] Download Absolute User Application
[s] Set the boot parameter of Linux
[b] Boot Linux
[r] Reboot
[q] Quit to shell
Enter your Selection:

输入'q'键并回车即可进入u-boot控制台。

然后执行'printenv'命令查看环境变量信息,显示如下:

[u-boot@MINI2440]# printenv
bootargs=noinitrd root=/dev/mtdblock3 console=ttySAC0 init=/linuxrc
bootcmd=nand read.i 0x30008000 ;bootm
bootdelay=
baudrate=
ethaddr=:::::
ipaddr=192.168.0.230
serverip=192.168.0.1
gatewayip=192.168.0.1
netmask=255.255.255.0
ethact=dm9000
filesize=
stdin=serial
stdout=serial
stderr=serial Environment size: / bytes

默认的网络所在的段属于192.168.0,而我的路由器默认设置为192.168.211.1,主机ip地址为192.168.211.2,所以需要修改环境变量

执行以下命令:

[u-boot@MINI2440]# setenv ipaddr 192.168.211.211
[u-boot@MINI2440]# setenv serverip 192.168.211.2
[u-boot@MINI2440]# setenv gatewayip=192.168.211.1
[u-boot@MINI2440]# saveenv

然后将需要tftp下载的文件复制到tftp配置的文件夹内(我拷贝的是uImage文件),并将权限设置为777(chmod 777 uImage)。

然后重启tftp服务:

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

在u-boot下执行‘tftpboot'命令:

[u-boot@MINI2440]# tftpboot  uImage

这时可以看到,文件成功加载到0x31000000位置,然后可以执行'bootm 0x31000000'启动内核(我虽然启动了内核,但是执行一下就死掉了,可能是bootargs参数设置不正确)。