How to modify the source of Buildroot packages for package development?

时光怂恿深爱的人放手 提交于 2020-01-27 04:34:08

问题


I've been using buildroot in order to build a toolchain using uclibc. Now, buildroot downloads all the packages, extract them and build them all..

I want to change the toolchain's uclibc source and then recompile the toolchain with the new source and i just can't understand how it can be done in the pretty way..

After it finishes building, all of the extracted sources are found in the "<buildroot-src>/output/build". But changing them won't give me a thing because buildroot only uses this directory as an intermediate during build time.

So my thought was, maybe changing the .mk file in the uclibc package and make it use my modified source instead of downloading and extracting it (not yet sure if it can be done there) but that seems a bit ugly solution..

So my question is this: Is there any better way of telling buildroot to build a package using existing source?


回答1:


Please read the Buildroot manual about the <pkg>_OVERRIDE_SRCDIR functionality. It does exactly what you are looking for.




回答2:


Minimal git submodule + *_OVERRIDE_SRCDIR example

Docs explain it, but here is a faster to parse version.

Directory structure:

  • buildroot/: git submodule with buildroot 2017.02

  • linux/: git submodule with Linux kernel pointing to your fork at https://github.com/you/linux

  • buildroot_override: contains:

    LINUX_OVERRIDE_SRCDIR = ../linux
    

Build and run:

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

Here is an example project using it.



来源:https://stackoverflow.com/questions/40333695/how-to-modify-the-source-of-buildroot-packages-for-package-development

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!