如何修改用于包开发的Buildroot包的源代码?

时间:2016-10-30 21:14:59

标签: linux toolchain buildroot uclibc

我一直在使用 buildroot 来使用 uclibc 构建工具链。现在, buildroot 下载所有软件包,提取它们并构建所有软件包..

我想更改工具链的 uclibc 源代码,然后使用新的源代码重新编译工具链,我只是无法理解如何以漂亮的方式完成它。

完成构建后,所有提取的源都可以在“< buildroot-src> / output / build ”中找到。但是改变它们不会给我一个东西,因为buildroot在构建时只使用这个目录作为中间件。

所以我的想法是,也许更改 uclibc 包中的.mk文件并使其使用我修改后的源代码而不是下载并解压缩它(不确定是否可以在那里完成)但是这似乎有点丑陋的解决方案..

所以我的问题是:有没有更好的方法告诉buildroot使用现有的源构建一个包?

2 个答案:

答案 0 :(得分:3)

请阅读the Buildroot manual有关(a -> b)功能的信息。它完全符合您的要求。

答案 1 :(得分:1)

最小的git子模块+ *_OVERRIDE_SRCDIR示例

文档解释它,但这是一个更快解析版本。

目录结构:

  • buildroot/:git submodule with buildroot 2017.02

  • linux/:git子模块,Linux内核指向您的分叉https://github.com/you/linux

  • buildroot_override:包含:

    LINUX_OVERRIDE_SRCDIR = ../linux
    

构建并运行:

cd buildroot
make qemu_x86_64_defconfig
echo 'BR2_PACKAGE_OVERRIDE_FILE=../buildroot_override' >> .config
make
qemu-system-x86_64 -M pc -kernel output/images/bzImage -drive file=output/images/rootfs.ext2,if=virtio,format=raw -append root=/dev/vda -net nic,model=virtio -net user

这是an example project using it