build 中的内核

命令行选项

内核命令行选项使用 kernel_cmdline 模板进行声明:

import("//build/zbi/kernel_cmdline.gni")

kernel_cmdline("foobar") {
  args = [ "foobar=true" ]
}

一个目标可能包含多个选项:

import("//build/zbi/kernel_cmdline.gni")

kernel_cmdline("debug") {
  args = [
    "debug.this=true",
    "debug.that=false",
  ]
}

然后,应通过 GN 参数将生成的 GN 标签插入 build 图。请注意,如果选项位于此类 GN 参数定义的依赖关系树中,则系统会考虑这些选项。

在面板或产品文件中指定选项

boardproduct 文件中,将所需 cmdline 选项的标签分别添加到 board_bootfs_labelsproduct_bootfs_labels

如需更改 zedboot 或 recovery build 的内核选项,请将标签分别添加到 board_zedboot_bootfs_labelsboard_recovery_bootfs_labels

在本地指定选项

对于本地开发,可以在 dev_kernel_cmdline GN 变量中指定应附加到内核命令行的字符串列表,如下所示:

fx set ... --args='dev_kernel_cmdline=["my_option=value"]'

或者,也可以通过运行 fx args 并添加或修改一行代码来修改现有的 args.gn 文件,如下所示:

dev_kernel_cmdline = [
  "my_option=value"
]

如需在本地更改 zedboot 或 recovery build 的内核选项,可分别使用变量 dev_zedboot_kernel_cmdlinedev_recovery_kernel_cmdline