我一直在使用 buildroot 来使用 uclibc 构建工具链。现在, buildroot 下载所有软件包,提取它们并构建所有软件包..
我想更改工具链的 uclibc 源代码,然后使用新的源代码重新编译工具链,我只是无法理解如何以漂亮的方式完成它。
完成构建后,所有提取的源都可以在“< buildroot-src> / output / build ”中找到。但是改变它们不会给我一个东西,因为buildroot在构建时只使用这个目录作为中间件。
所以我的想法是,也许更改 uclibc 包中的.mk文件并使其使用我修改后的源代码而不是下载并解压缩它(不确定是否可以在那里完成)但是这似乎有点丑陋的解决方案..
所以我的问题是:有没有更好的方法告诉buildroot使用现有的源构建一个包?
答案 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