zoukankan      html  css  js  c++  java
  • Uboot启动参数说明

    bootcmd=cp.b 0xc4200000 0x7fc0 0x200000 ; bootm

    // 倒计时到 0 以后,自动执行的指令

    bootdelay=2

    baudrate=38400

    // 串口波特率,一般使用 38400

    ethaddr=08:00:3e:26:0a:5c

    bootfile="uImage"

    ethact=lan911x

    serverip=10.117.192.3

    // 指定 linux 服务器的 ip 地址,在进行 tftp 等命令操作时会用到

    gatewayip=10.117.192.1

    // 指定网关地址

    netmask=255.255.255.0

    // 指定子网掩码

    ipaddr=10.117.192.216

    // 指定当前开发板的 ip 地址

    bootargs=root=/dev/mtdblock0 mem=32M

    // 传给 kernel 启动执行的参数,比如使用 ramdisk 还是 nfs 等

    mtdparts=armflash.1:12M@0x400000(jffs2) console=ttyAMA0,38400 macaddr=0216 rootfstype=jffs2

    stdin=serial

    stdout=serial

    stderr=serial

    verify=n

    附加:

    bootdelay - uboot 启动后多少秒后自动执行 bootcmd 里设置的命令,即自启动,如果 bootcmd 参数没有配置,则bootdelay 不会起作用

     

    jffs2 类型的 fs 直接在板上运行,并且地址从 0xc4400000 开始有 4M ,由 bootargs 参数里的 root=/dev/mtdblock0 mtdparts=armflash.1:4M@0x400000(jffs2) 这两项指定。 macaddr=08003e260a55 这个配置了板的 mac 地址,每块板都应该有一个不同的 mac 地址

     

    30.Linux Kernel 常用参数样例

    Ramdisk 启动参数 :

    setenv bootargs root=/dev/ram0 initrd=0x2800000,24M rootfstype=ext2 mem=64M console=ttyAMA0

    nfs 启动参数 :

    setenv bootargs root=/dev/nfs nfsroot=192.168.1.7:/opt/yz/nfs,rw ip=192.168.1.160 mem=64M console=ttyAMA0

    jffs2 启动参数 :

    setenv bootargs root=/dev/mtdblock0 mem=16M mtdparts=armflash.1:4M@0x400000(jffs2) macaddr=9854 rootfstype=jffs2 console=ttyAMA0

     

    31.ubbot 启动信息说明

    U-Boot 1.1.3 (Apr 22 2008 - 10:21:13)

    U-Boot code: 00800000 -> 00815850 BSS: -> 0081B184

    RAM Configuration:

    Bank #0: 00000000 64 MB

    Flash: 16 MB

    In:    serial

    Out:   serial

    Err:   serial

    Net:   lan911x_init

    lan911x

    Hit any key to stop autoboot: 0

    6.4.3 U-Boot的环境变量
    有点类似 Shell , U-Boot 也使用环境变量。可以通过 printenv 命令查看环境变量的设置。
    U-Boot> printenv
    bootdelay=3
    baudrate=115200
    netmask=255.255.0.0
    ethaddr=12:34:56:78:90:ab
    bootfile=uImage
    bootargs=console=ttyS0,115200 root=/dev/ram rw initrd=0x30800000,8M
    bootcmd=tftp 0x30008000 zImage;go 0x30008000
    serverip=192.168.1.1
    ipaddr=192.168.1.100
    stdin=serial
    stdout=serial
    stderr=serial
    Environment size: 337/131068 bytes
    U-Boot>
    表6.5是常用环境变量的含义解释。通过printenv命令可以打印出这些变量的值。
    表6.5                                                  U-Boot环境变量的解释说明
    环 境 变 量 解 释 说 明
    bootdelay
    定义执行自动启动的等候秒数
    baudrate
    定义串口控制台的波特率
    netmask
    定义以太网接口的掩码
    ethaddr
    定义以太网接口的MAC地址
    bootfile
    定义缺省的下载文件
    bootargs
    定义传递给Linux内核的命令行参数
    bootcmd
    定义自动启动时执行的几条命令
    serverip
    定义tftp服务器端的IP地址
    ipaddr
    定义本地的IP地址
    stdin
    定义标准输入设备,一般是串口
    stdout
    定义标准输出设备,一般是串口
    stderr
    定义标准出错信息输出设备,一般是串口
    U-Boot的环境变量都可以有缺省值,也可以修改并且保存在参数区。U-Boot的参数区一般有EEPROM和Flash两种设备。
    环境变量的设置命令为setenv,在6.2.2节有命令的解释。
    举例说明环境变量的使用。
    =>setenv serverip 192.168.1.1
    =>setenv ipaddr 192.168.1.100
    =>setenv rootpath "/usr/local/arm/3.3.2/rootfs"
    =>setenv bootargs "root=/dev/nfs rw nfsroot=/$(serverip):/$(rootpath) ip=
    /$(ipaddr) "
    =>setenv kernel_addr 30000000
    =>setenv nfscmd "tftp /$(kernel_addr) uImage; bootm /$(kernel_addr) "
    =>run nfscmd
    上面定义的环境变量有serverip ipaddr rootpath bootargs kernel_addr。环境变量bootargs中还使用了环境变量,bootargs定义命令行参数,通过bootm命令传递给内核。环境变量 nfscmd中也使用了环境变量,功能是把uImage下载到指定的地址并且引导起来。可以通过run命令执行nfscmd脚本。
  • 相关阅读:
    day09
    day08
    day05
    day04
    day03
    day02
    LogCat查看Android运行日志
    ADT+SDK,Android开发环境搭建问题
    第二次冲刺周期第十天
    第二次冲刺周期第九天
  • 原文地址:https://www.cnblogs.com/alan666/p/8312222.html
Copyright © 2011-2022 走看看