2

我一直在使用buildroot来使用uclibc构建工具链。现在,buildroot下载所有的包,解压并构建它们。

我想更改工具链的uclibc源,然后用新源重新编译工具链,我只是不明白如何以漂亮的方式完成它。

在它完成构建之后,所有提取的源代码都可以在“ <buildroot-src>/output/build ”中找到。但是更改它们不会给我任何东西,因为 buildroot 仅在构建期间将此目录用作中间目录。

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

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

4

2 回答 2

4

请阅读有关该功能的 Buildroot 手册。<pkg>_OVERRIDE_SRCDIR它完全符合您的要求。

于 2016-11-01T13:39:51.583 回答
1

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

文档对此进行了解释,但这里有一个解析速度更快的版本。

目录结构:

构建并运行:

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

这是一个使用它的示例项目

于 2017-07-08T09:38:12.623 回答