Difference between revisions of "Buildroot"

From eLinux.org
Jump to: navigation, search
(Documentation)
(Important links: Add language package managers)
(133 intermediate revisions by 22 users not shown)
Line 3: Line 3:
 
== Important links ==
 
== Important links ==
  
* [http://www.buildroot.org Buildroot main page]
+
* [https://www.buildroot.org Buildroot main page]
* [http://bugs.uclibc.org Bug tracker]
+
* [https://bugs.uclibc.org Bug tracker]
 
* [http://autobuild.buildroot.org Autobuilders results]
 
* [http://autobuild.buildroot.org Autobuilders results]
* [http://patchwork.ozlabs.org/project/buildroot/list/ Project patchwork]
+
* [https://patchwork.ozlabs.org/project/buildroot/list/ Project patchwork]
 +
* [[Buildroot:ReproducibleBuilds | The reproducible builds work]]
 +
* [[Buildroot:Top_Level_Parallel_Build | The top-level parallel build work]]
 +
* [[Buildroot:Security_Vulnerability_Management | Security Vulnerability Management]]
 +
* [[Buildroot:Language_package_managers_and_dependencies | Language package managers and downloading dependencies (go mod, cargo, php compose)]]
  
 
== Developer days ==
 
== Developer days ==
  
 
Upcoming:
 
Upcoming:
* [[Buildroot:DeveloperDaysFOSDEM2014 | Buildroot Developer Days]], 3-4 February 2014, Brussels, Belgium, after FOSDEM.
+
* [[Buildroot:RegularVirtualMeeting | Regular virtual meeting]], starting September 2020
  
 
Past:
 
Past:
 +
* [[Buildroot:VirtualDeveloperDaysSummer2020 | Virtual Buildroot Developer Days]], July 27, August 28, August 29, 2020
 +
* [[Buildroot:DeveloperDaysFOSDEM2020 | Buildroot Developer Days]], 3-5 February 2020, Brussels, Belgium, after [http://fosdem.org FOSDEM]
 +
* [[Buildroot:DeveloperDaysELCE2019 | Buildroot Developer Days]], 25-27 October 2019, Lyon, France, before [https://events19.linuxfoundation.org/events/embedded-linux-conference-europe-2019/ ELCE]
 +
* [[Buildroot:DeveloperDaysFOSDEM2019 | Buildroot Developer Days]], 4-6 February 2019, Brussels, Belgium, after [http://fosdem.org FOSDEM]
 +
* [[Buildroot:DeveloperDaysELCE2018 | Buildroot Developer Days]], 20-21 October 2018, Edinburgh, UK, before [https://events.linuxfoundation.org/events/elc-openiot-europe-2018/ ELCE]
 +
* [[Buildroot:DeveloperDaysFOSDEM2018 | Buildroot Developer Days]], 5-6 February 2018, Brussels, Belgium, after [http://fosdem.org FOSDEM]
 +
* [[Buildroot:DeveloperDaysELCE2017 | Buildroot Developer Days]], 21-22 October 2017, Prague, Czech Republic, before [http://events.linuxfoundation.org/events/embedded-linux-conference-europe ELCE].
 +
* [[Buildroot:DeveloperDaysFOSDEM2017 | Buildroot Developer Days]], 6-7 February 2017, Brussels, Belgium, after [http://fosdem.org FOSDEM]
 +
* [[Buildroot:DeveloperDaysELCE2016 | Buildroot Developer Days]], 14-16 October 2016, Berlin, Germany, after [http://events.linuxfoundation.org/events/embedded-linux-conference-europe ELCE].
 +
* [[Buildroot:DeveloperDaysFOSDEM2016 | Buildroot Developer Days]], 1-2 February 2016, Brussels, Belgium, after [http://fosdem.org FOSDEM]
 +
* [[Buildroot:DeveloperDaysELCE2015 | Buildroot Developer Days]], 3-4 October 2015, Dublin, Ireland, before ELC-E ([http://elinux.org/index.php?title=Buildroot:DeveloperDaysELCE2015#Report report]).
 +
* [[Buildroot:DeveloperDaysFOSDEM2015 | Buildroot Developer Days]], 2-3 February 2015, Brussels, Belgium, after FOSDEM.
 +
* [[Buildroot:DeveloperDaysELCE2014 | Buildroot Developer Days]], 11-12 October 2014, Düsseldorf, Germany, before ELC-E.
 +
* [[Buildroot:DeveloperDaysFOSDEM2014 | Buildroot Developer Days]], 3-4 February 2014, Brussels, Belgium, after FOSDEM.
 
* [[Buildroot:DeveloperDaysELCE2013 | Buildroot Developer Days]], 26-27 October 2013, Edinburgh UK, after ELC-E.
 
* [[Buildroot:DeveloperDaysELCE2013 | Buildroot Developer Days]], 26-27 October 2013, Edinburgh UK, after ELC-E.
 
* [[Buildroot:DeveloperDaysFOSDEM2013 | Buildroot Developer Days]], 4-5 February 2013, Brussels Belgium, after FOSDEM.
 
* [[Buildroot:DeveloperDaysFOSDEM2013 | Buildroot Developer Days]], 4-5 February 2013, Brussels Belgium, after FOSDEM.
Line 19: Line 37:
 
* Buildroot Developer Days, 3 February 2012, Brussels Belgium, before FOSDEM ([http://lists.busybox.net/pipermail/buildroot/2012-February/050371.html report])
 
* Buildroot Developer Days, 3 February 2012, Brussels Belgium, before FOSDEM ([http://lists.busybox.net/pipermail/buildroot/2012-February/050371.html report])
 
* Buildroot Developer Days, 29 October 2011, Prague, Czech Republic, after ELCE ([http://lists.busybox.net/pipermail/buildroot/2011-November/047229.html report])
 
* Buildroot Developer Days, 29 October 2011, Prague, Czech Republic, after ELCE ([http://lists.busybox.net/pipermail/buildroot/2011-November/047229.html report])
 +
 +
== Talks ==
 +
 +
This section gathers the list of talks given about Buildroot, as well as the slides and video when available.
 +
 +
Past:
 +
* [https://elciotna18.sched.com/event/E4qS/buildroot-whats-new-thomas-petazzoni-bootlin-formerly-free-electrons Buildroot: What's New?], Thomas Petazzoni, Embedded Linux Conference, 12-14 March, Portland, Oregon. [https://bootlin.com/pub/conferences/2018/elc/petazzoni-buildroot-whats-new/petazzoni-buildroot-whats-new.pdf Slides], [https://www.youtube.com/watch?v=D6zO4nMX9KY Video].
 +
* [https://osseu17.sched.com/event/ByYU/buildroot-whats-new-thomas-petazzoni-free-electrons Buildroot: What's New?], Thomas Petazzoni, Embedded Linux Conference Europe, 23-25 October, Prague, Czech Republic. [https://elinux.org/images/b/bb/Elce2017-petazzoni-buildroot-whats-new.pdf Slides], [https://youtu.be/839WOdYPYuE Video].
 +
* [https://osseu17.sched.com/event/ByYX/buildroot-making-embedded-linux-easy-a-real-life-example-yann-morin-orange Buildroot: Making Embedded Linux Easy? A Real-Life Example], Yann E. MORIN, Embedded Linux Conference Europe, 23-25 October, Prague, Czech Republic. [https://elinux.org/images/8/8e/2017-10-24_-_ELCE-Buildroot.pdf Slides], [https://youtu.be/SN2hYO2rYtk Video].
 +
* [http://sched.co/3y4O Tutorial: Learning the Basics of Buildroot], Thomas Petazzoni, Embedded Linux Conference Europe, October 5 - 7, 2015, Dublin, Ireland. [https://elinux.org/images/1/1e/Petazzoni-buildroot-tutorial.pdf Slides], [https://www.youtube.com/watch?v=1PfthHCfudY Video].
 +
* "Buildroot: a deep dive into the core", Thomas Petazzoni, Embedded Linux Conference Europe, 13-15 October 2014, Düsseldorf, Germany. [http://events.linuxfoundation.org/sites/events/files/slides/petazzoni-dive-into-buildroot-core.pdf Slides].
 +
* [http://elcabsna2014.sched.org/event/ce9732e662300bace37607a6adacf82b Buildroot: what's new], Thomas Petazzoni, Embedded Linux Conference, 1 May 2014, San Jose, United States. [http://elinux.org/images/1/1d/Petazzoni-buildroot-whats-new.pdf Slides], [http://free-electrons.com/pub/video/2014/elc/elc-2014-thomas-petazzoni-buildroot.webm HD video], [http://free-electrons.com/pub/video/2014/elc/elc-2014-thomas-petazzoni-buildroot-450p.webm Low-res video], [http://events.linuxfoundation.org/sites/events/files/Buildroot%20What%27s%20New%20-%20Thomas%20Petazzoni-%20Free%20Electrons.mp3 Audio only]
 +
* "Buildroot: what is new", Peter Korsgaard, Embedded Linux Conference Europe, 25 October 2013, Edinburgh, UK. [http://elinux.org/images/2/23/Buildroot-whats-new-elce2013.pdf Slides], [https://www.youtube.com/watch?v=0G_yJ50RA3I Video].
 +
 +
==Accounting==
 +
 +
This section gathers all the income and expenses of the Buildroot project.
 +
 +
Current balance: + €381.04
 +
 +
* 2015-01-08: + €423.14 : Google paid €423.14 ($500) for mentoring a student for the GSoC 2014
 +
* 2016-02-07: - € 42.10 : thank-you gift to Niel for helping host the DevDays in Brussels the past few years (T-Shirt: €24.50, Mug: €10.00, shipping: €14.50, rebate: €6.90)
 +
 +
''Notes: until we have a legal entity representing Buildroot, that money is held by Yann E. MORIN on behalf the Buildroot project. Accounting is handled in Euro. Update 2017-05-14: funds have been transfered to the association's account.''
  
 
==List of forks==
 
==List of forks==
  
* [https://github.com/nezticle/RaspberryPi-BuildRoot]. A Rasberry-Pi related fork.
+
* [https://github.com/openil/openil OpenIL]. OpenIL is an open source project based on Buildroot and designed for embedded industrial solution.
* [https://github.com/albertd/buildroot-rpi]. Another RPi related fork, with a lot of focus on Qt5 and GStreamer.
+
* [https://github.com/nezticle/RaspberryPi-BuildRoot Bsquask SDK]. A Rasberry-Pi related fork.
 +
* [https://github.com/NextThingCo/CHIP-buildroot C.H.I.P. Buildroot] NextThing fork for the 9$ computer
 +
* [https://github.com/NextThingCo/gadget-buildroot Gadget Buildroot] Yet another NextThing fork
 +
* [https://github.com/albertd/buildroot-rpi]. Another RPi related fork, with a lot of focus on Qt5 and GStreamer (appears to be defunct).
 +
* [https://github.com/Openwide-Ingenierie/buildroot-submodule Buildroot Submodule]. Not a fork, but a convenience layer on top of buildroot.
 +
* [http://ymorin.is-a-geek.org/git/buildroot.config/ Experimental 'shell' around Buildroot]. Another wrapper around Buildroot, to help manage projects.
  
 
==Todo list==
 
==Todo list==
Line 29: Line 76:
 
This is a list of improvements that we would like to see in buildroot.  Feel free to add suggestions here.  If you're working on one of these items, put your name and the date behind it, to avoid duplicate work.
 
This is a list of improvements that we would like to see in buildroot.  Feel free to add suggestions here.  If you're working on one of these items, put your name and the date behind it, to avoid duplicate work.
  
There are a number of patches that have been determined to be useful but for various reasons nobody currently has time to review or test them. Anybody, especially people new to buildroot, is welcome to adopt these patches. These patches can be viewed by looking at the following link - http://patchwork.ozlabs.org/project/buildroot/list/?state=1&delegate=7151
+
There are a number of patches that have been determined to be useful but for various reasons nobody currently has time to review or test them. Anybody, especially a person new to buildroot, is welcome to adopt these patches and resubmit them to the mailing list. These patches can be viewed by looking at the following link - http://patchwork.ozlabs.org/project/buildroot/list/?state=1&delegate=7151
  
 
=== Packages ===
 
=== Packages ===
  
* Create a package for the x86-video-fbturbo driver. See https://github.com/ssvb/xf86-video-fbturbo.
+
'''Note: if you start working on any of these packages, please edit this section to indicate it. If the package is proposed in a bug report, please also update the bug report. Sending a mail to the mailing list also never hurts, you never know that someone else started working on it without following this guideline.'''
* Create a package for the Qt5 Cinematic Experience demonstration. See http://quitcoding.com/?page=work.
+
 
 +
==== Important ====
 +
 
 +
* At package: Merge Request for Buildroot patches is discussed here: https://salsa.debian.org/debian/at/merge_requests
 +
* Update udisks. Currently Giulio Benetti is working on this and its dependencies. New required dependencies follow:
 +
** libblockdev. Its missing dependencies are:
 +
*** gobject-introspection => Adam Duskett pending patch series: https://patchwork.ozlabs.org/project/buildroot/list/?series=157909
 +
*** libbytesize => Giulio Benetti ready to be submitted patch: https://github.com/giuliobenetti/buildroot/commit/188ba05f652bf11157137f536fc1fc3819d76d2e
 +
*** volume_key => Giulio Benetti ready to be submitted patch: https://github.com/giuliobenetti/buildroot/commit/d3aa9d4b030e8641aaac936ec70a262043992ac3
 +
 
 +
==== Nice to have ====
 +
 
 
* Create a package for the Qt5 demo/benchmark application at https://github.com/prabindh/xgxperf.
 
* Create a package for the Qt5 demo/benchmark application at https://github.com/prabindh/xgxperf.
* Bump Valgrind to 3.9.0. This allows to enable MIPS32 and MIPS64 support.
+
* Packages proposed in bug reports (often with patch)
* Switch the procps package to use http://sourceforge.net/projects/procps-ng/ which is the new active upstream.
+
** openvz https://bugs.busybox.net/show_bug.cgi?id=405
* Remove the texinfo package, no longer needed after ct-ng backend removal
+
** rdiff-backup https://bugs.busybox.net/show_bug.cgi?id=1309 [Shaym Saini <mayhs11saini@gmail.com> is working on this]
* Create a package for WebkitNix. See https://github.com/WebKitNix/webkitnix.
+
** wxWidgets https://bugs.busybox.net/show_bug.cgi?id=261
 +
* Create a package for UnixBench benchmark suite at https://github.com/kdlucas/byte-unixbench.
 +
* uwsgi => Adam Duskett pending patch series: https://patchwork.ozlabs.org/project/buildroot/list/?series=144709&state=%2A&archive=both
 +
 
 +
=== Toolchain ===
 +
 
 +
* Add the support for the x86-64 x32 capable toolchain. See http://patchwork.ozlabs.org/patch/561904/
 +
* Add the support for the Aarch64 ilp32 capable toolchain (for now the gcc/binutils/glibc upstream support is not ready yet). See http://lists.busybox.net/pipermail/buildroot/2015-August/137356.html, http://patchwork.ozlabs.org/patch/506803/, http://patchwork.ozlabs.org/patch/506800/, http://patchwork.ozlabs.org/patch/506801/
  
 
=== Documentation ===
 
=== Documentation ===
  
* [[Buildroot how to contribute | Document how to contribute]] (patches to list instead of bugzilla, SOB, formatting rules, acked-by and tested-by, how often to repost, what to expect, CC's, ...) [[Buildroot how to contribute | basic guide]]  
+
* [[Buildroot how to contribute | Document how to contribute]] (how often to repost, what to expect, ...) [[Buildroot how to contribute | basic guide]]  
* Document how a package patch should be formatted (Comment, SOB, file naming rules, ...) + send upstream + CC sendpatches
+
* Document that package patches should be sent upstream
* In documentation, explain how to report a bug
 
* Upgrade the buildroot website (ThomasP has a mockup of a new website)
 
  
=== Build/release infrastructure ===
+
=== Core Buildroot infrastructure ===
  
* Peter sets up a planet on whatever server and links to it from buildroot website
+
* Investigate adding support for [https://github.com/icecc ICECC]. See also https://www.pengutronix.de/en/2018-09-13-fixing-icecc.html.
  
=== Core Buildroot infrastructure ===
+
* Make it possible to use kernel headers that are more recent than the options we have in Buildroot. Cfr. Arnout's comment in http://patchwork.ozlabs.org/patch/1096256.
 +
 
 +
* Several improvements are possible in the download infrastructure (even after all the improvements that were already done):
 +
** Rename the downloaded files so they include the package name and version. Special care has to be taken for primary and secondary sites, and for extra downloads (including patches).
 +
** Split between FOO_SITE and FOO_SOURCE shouldn't be necessary. Or it could be made optional, i.e. make it possible to specify the full path in FOO_SOURCE.
 +
 
 +
* Locale handling is broken: it doesn't take into account the alias file when purging aliases. See [http://lists.busybox.net/pipermail/buildroot/2013-December/084724.html this mail from patchwork cleanup #3] and [http://patchwork.ozlabs.org/patch/188623/ this patch that also fixes a locale problem, but not everything]. Tests for this are also required.
  
 
* It would be nice to add a br-configure script in host/usr/bin for autotools-based packages.  Run ...BUILDROOTSDK/usr/bin/br-configure --enable-foo --disable-bar, and the br-configure script would call the ./configure script in the current directory passing all the right options (--host, and all environment variables CC, LD, AS, AR and such).
 
* It would be nice to add a br-configure script in host/usr/bin for autotools-based packages.  Run ...BUILDROOTSDK/usr/bin/br-configure --enable-foo --disable-bar, and the br-configure script would call the ./configure script in the current directory passing all the right options (--host, and all environment variables CC, LD, AS, AR and such).
  
* Make the HOST-directory a relocatable SDK:
+
* Add instrumentation scripts to analyse package installed files:
** Make sure that all binaries and libraries built for the host are built with a rpath pointing to host/usr/lib. Normally, this should already be the case, but it's worth checking.
+
** find libraries with wrong RPATH/RUNPATH tags
** Change the rpath value to $ORIGIN/../lib instead of the current absolute path $(O)/host/usr/lib.
+
** detect unused .so libs (eg. shared libs that are not DT_NEEDED by anything - note: only detect those libs, don't remove: can be used as plugin (dlopen), or used by an application built outside Buildroot)
** Modify the compiler wrapper program of external toolchains so that instead of using a fixed location for the compiler tools, it deduces their location in a relative manner from its current location.
+
 
** Modify/patch pkg-config so that instead of having a fixed location for the PKG_CONFIG_PATH and PKG_CONFIG_SYSROOT_DIR, those are deduced from the location of the pkg-config binary. This will allow a pkg-config binary that has been moved to still operate properly, without having to set any environment variable.
+
* A script that checks consistency of depends/select for packages. Maybe it can be integrated to the current check-package.
** Write a shell script, installed in host/usr/bin, which would mungle the libtool .la files, the qmake.conf file and the CMake toolchain file to set the correct path. This script reads a file (can be host/usr/share/buildroot/location) which contains the original location of the SDK. This allows the script to do the right modifications on all the libtool, qmake.conf and cmake files. Once this is done, the script changes the host/usr/share/buildroot/location file so that it contains the new location.
+
 
** Modify the external toolchain wrapper so that it bails out and warns the user if the directory it is executed in doesn't match the location of host/usr/share/buildroot/location. We haven't discussed how this could work with internal and crosstool-NG toolchains, though.
+
* [[Buildroot:SecurityHardening | Security Hardening]]
  
* Properly detect thread and TLS support in external toolchains, or make TLS knob driven by thread availability in the toolchain. See the discussion in http://patchwork.ozlabs.org/patch/288051/ as reference)
+
=== Testing infrastructure ===
  
* Add intrumentation scripts to analyse package installed files:
+
* Fix run-tests to use a config file for download and output directories, can be overridden in the environment
** identify what package installed what files, identify files overriden by a later package
+
* Documentation on how to add a test, including naming convention
** find libraries with wrong RPATH/RUNPATH tags
 
** detect unused .so libs (eg. shared libs that are not DT_NEEDED by anything - note: only detect those libs, don't remove: can be used as plugin (dlopen), or used by an pplication built outside Buidlroot)
 
  
 
=== TODO items under discussion ===
 
=== TODO items under discussion ===
Line 78: Line 145:
 
* It would be nice if you could run a buildroot command that prepares a local copy of a package's source, and allows you to generate patches for it later. This could use git or quilt to keep track of the patches.
 
* It would be nice if you could run a buildroot command that prepares a local copy of a package's source, and allows you to generate patches for it later. This could use git or quilt to keep track of the patches.
 
* It would be nice if there was a make target to reinstall everything to the target (i.e. remove all the target-installed stamps, remove the root stamp, maybe remove the target too).  However, what is missing is the copying of the toolchain support files (libc.so etc.).  It's not obvious that this can be done in a reliable way.
 
* It would be nice if there was a make target to reinstall everything to the target (i.e. remove all the target-installed stamps, remove the root stamp, maybe remove the target too).  However, what is missing is the copying of the toolchain support files (libc.so etc.).  It's not obvious that this can be done in a reliable way.
* It would be nice if there was some common infrastructure to combine the images into one final flash or SD card or whatever image. However, it is probably difficult to find the commonality of all the different use cases. And we don't even see all these use cases.
+
* To facilitate debugging, all packages should be installed to the staging directory. The target directory should in fact be a subset of the staging directory. See the FOSDEM 2013 discussion at http://elinux.org/Buildroot:DeveloperDaysFOSDEM2013, and the discussion around patch http://patchwork.ozlabs.org/patch/252718/. This is however a significant change in Buildroot, so probably difficult to implement, and will raise a number of quite complicated questions.
* The uninstall targets are pretty useless because they don't really work. Should we remove support for uninstall?
+
 
 +
=== Web site ===
 +
 
 +
Do we want to extend https://buildroot.org/support.html to promote consultants or companies that are involved in the development of Buildroot?
 +
Something like https://www.yoctoproject.org/community/consultants .
 +
What would be the selection criteria?

Revision as of 11:39, 15 September 2020

Buildroot is a nice, simple, and efficient embedded Linux build system.

Important links

Developer days

Upcoming:

Past:

Talks

This section gathers the list of talks given about Buildroot, as well as the slides and video when available.

Past:

Accounting

This section gathers all the income and expenses of the Buildroot project.

Current balance: + €381.04

  • 2015-01-08: + €423.14 : Google paid €423.14 ($500) for mentoring a student for the GSoC 2014
  • 2016-02-07: - € 42.10 : thank-you gift to Niel for helping host the DevDays in Brussels the past few years (T-Shirt: €24.50, Mug: €10.00, shipping: €14.50, rebate: €6.90)

Notes: until we have a legal entity representing Buildroot, that money is held by Yann E. MORIN on behalf the Buildroot project. Accounting is handled in Euro. Update 2017-05-14: funds have been transfered to the association's account.

List of forks

Todo list

This is a list of improvements that we would like to see in buildroot. Feel free to add suggestions here. If you're working on one of these items, put your name and the date behind it, to avoid duplicate work.

There are a number of patches that have been determined to be useful but for various reasons nobody currently has time to review or test them. Anybody, especially a person new to buildroot, is welcome to adopt these patches and resubmit them to the mailing list. These patches can be viewed by looking at the following link - http://patchwork.ozlabs.org/project/buildroot/list/?state=1&delegate=7151

Packages

Note: if you start working on any of these packages, please edit this section to indicate it. If the package is proposed in a bug report, please also update the bug report. Sending a mail to the mailing list also never hurts, you never know that someone else started working on it without following this guideline.

Important

Nice to have

Toolchain

Documentation

Core Buildroot infrastructure

  • Several improvements are possible in the download infrastructure (even after all the improvements that were already done):
    • Rename the downloaded files so they include the package name and version. Special care has to be taken for primary and secondary sites, and for extra downloads (including patches).
    • Split between FOO_SITE and FOO_SOURCE shouldn't be necessary. Or it could be made optional, i.e. make it possible to specify the full path in FOO_SOURCE.
  • It would be nice to add a br-configure script in host/usr/bin for autotools-based packages. Run ...BUILDROOTSDK/usr/bin/br-configure --enable-foo --disable-bar, and the br-configure script would call the ./configure script in the current directory passing all the right options (--host, and all environment variables CC, LD, AS, AR and such).
  • Add instrumentation scripts to analyse package installed files:
    • find libraries with wrong RPATH/RUNPATH tags
    • detect unused .so libs (eg. shared libs that are not DT_NEEDED by anything - note: only detect those libs, don't remove: can be used as plugin (dlopen), or used by an application built outside Buildroot)
  • A script that checks consistency of depends/select for packages. Maybe it can be integrated to the current check-package.

Testing infrastructure

  • Fix run-tests to use a config file for download and output directories, can be overridden in the environment
  • Documentation on how to add a test, including naming convention

TODO items under discussion

Here are some nice-to-have's for which it is not entirely clear if and how they could be implemented:

  • Out-of-tree builds, which allows the package source to be shared between different output directories and between host and target compiles.
  • It would be nice if you could run a buildroot command that prepares a local copy of a package's source, and allows you to generate patches for it later. This could use git or quilt to keep track of the patches.
  • It would be nice if there was a make target to reinstall everything to the target (i.e. remove all the target-installed stamps, remove the root stamp, maybe remove the target too). However, what is missing is the copying of the toolchain support files (libc.so etc.). It's not obvious that this can be done in a reliable way.
  • To facilitate debugging, all packages should be installed to the staging directory. The target directory should in fact be a subset of the staging directory. See the FOSDEM 2013 discussion at http://elinux.org/Buildroot:DeveloperDaysFOSDEM2013, and the discussion around patch http://patchwork.ozlabs.org/patch/252718/. This is however a significant change in Buildroot, so probably difficult to implement, and will raise a number of quite complicated questions.

Web site

Do we want to extend https://buildroot.org/support.html to promote consultants or companies that are involved in the development of Buildroot? Something like https://www.yoctoproject.org/community/consultants . What would be the selection criteria?