u-boot启动调用内核

不用的cup或者不同的平台开发板,u-boot都是从 main_loop(common/main.c) 开始引导内核,此时与架构版、板级就无关了

u-boot执行至main_loop(common/main.c)      ----->  bootdelay_process()(common/autoboot.c)  会进行倒计时  ---> ①/②

①--->获取环境变量bootcmd 回到main.c:  autoboot_commandcommon/autoboot.c执行调用环境变量)--->   期间会调用一系列环境变量
            ---- --> 最终调用command为 sysboot ( cmd/pxe.c )  --->  bootz指令(cmd/bootz.c)下的 d o_bootz () 函数(引导内核启动)
②--->有按键按下 回到main.c: 执行 cli_loop() (common/cli.c)  --> cli_simple_loop()(位于common/cli_simple.c)  开始进入指令输入界面

  
  bootdelay_process:  得到环境变量 bootcmd(启动内核)
    
  调用一系列环境变量:初始化一些配置
                                 
                         u-boot启动调用内核
   Sysboot命令:
                      u-boot启动调用内核
 
do_sysboot()函数,最后会从EMMC的boot分区中 读取内核的镜像 zImage 和设备树 dtb,并最后调用 do_bootz ()函数, 引导 linux 启动
 
nova_driver命令在  l abel_boot函数(cmd/pxe.c)中添加执行的, do_sysboot -> handle_pxe_menu --->  l abel_boot
cli_simple_loop():死循环的等待读取执行命令,,此函数处可以自己可以加点东西
 
 
                            u-boot启动调用内核
 
 
u-boot常用环境变量:
                                               u-boot启动调用内核
框架:
 
                 u-boot启动调用内核