简介:u-boot包含了一些配置参数,应根据自己的使用的情况进行正确的设置,在命令提示符下,输入printenv可以显示目前所设置的或默认设置的所有环境变量。我的系统打印的信息如下:
sbc2410=> printenv
bootdelay=3
baudrate=115200
ethaddr=08:00:3e:26:0a:5b
bootfile="zImage"
filesize=169620
fileaddr=31000000
netmask=255.255.255.0
ipaddr=192.168.3.134
serverip=192.168.3.131
bootcmd=nand read 0x30008000 0x30000 0x1d0000;go 0x30008000
bootargs=noinitrd root=/dev/mtdblock3 console=ttySAC0
stdin=serial
stdout=serial
stderr=serial
几个重要参数的说明:
1、 bootdelay 启动延迟,以秒为单位
2、 ipaddr网络地址
3、 serveraddr tftp服务器地址,建立tftp服务器之后,就可以将tftp服务器上的文件通过网络传输的方式传输过来,非常方便
4、 bootcmd 系统自动启动命令,本设置表示从nandflash读取数据,然后执行go命令
5、 bootargs 设置u-boot环境参数,noinitrd表示拷贝内核到内存中的地址。Root表示内核在flash中的分区段,console表示终端设备
/********************************************************************************************/
Bytes transferred = 1480288 (169660 hex)
sbc2410=> nand erase 0x30000 0x1d0000
NAND erase: device 0 offset 196608, size 1900544 ... OK
sbc2410=> nand write 0x30800000 0x30000 0x1d0000
NAND write: device 0 offset 196608, size 1900544 ... 1900544 bytes written: OK
sbc2410=> setenv bootcmd nand read 0x30800000 0x30000 0x1d0000/;bootm 0x30800000
sbc2410=> saveenv
Saving Environment to NAND...
Erasing Nand...Writing to Nand... done
sbc2410=> reset
先利用tftp的方式将内核放在内核中,然后利用nand erase 命令擦除内核,后面的参数表示0x30000 nandflash的起始地址,0x1d0000表示擦除的大小。
Nand write 表示将0x30800000中的内容写入到0x30000起始的nandflash中,写入量为0x1d0000.
然后进行引导命令的设置,bootcmd; 最后保存环境变量,并复位启动,系统就可以正常引导了。利用go命令同样可以。
Go 对应原始zImage 文件。
Bootm 对应加了头的zImage.img文件----uImage。