Buildroot - 从树中提取自定义 board/buildroot config/kernel 配置

Buildroot - extract a custom board/buildroot config/kernel config out of tree

我已经用新板定制了 buildroot(源自 raspberry pi 零)。所以我的更改是(在树中):

.config
board/passkeeper/genimage-passkeeper.cfg
board/passkeeper/post-build.sh
board/passkeeper/post-image.sh
board/passkeeper/rootfs_overlay/etc/init.d/S41passkeeper
board/passkeeper/rootfs_overlay/etc/mdev.conf
board/passkeeper/rootfs_overlay/etc/udhcpd.conf
configs/passkeeper_defconfig
output/build/linux-custom/.config

现在,阅读文档 - 我对如何通过 BR2_EXTERNAL 将所有这些东西放入单独的文件夹感到有点困惑。另外我不确定如何从 output/build/linux-custom/.config

移动 linux 配置
make linux-update-defconfig BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE=/tmp/passkeeper/linux/linux-config

结果

Unable to perform linux-update-defconfig when using a defconfig rule

有人可以提供这方面的分步指南吗?

[你问了两个问题。我将只回答有关保存 linux .config 文件的问题;另一个问题太笼统了。]

需要在menuconfig中设置合适的选项,不能只在命令行覆盖,否则不一致

基于预先存在的树内 defconfig 创建 linux defconfig 的过程如下。您已经完成了步骤 1、2 和 3。

  1. 在 Buildroot 配置中,select BR2_LINUX_KERNEL_USE_DEFCONFIGBR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG.
  2. 运行 make linux-menuconfig 并根据您的需要调整 linux 配置。
  3. 构建并测试,迭代 2 直到获得所需的配置。
  4. 在 Buildroot 配置中,切换到 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG 并将 BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE 设置为您要保存它的位置(通常是 board/passkeeper/linux.config$(BR2_EXTERNAL_PASSKEEPER)/board/passkeeper/linux.config 如果您使用外部)。
  5. 运行make linux-update-defconfig。在执行任何其他操作之前执行此操作非常重要,否则 Buildroot 会抱怨该文件不存在。