【问题标题】:Buildroot Config Option for applying custom patch用于应用自定义补丁的 Buildroot Config 选项
【发布时间】:2018-01-29 17:57:36
【问题描述】:

我是 buildroot 的新手,正在使用 buildroot 构建 Linaro。我有多个片段内核配置文件,并在 buildroot defconfig 中指定了这些文件。

我已经使用 BR2_LINUX_PATCH_DIR 指定了一个自定义内核补丁目录。

我没有设置一些应该存在于 .config 文件中的配置标志..所以我怀疑补丁已成功应用..所以我尝试将不存在的位置作为 Linux 补丁目录和它没有给出任何错误..

除了为 BR2_LINUX_PATCH_DIR 赋予价值以及 dir 结构的格式应该是什么之外,还有什么...在 buildroot 手册中它说应该是 Package_name/patch name..对于 linux,包名应该是什么?它应该与创建的 linux 目录相同。例如对我来说它是 linux-custom

请在这方面给我建议和指导。

提前致谢

【问题讨论】:

    标签: buildroot


    【解决方案1】:

    没有名为BR2_LINUX_PATCH_DIR 的选项名为BR2_LINUX_KERNEL_PATCH。它应用此选项中列出的所有补丁(如果这些是文件),或者如果此选项中给出的是目录,则应用所有名为 *.patch 的文件。查看 linux/linux.mk 中的代码:

    define LINUX_APPLY_LOCAL_PATCHES for p in $(filter-out ftp://% http://% https://%,$(LINUX_PATCHES)) ; do \ if test -d $$p ; then \ $(APPLY_PATCHES) $(@D) $$p \*.patch || exit 1 ; \ else \ $(APPLY_PATCHES) $(@D) `dirname $$p` `basename $$p` || exit 1; \ fi \ done endef

    另外,我建议您观看 Buildroot 的输出:它显示了它正在执行的所有操作,尤其是它列出了它应用的补丁。查看“>>> linux .... Patching”这一行,它是linux软件包修补步骤开始的标记。

    【讨论】:

    • 嗨,Thomas,我已经用 BR2_LINUX_KERNEL_PATCH 给出了补丁目录位置,但是查看日志似乎有问题,因为下面的代码也应该显示目录位置: for p in ;做 if test -d $p ;然后支持/scripts/apply-patches.sh
    • 现在,不会显示 dir 位置,但 Buildroot 会为每个应用的补丁显示一条消息。
    • 修改BR2_LINUX_KERNEL_PATCH后我不得不运行make linux-dirclean && make linux-rebuild
    猜你喜欢
    • 2011-12-29
    • 1970-01-01
    • 2021-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-13
    • 2021-01-21
    相关资源
    最近更新 更多