Freescale iMX53平台UBoot中启动参数说明(二)

时间:2021-09-30 16:47:21

bootcmd_SD=mmc dev 1 0; mmc read ${loadaddr} 0x800 0x2000;mmc read ${rd_loadaddr} 0x3000 0x1200:设置启动设备及kernel和ramdisk加载。

<mmc dev 1 0>:设置当前设备为1(在我的系统中1表示mmc,0表示SD)以及分区为0。

<mmc read ${loadaddr} 0x800 0x2000>:表示将当前设备中从第0x800个block开始的0x2000个block中的内容读取到内存中的${loadaddr}处。一般每个block大小为512K,因此,这里实际上是将当前设备的第0分区中从1M字节处开始的4M字节数据读取到内存中。(在我的系统中,这里读取的是kernel数据)

<mmc read ${rd_loadaddr} 0x3000 0x1200>:与上面的基本相同。(在我的系统中这里读取的是ramdisk数据)

bootcmd=run bootcmd_SD; bootm ${loadaddr} ${rd_loadaddr}:设置启动命令。

<run bootcmd_SD>:执行bootcmd_SD将kernel和ramdisk读入内存。

<bootm ${loadaddr} ${rd_loadaddr}>:然后执行bootm命令启动kernel和ramdisk。

附上UBoot中的mmc命令说明:

Usage: 
mmc read addr blk# cnt         ——从存储设备中第blk#个block起的cnt个block的内容读取数据到内存addr处。
mmc write addr blk# cnt         ——将内存addr中的内容写入存储设备中第blk#个block起的cnt个block内。
mmc erase blk# cnt                ——将存储设备中第blk#个block起的cnt个block中的内容擦除。
mmc rescan                            ——从新扫描存储设备。
mmc part - lists available partition on currentmmc device     ——列出当前mmc设备中有效的分区。
mmc dev [dev] [part] - show or set current mmcdevice [partition]     ——显示或设置当前的mmc设备以及分区。
mmc bootpart [dev] [part] - show or set bootpartition     ——显示或设置启动分区。
mmc list - lists available devices    ——列出当前有效的设备。


bootargs_android_recovery=setenv bootargs ${bootargs} video=mxcdi0fb:RGB24,bpp=16 init=/init root=/dev/mmcblk0p4 rootdelay=2 rootfs=ext4:设置android recovery参数。这里继承了bootargs中的设置,然后重新设置了视频设备参数

<root=/dev/mmcblk0p4>:设置root设备为/dev/mmcblk0p4,也就是mmc设备的第四个分区。

<rootdelay=2>:设置android recovery启动时延时2秒。

<rootfs=ext4>:设置root设备所使用的文件系统为ext4

bootcmd_android_recovery=run bootargs_android_recovery;mmc dev 1 4;mmc read ${loadaddr} 0x800 0x2000;bootm:设置android recovery如何加载运行。

<run bootargs_android_recovery>:执行android recovery参数设置。

<mmc dev 1 4;mmc read ${loadaddr} 0x800 0x2000;bootm>:从mmc设备的分区4中读取recovery镜像文件,然后启动保存在${loadaddr}中的recovery镜像文件。

splashimage=0x78000000:设置开机启动画面数据在内存中的保存地址。
stdin=serial:设置标准输入设备为串口。
stdout=serial:设置标准输出设备为串口。

stderr=serial:设置标准错误设备为串口。


最后附上bootm命令的说明:

bootm - boot application image from memory
Usage:
bootm [addr [arg ...]]
    - boot application image stored in memory
    passing arguments 'arg ...'; when booting a Linux kernel,

    'arg' can be the address of an initrd image