uboot 传递参数给 kernel 内核

uboot通过环境变量 bootargs 传递参数给 kernel 内核,bootargs存储在设备树的 chosen 节点中,则 kernel 内核是通过读取设备树的 chosen 节点中的 bootargs 属性获取 uboot 传递过来的参数。

 

U_BOOT_CMD(
    bootz,  CONFIG_SYS_MAXARGS, 1,  do_bootz,
    "boot Linux zImage image from memory", bootz_help_text
);
bootz ${loadaddr} - ${fdt_addr}
do_bootz()---> do_bootm_states() ---> bootm_os_get_boot_func()(得到函数do_bootm_linux())boot_fn()(实际就是函数do_bootm_linux()) ---> boot_prep_linux() ---> image_setup_linux() ---> image_setup_libfdt() ---> fdt_chosen()
在函数 fdt_chosen() 函数中,读取环境变量 bootargs 的值,并设置到设备树的 chosen 节点下
 
 
bootargs 内容包括:
1、设置控制台 console 用哪个
2、设置根文件系统在哪个存储设备的哪个分区
 
 
posted @   流水灯  阅读(1194)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
历史上的今天:
2021-01-15 RT-Thread ------ event 事件
2019-01-15 linux basic ------ dd 和 cp 的区别
2019-01-15 Linux设备树(六 memory&chosen节点)
2019-01-15 Linux设备树(五 根节点)
2019-01-15 Linux设备树(四 中断)
2019-01-15 Linux设备树(三 属性)
2019-01-15 Linux设备树(二 节点)
点击右上角即可分享
微信分享提示