mirror of
https://git.busybox.net/buildroot.git
synced 2024-11-24 14:03:29 +08:00
9c09fc6017
Although the user is free to choose where to put project-specific files, the presentation 'Using Buildroot for real projects' [1] first described a certain recommendation. This patch briefly describes this recommendation in the form of a directory structure overview, the details will be added in subsequent patches. Since the section on BR2_EXTERNAL is logically connected to the directory structure, this section is moved right after it. [1] http://elinux.org/images/2/2a/Using-buildroot-real-project.pdf Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
59 lines
1.8 KiB
Plaintext
59 lines
1.8 KiB
Plaintext
// -*- 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/
|
|
| +-- <company>/
|
|
| +-- <boardname>/
|
|
| +-- linux.config
|
|
| +-- busybox.config
|
|
| +-- <other configuration files>
|
|
| +-- post_build.sh
|
|
| +-- post_image.sh
|
|
| +-- rootfs_overlay/
|
|
| | +-- etc/
|
|
| | +-- <some file>
|
|
| +-- patches/
|
|
| +-- foo/
|
|
| | +-- <some patch>
|
|
| +-- libbar/
|
|
| +-- <some other patches>
|
|
|
|
|
+-- configs/
|
|
| +-- <boardname>_defconfig
|
|
|
|
|
+-- package/
|
|
| +-- <company>/
|
|
| +-- Config.in (if not using BR2_EXTERNAL)
|
|
| +-- <company>.mk (if not using BR2_EXTERNAL)
|
|
| +-- <boardname>/
|
|
| +-- 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 <company> and possibly <boardname>
|
|
components may be superfluous and can be left out.
|