u-boot引导内核及参数传导

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/u013215852/article/details/86471746

uboot实现了传递dtb的功能,#define CONFIG_OF_LIBFDT使能设备树

i.mx6ul实现方式:

#if defined(CONFIG_SYS_BOOT_NAND)
#define CONFIG_EXTRA_ENV_SETTINGS \
        CONFIG_MFG_ENV_SETTINGS \
        "panel=TFT43AB\0" \
        "fdt_addr=0x83000000\0" \
        "fdt_high=0xffffffff\0"   \
        "console=ttymxc0\0" \
        "bootargs=console=ttymxc0,115200 "  \
                "root=ubi0:rootfs rootfstype=ubifs "                 \
                "ubi.mtd=5 mtdparts=gpmi-nand:4m(u-boot),2m(u-boot-env),4m(logo),10m(kernel),2m(dtb),-(rootfs) rootwait rw\0"\
        "bootcmd=nand read ${loadaddr} 0xa00000 0xa00000;"\
                "nand read ${fdt_addr} 0x1400000 0x200000;"\
                "bootz ${loadaddr} - ${fdt_addr}\0"
#else
(1)将kernel载入内存

nand read ${loadaddr} 0xa00000 0xa00000

(2)然后用fdt addr ${fdtaddr}命令将dtb载入内存

nand read ${fdt_addr} 0x1400000 0x200000

(3)使用bootz ${loadaddr} ${initrdaddr} ${fdtaddr}来引导内核

initrd是临时文件系统,实际使用时用“-”代替:bootz ${loadaddr} - ${fdtaddr}

bootz ${loadaddr} - ${fdt_addr}

猜你喜欢

转载自blog.csdn.net/u013215852/article/details/86471746