首页 > 其他分享 >uboot 传递参数给 kernel 内核

uboot 传递参数给 kernel 内核

时间:2023-01-15 18:45:11浏览次数:37  
标签:kernel uboot do bootz chosen --- 内核

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 节点下

标签:kernel,uboot,do,bootz,chosen,---,内核
From: https://www.cnblogs.com/god-of-death/p/17053914.html

相关文章

  • 和菜鸟一起学linux内核源码之基础准备篇
        注:以下大部分内容摘自linux内核编程入门篇和linux内核完全注释       在工作的这段时间,发现我的visio画图熟悉了点点,总喜欢把什么源码啊,结构啊之类的就......
  • Linux内核机制—内核热补丁
    一、内核热补丁简介1.热补丁内核实现路径:kernel/livepatch/2.热补丁内核使用demo路径lib/livepatch/,可参考livepatch-sample.c实验也最简单。/*单独测试,使用新函......
  • 和菜鸟一起学linux内核之初始化init篇
    注:以下大部分内容摘自linux内核编程入门篇和linux内核完全注释      初始化init下只有一个main函数。      首先利用setup.s程序取得的程序参数设置系统的根......
  • Linux内核为什么会发生soft lockup?【转】
    转自:https://blog.csdn.net/21cnbao/article/details/108250786提到softlockup,大家都不会陌生:BUG: soft lockup - CPU#3 stuck for 23s! [kworker/3:0:32]......
  • 如何使用 rust 写内核模块
    作者:卜比近年来,Rust语言以内存安全、高可靠性、零抽象等能力获得大量开发者关注,而这些特性恰好是内核编程中所需要的,所以我们看下如何用rust来写Linux内核模块。Rust与......
  • kernel.panic
       sysctl-a kernel.panic=0kernel.panic_on_io_nmi=0kernel.panic_on_oops=1kernel.panic_on_stackoverflow=0kernel.panic_on_unrecovered_nmi=0ke......
  • Centos 6.x 更新内核 2.6->4.13
    最近搭建SS感觉上网很慢,想起了网络加速,锐速没找到,知道到了Google开源的TCPBBR拥塞控制算法,效果非常不错。本帖记录升级内核的过程。下载 更新内核rpm--importhttps:......
  • 远程办公与Web3内核高度匹配!将重塑全球劳动力市场格局?
       在过去两年半的时间里,全球有45%的工作转为了远程办公模式,不过即使疫情好转,大城市的办公室入驻率仍低于疫情前50%的水平。   这表明,现在越来越多的人更喜欢远......
  • 无法打开内核设备“\\.\VMCIDev\VMX”: 操作成功完成。是否在安装 VMware Worksta
    如果是挂起状态,那先右击进行“关机”! 右键上面的文件,为你虚拟机的名字+.vim,以一个格式打开,我这里使用记事本。将其中的TRUE改为FALSE即可解决 ......
  • linux 内核中的上下文判断
    linux内核中的上下文判断linux/include/linux/preempt.h.../**Arewedoingbottomhalforhardwareinterruptprocessing?**in_irq()-We'rein(......