Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux kernel 在内核内编辑内核命令行参数_Linux Kernel_Embedded Linux_U Boot - Fatal编程技术网

Linux kernel 在内核内编辑内核命令行参数

Linux kernel 在内核内编辑内核命令行参数,linux-kernel,embedded-linux,u-boot,Linux Kernel,Embedded Linux,U Boot,U-boot传递内核命令行参数。在我的需求中,我想在内核源代码树中编辑这些参数,而不想更改U-boot代码。我使用的是2.6.35内核 所以请指导我检查内核源代码的哪一部分 遵循以下步骤: 输入内核配置,方法是键入makemenuconfig 输入“处理器类型和功能”菜单 启用内置内核命令行 通过单击内置内核命令字符串指定命令行 如果希望忽略bootargs,请选择内置命令行覆盖引导加载程序参数 遵循以下步骤: 输入内核配置,方法是键入makemenuconfig 输入“处理器类型和功能”菜

U-boot传递内核命令行参数。在我的需求中,我想在内核源代码树中编辑这些参数,而不想更改U-boot代码。我使用的是2.6.35内核

所以请指导我检查内核源代码的哪一部分

遵循以下步骤:

  • 输入内核配置,方法是键入
    makemenuconfig
  • 输入“处理器类型和功能”菜单
  • 启用内置内核命令行
  • 通过单击内置内核命令字符串指定命令行
  • 如果希望忽略
    bootargs
    ,请选择内置命令行覆盖引导加载程序参数
遵循以下步骤:

  • 输入内核配置,方法是键入
    makemenuconfig
  • 输入“处理器类型和功能”菜单
  • 启用内置内核命令行
  • 通过单击内置内核命令字符串指定命令行
  • 如果希望忽略
    bootargs
    ,请选择内置命令行覆盖引导加载程序参数

如果从内核配置:-

+CONFIG_CMDLINE="foo=1"
+CONFIG_CMDLINE_EXTEND=y

Check runtime:-
$cat /proc/cmdline

如果从内核配置:-

+CONFIG_CMDLINE="foo=1"
+CONFIG_CMDLINE_EXTEND=y

Check runtime:-
$cat /proc/cmdline

谢谢你的回复。似乎默认配置文件中定义的CONFIG_CMDLINE显示在make menuconfig(选择启动选项)中。我必须根据GPIO值在运行时进行更改。什么是“在运行时更改”?内核配置中有一个编译时选项。如果您需要运行时更改,最好了解如何更改bootargs参数(例如,让U-boot通过适当的运行时脚本检查GPIO),在内核运行时,我必须修改内核命令行。示例:假设“console=ttyS0”是在CONFIG\u CMDLINE中定义的,那么如果gpio值为1,我必须更改为“console=ttyS1”,否则为“console=ttyS0”。一旦内核启动,就不能更改引导命令行。你需要找到一个不同的策略。U-boot允许运行脚本(即程序)。您可以在RAM中加载U-boot中的程序,该程序检查GPIO,然后更改bootargs参数。这很简单,不需要你修改U-Boot的源代码。谢谢你的回复。似乎默认配置文件中定义的CONFIG_CMDLINE显示在make menuconfig(选择启动选项)中。我必须根据GPIO值在运行时进行更改。什么是“在运行时更改”?内核配置中有一个编译时选项。如果您需要运行时更改,最好了解如何更改bootargs参数(例如,让U-boot通过适当的运行时脚本检查GPIO),在内核运行时,我必须修改内核命令行。示例:假设“console=ttyS0”是在CONFIG\u CMDLINE中定义的,那么如果gpio值为1,我必须更改为“console=ttyS1”,否则为“console=ttyS0”。一旦内核启动,就不能更改引导命令行。你需要找到一个不同的策略。U-boot允许运行脚本(即程序)。您可以在RAM中加载U-boot中的程序,该程序检查GPIO,然后更改bootargs参数。这很容易,而且不需要您修改U-Boot的源代码。