Linux内核源码分析--内核启动命令行的传递过程(Linux-3.0ARMv7).docVIP

  • 35
  • 0
  • 约2.51万字
  • 约 51页
  • 2016-05-25 发布于重庆
  • 举报

Linux内核源码分析--内核启动命令行的传递过程(Linux-3.0ARMv7).doc

Linux内核源码分析--内核启动命令行的传递过程(Linux-3.0ARMv7)

Linux内核源码分析--内核启动命令行的传递过程(Linux-3.0 ARMv7) Linux内核在启动的时候需要一些参数,以获得当前硬件的信息或者启动所需资源在内存中的位置等等。这些信息可以通过bootloader传递给内核,比较常见的就是cmdline。以前我在启动内核的时候习惯性的通过uboot传递一个cmdline给内核,没有具体的分析这个过程。最近在分析内核启动过程的时候,重新看了一下内核启动参数的传递过程,彻底解决一下在这方面的疑惑。 一、bootloader与内核的通讯协议 内核的启动参数其实不仅仅包含在了cmdline中,cmdline不过是bootloader传递给内核的信息中的一部分。bootloader和内核的通信方式根据构架的不同而异。对于ARM构架来说,启动相关的信息可以通过内核文档(Documentation/arm/Booting)获得。其中介绍了bootloader与内核的通信协议,我简单总结如下: (1)数据格式:可以是标签列表(tagged list)或设备树(device tree)。 (2)存放地址:r2寄存器中存放的数据所指向的内存地址。 在我所做过的开发中,都是使用tagged list的,所以下面以标签列表为例来介绍信息从bootloader(U-boot)到内核(Linux-3.0)的传递过程。

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档