// -*- mode:doc; -*- // vim: set syntax=asciidoc: === Recommended directory structure When customizing Buildroot for your project, you will be creating one or more project-specific files that need to be stored somewhere. While most of these files could be placed in _any_ location as their path is to be specified in the Buildroot configuration, the Buildroot developers recommend a specific directory structure which is described in this section. Orthogonal to this directory structure, you can choose _where_ you place this structure itself: either inside the Buildroot tree, or outside of it using +BR2_EXTERNAL+. Both options are valid, the choice is up to you. ----- +-- board/ | +-- / | +-- / | +-- linux.config | +-- busybox.config | +-- | +-- post_build.sh | +-- post_image.sh | +-- rootfs_overlay/ | | +-- etc/ | | +-- | +-- patches/ | +-- foo/ | | +-- | +-- libbar/ | +-- | +-- configs/ | +-- _defconfig | +-- package/ | +-- / | +-- Config.in (if not using BR2_EXTERNAL) | +-- .mk (if not using BR2_EXTERNAL) | +-- / | +-- package1/ | | +-- Config.in | | +-- package1.mk | +-- package2/ | +-- Config.in | +-- package2.mk | +-- Config.in (if using BR2_EXTERNAL) +-- external.mk (if using BR2_EXTERNAL) ------ Details on the files shown above are given further in this chapter. Note: if you choose to place this structure outside of the Buildroot tree using +BR2_EXTERNAL+, the and possibly components may be superfluous and can be left out.