【问题标题】:How to create a defconfig file from a .config?如何从 .config 创建 defconfig 文件?
【发布时间】:2021-10-21 14:08:59
【问题描述】:

我已经为板defconfig 完成了make menuconfig 并修改了一些配置。当我选择保存时,在内核顶层目录中创建了一个新的.config

我想为这个创建的.config 文件创建新的defconfig

我可以将.config 复制为新的defconfig 并复制到arch/arm/configs/ 吗?

$ cp .config arch/arm/configs/board_new_defconfig

【问题讨论】:

  • 是的,复制文件就可以了。但是,由于defconfig's 的板配置最少,因此最好删除一些对您的板来说不是任意的CONFIG_XXXXXX

标签: linux-kernel embedded-linux kbuild archlinux-arm


【解决方案1】:

我认为您只需执行一个命令并根据需要使用创建的文件。

% make savedefconfig 
% cp defconfig arch/arm/configs/my_cool_defconfig

(注意用于defconfigfilename template

要获得所有可能的目标,只需运行

% make help

正如Adam MillerJeremy 所指出的,Buildroot 发行版的用户可以为此目的使用包装器,即(根据 Buildroot 手册,section 8.1):

  • linux-savedefconfig 用于linux
  • barebox-savedefconfig 用于barebox 引导加载程序
  • uboot-savedefconfig 用于U-Boot 引导加载程序

make savedefconfig minimizes the generated defconfig 跳过其他人暗示的冗余配置。

【讨论】:

  • 哈!我自己使用 my_kool_ 作为元变量!
  • linux-savedefconfig 怎么样?不是那些离散的 defconfigs,一个用于 buildroot 和所有附件包,一个用于 linux 内核本身吗?
  • 您可以:按照 buildroot 手册制作 linux-savedefconfig。我认为 make linux-menuconfig 和 linux-savedefconfig 就像 menuconfig 和 savedefconfig 目标一样对应,不是吗?
  • 请注意,此defconfig生成后会进行排序但不按字母顺序排序
  • "make linux-savedefconfig" 仅在您使用“buildroot”构建嵌入式 linux 时才有用,OP 没有提及。但是我在 AdamMiller 的评论中添加了 +1,因为这正是我想要的,其他 buildroot 用户可能会在这里结束。
【解决方案2】:

对于您的平台,在新的 defconfig 文件中,是的。事实上,这是创建新的 defconfig 最安全的方法。如果您从现有配置文件中手动删除配置条目以创建新配置条目,则可能会遇到依赖性问题,并且在构建期间,它可能会重新启动内核配置并提示您选择单个配置选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-26
    • 2020-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多