引导程序如何将内核命令行传递给内核?

陈金

我们可以看到这样的内核命令行:

ckim@chan-ubuntu:~/$ cat /proc/cmdline  
BOOT_IMAGE=/boot/vmlinuz-4.15.0-122-generic root=UUID=99c66a0a-39c1-451c-9f72-ad1576aafb41 ro quiet splash

此命令行似乎是grub传递给内核进行引导的内容。该命令行实际上是如何传递给内核程序的?我想也许命令行是作为字符串加载到内存中的,并且处理器的寄存器(如x1,如果是arm64处理器)设置为该字符串地址?我对arm64机箱特别感兴趣。

生病了

有时会出现同样的问题。因此,这是深潜的时刻。

86使用专用协议用于引导的Linux,在的情况下arm64 使用不同的方案为了与内核进行通信,引导加载程序仅将单个地址加载的扁平化设备树FDT)放入x0寄存器中。

这是摘自Linux和设备树,运行时配置

在大多数情况下,DT是将数据从固件传递到内核的唯一方法,因此也习惯于传递运行时和配置数据,例如内核参数字符串和initrd映像的位置。

这些数据大部分包含在/ chosen节点中,并且在引导Linux时将如下所示:

chosen {
        bootargs = "console=ttyS0,115200 loglevel=8";
        initrd-start = <0xc8000000>;
        initrd-end = <0xc8200000>;
};

这是DT的另一个示例

接下来,在内核早期启动期间,OF / FDT模块解析传递的设备树填充boot_command_line变量

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

引导程序如何将内核命令行传递给内核?

来自分类Dev

“命令行”如何从引导程序(grub)传递到内核(linux)?

来自分类Dev

如何将命令行参数传递给使用open命令运行的程序?

来自分类Dev

如何将密码传递给mysql命令行

来自分类Dev

如何将命令行参数传递给ipython

来自分类Dev

如何将命令行参数传递给Deno?

来自分类Dev

如何将密码传递给mysql命令行

来自分类Dev

如何将命令行参数传递给sed?

来自分类Dev

如何将CRLF作为参数传递给命令行程序?

来自分类Dev

如何将命令行参数传递给AC程序

来自分类Dev

如何将变量传递给命令行程序?

来自分类Dev

如何将所有命令行参数传递给Makefile中的程序?

来自分类Dev

如何将变量传递给命令行程序?

来自分类Dev

如何将命令行参数传递给Windows批处理文件中的程序?

来自分类Dev

如何在内核引导命令行上指定多个调度程序?

来自分类Dev

如何将包含空格的文件名作为参数传递给命令行程序?

来自分类Dev

替换了Explorer.exe后如何将命令行args传递给我的应用程序

来自分类Dev

如何将包含空格的文件名作为参数传递给命令行程序?

来自分类Dev

如何将超过 10 个命令行参数传递给 jmeter 命令行运行?

来自分类Dev

如何将XML文件内容作为命令行参数传递给Java命令?

来自分类Dev

如何将XML文件内容作为命令行参数传递给Java命令?

来自分类Dev

Shell脚本:如何将脚本的命令行参数传递给它调用的命令?

来自分类Dev

在 uefi 模式下更改的内核引导命令行

来自分类Dev

如何将数组传递给OpenCL内核?

来自分类Dev

如何将参数传递给ruby命令行脚本

来自分类Dev

如何将命令行特定的参数传递给批处理文件?

来自分类Dev

如何将命令行参数传递给C函数

来自分类Dev

如何将Scala命令行参数传递给Java方法?

来自分类Dev

如何将命令行参数传递给在docker中运行的python脚本

Related 相关文章

  1. 1

    引导程序如何将内核命令行传递给内核?

  2. 2

    “命令行”如何从引导程序(grub)传递到内核(linux)?

  3. 3

    如何将命令行参数传递给使用open命令运行的程序?

  4. 4

    如何将密码传递给mysql命令行

  5. 5

    如何将命令行参数传递给ipython

  6. 6

    如何将命令行参数传递给Deno?

  7. 7

    如何将密码传递给mysql命令行

  8. 8

    如何将命令行参数传递给sed?

  9. 9

    如何将CRLF作为参数传递给命令行程序?

  10. 10

    如何将命令行参数传递给AC程序

  11. 11

    如何将变量传递给命令行程序?

  12. 12

    如何将所有命令行参数传递给Makefile中的程序?

  13. 13

    如何将变量传递给命令行程序?

  14. 14

    如何将命令行参数传递给Windows批处理文件中的程序?

  15. 15

    如何在内核引导命令行上指定多个调度程序?

  16. 16

    如何将包含空格的文件名作为参数传递给命令行程序?

  17. 17

    替换了Explorer.exe后如何将命令行args传递给我的应用程序

  18. 18

    如何将包含空格的文件名作为参数传递给命令行程序?

  19. 19

    如何将超过 10 个命令行参数传递给 jmeter 命令行运行?

  20. 20

    如何将XML文件内容作为命令行参数传递给Java命令?

  21. 21

    如何将XML文件内容作为命令行参数传递给Java命令?

  22. 22

    Shell脚本:如何将脚本的命令行参数传递给它调用的命令?

  23. 23

    在 uefi 模式下更改的内核引导命令行

  24. 24

    如何将数组传递给OpenCL内核?

  25. 25

    如何将参数传递给ruby命令行脚本

  26. 26

    如何将命令行特定的参数传递给批处理文件?

  27. 27

    如何将命令行参数传递给C函数

  28. 28

    如何将Scala命令行参数传递给Java方法?

  29. 29

    如何将命令行参数传递给在docker中运行的python脚本

热门标签

归档