uboot与内核的桥梁----ubootenv

从uboot到进入内核之间由uboot参数进行引导,参数不对会造成加载不了内核,或者加载到一半就报错失败。

下面列举几种类型uboot参数关键引导命令:

nand flash:

bootargs=mem=1G mmz=ddr,0,0,380M console=ttyAMA0,115200 root=/dev/mtdblock6 rootfstype=yaffs2 mtdparts=hinand:4M(boot),4M(bootargs),8M(logo),16M(config),4M(baseparam),16M(kernel),32M(rootfs),32M(resoure),-(others)

bootcmd=nand read 0x1000000 0x2400000 0x1000000;bootm 0x1000000

说明:

1、rootfstype 可以根据实际rootfs类型进行修改ext4,squashfs等

2、/dev/mtdblock6 “6” 是mtdparts 分区rootfs的位置,从0开始计算

3、bootcmd 按字节计算,读入kernel的起始位置0x2400000,读入0x1000000即16MB,到内存位置0x1000000;然后引导内存位置0x1000000,即读入内存

 

nand flash ramdisk:

bootargs=mem=1G mmz=ddr,0,0,100M vmalloc=600M console=ttyAMA0,115200  root=/dev/ram  initrd=0x3000040,32768K ramdisk_size=32768 init=/linuxrc mtdparts=hinand:4M(boot),4M(bootargs),8M(logo),16M(config),4M(baseparam),16M(kernel),32M(rootfs),32M(resoure),4M(pqparam),-(others)

bootcmd=nand read 0x1000000 0x2400000 0x1000000;nand read 0x3000000 0x3400000 0x2000000;bootm 0x1000000 0x3000000

说明:

1、ramdisk_size 为rootfs的大小,单位为kByte,32768 kByte即32MB.

2、bootcmd 按字节计算,读入kernel的起始位置0x2400000,读入0x1000000即16MB,到内存位置0x1000000;读入rootfs的起始位置0x3400000 ,读入0x2000000即32MB,到内存位置0x3000000;然后引导内存位置0x1000000, 0x3000000,即读入内核,rootfs.

 

emmc flash:

bootargs=console=ttyAMA0,115200 root=/dev/mmcblk0p7 rootfstype=yaffs2 rootwait blkdevparts=mmcblk0:1M(boot),1M(bootargs),4M(baseparam),4M(pqparam),4M(logo),32M(kernel),32M(rootfs),-(others)
bootcmd=mmc read 0 0x1FFFFC0 0x7000 0x10000;bootm 0x1FFFFC0

说明:

1、rootfstype 可以根据实际rootfs类型进行修改ext4,squashfs等

2、/dev/mmcblk0p7 “7” 是blkdevparts分区rootfs的位置,从1开始计算

3、bootcmd 按块计算,每个块大小为512B,读入kernel的起始位置0x7000 x 512 Byte,读入0x10000 x 512 byte即32MB,到内存位置0x1FFFFC0;然后引导内存位置0x1FFFFC0,即读入内存

 

参数设置:

1、uboot 参数可以通过生成文件烧录进去,也可以通过setenv命令设置,设置完成后运行saveenv保存,reset重启可生效。

2、setenv 参数名与参数之间使用空格代替“=”,例如:setenv bootcmd nand read 0x1000000 0x2400000 0x1000000

3、多条参数命令使用“;"分隔,使用setenv 命令设置使用"\"对分号进行转义,例如:setenv bootcmd mmc read 0 0x1FFFFC0 0x7000 0x10000\;bootm 0x1FFFFC0

 

转载于:https://www.cnblogs.com/simon-wong/p/6898128.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值