manual: use one-line titles instead of two-line titles (trivial)

Asciidoc supports two syntaxes for section titles: two-line titles (title
plus underline consisting of a particular symbol), and one-line titles
(title prefixed with a specific number of = signs).

The two-line title underlines are:
Level 0 (top level):     ======================
Level 1:                 ----------------------
Level 2:                 ~~~~~~~~~~~~~~~~~~~~~~
Level 3:                 ^^^^^^^^^^^^^^^^^^^^^^
Level 4 (bottom level):  ++++++++++++++++++++++

and the one-line title prefixes:
= Document Title (level 0) =
== Section title (level 1) ==

=== Section title (level 2) ===
==== Section title (level 3) ====
===== Section title (level 4) =====

The buildroot manual is currenly using the two-line titles, but this has
multiple disadvantages:

- asciidoc also uses some of the underline symbols for other purposes (like
  preformatted code, example blocks, ...), which makes it difficult to do
  mass replacements, such as a planned follow-up patch that needs to move
  all sections one level down.

- it is difficult to remember which level a given underline symbol (=-~^+)
  corresponds to, while counting = signs is easy.

This patch changes all two-level titles to one-level titles in the manual.
The bulk of the change was done with the following Python script, except for
the level 1 titles (-----) as these underlines are also used for literal
code blocks.
This patch only changes the titles, no other changes. In
adding-packages-directory.txt, I did add missing newlines between some
titles and their content.

----------------------------------------------------------------------------
#!/usr/bin/env python

import sys
import mmap
import re

for input in sys.argv[1:]:

    f = open(input, 'r+')
    f.flush()
    s = mmap.mmap(f.fileno(), 0)

    # Level 0 (top level):     ======================   =
    # Level 1:                 ----------------------   ==
    # Level 2:                 ~~~~~~~~~~~~~~~~~~~~~~   ===
    # Level 3:                 ^^^^^^^^^^^^^^^^^^^^^^   ====
    # Level 4 (bottom level):  ++++++++++++++++++++++   =====

    def replace_title(s, symbol, replacement):
        pattern = re.compile(r'(.+\n)\%s{2,}\n' % symbol, re.MULTILINE)
        return pattern.sub(r'%s \1' % replacement, s)

    new = s
    new = replace_title(new, '=', '=')
    new = replace_title(new, '+', '=====')
    new = replace_title(new, '^', '====')
    new = replace_title(new, '~', '===')
    #new = replace_title(new, '-', '==')

    s.seek(0)
    s.write(new)
    s.resize(s.tell())
    s.close()
    f.close()

----------------------------------------------------------------------------

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Thomas De Schampheleire 2014-05-02 07:47:30 +02:00 committed by Peter Korsgaard
parent 4e5515382d
commit 86a415df8a
56 changed files with 155 additions and 302 deletions

View File

@ -1,13 +1,11 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Infrastructure for autotools-based packages === Infrastructure for autotools-based packages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[autotools-package-tutorial]] [[autotools-package-tutorial]]
+autotools-package+ tutorial ==== +autotools-package+ tutorial
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
First, let's see how to write a +.mk+ file for an autotools-based First, let's see how to write a +.mk+ file for an autotools-based
package, with an example : package, with an example :
@ -67,8 +65,7 @@ package to be built.
[[autotools-package-reference]] [[autotools-package-reference]]
+autotools-package+ reference ==== +autotools-package+ reference
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The main macro of the autotools package infrastructure is The main macro of the autotools package infrastructure is
+autotools-package+. It is similar to the +generic-package+ macro. The ability to +autotools-package+. It is similar to the +generic-package+ macro. The ability to

View File

@ -1,13 +1,11 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Infrastructure for CMake-based packages === Infrastructure for CMake-based packages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[cmake-package-tutorial]] [[cmake-package-tutorial]]
+cmake-package+ tutorial ==== +cmake-package+ tutorial
^^^^^^^^^^^^^^^^^^^^^^^^
First, let's see how to write a +.mk+ file for a CMake-based package, First, let's see how to write a +.mk+ file for a CMake-based package,
with an example : with an example :
@ -66,8 +64,7 @@ package to be built.
[[cmake-package-reference]] [[cmake-package-reference]]
+cmake-package+ reference ==== +cmake-package+ reference
^^^^^^^^^^^^^^^^^^^^^^^^^
The main macro of the CMake package infrastructure is The main macro of the CMake package infrastructure is
+cmake-package+. It is similar to the +generic-package+ macro. The ability to +cmake-package+. It is similar to the +generic-package+ macro. The ability to

View File

@ -1,8 +1,7 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Conclusion === Conclusion
~~~~~~~~~~
As you can see, adding a software package to Buildroot is simply a As you can see, adding a software package to Buildroot is simply a
matter of writing a Makefile using an existing example and modifying it matter of writing a Makefile using an existing example and modifying it

View File

@ -1,8 +1,7 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Package directory === Package directory
~~~~~~~~~~~~~~~~~
First of all, create a directory under the +package+ directory for First of all, create a directory under the +package+ directory for
your software, for example +libfoo+. your software, for example +libfoo+.
@ -13,8 +12,7 @@ one of these categories, then create your package directory in these.
New subdirectories are discouraged, however. New subdirectories are discouraged, however.
+Config.in+ file === +Config.in+ file
~~~~~~~~~~~~~~~~
Then, create a file named +Config.in+. This file will contain the Then, create a file named +Config.in+. This file will contain the
option descriptions related to our +libfoo+ software that will be used option descriptions related to our +libfoo+ software that will be used
@ -52,8 +50,7 @@ source "package/libfoo/Config.in"
-------------------------- --------------------------
[[depends-on-vs-select]] [[depends-on-vs-select]]
Choosing +depends on+ or +select+ ==== Choosing +depends on+ or +select+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The +Config.in+ file of your package must also ensure that The +Config.in+ file of your package must also ensure that
dependencies are enabled. Typically, Buildroot uses the following dependencies are enabled. Typically, Buildroot uses the following
@ -164,8 +161,8 @@ Further formatting details: see xref:writing-rules-config-in[the
coding style]. coding style].
[[dependencies-target-toolchain-options]] [[dependencies-target-toolchain-options]]
Dependencies on target and toolchain options ==== Dependencies on target and toolchain options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Many packages depend on certain options of the toolchain: the choice of Many packages depend on certain options of the toolchain: the choice of
C library, C++ support, largefile support, thread support, RPC support, C library, C++ support, largefile support, thread support, RPC support,
IPv6 support, wchar support, or dynamic library support. Some packages IPv6 support, wchar support, or dynamic library support. Some packages
@ -268,8 +265,8 @@ use in the comment.
** Dependency symbol: +!BR2_PREFER_STATIC_LIB+ ** Dependency symbol: +!BR2_PREFER_STATIC_LIB+
** Comment string: +dynamic library+ ** Comment string: +dynamic library+
Dependencies on a Linux kernel built by buildroot ==== Dependencies on a Linux kernel built by buildroot
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Some packages need a Linux kernel to be built by buildroot. These are Some packages need a Linux kernel to be built by buildroot. These are
typically kernel modules or firmware. A comment should be added in the typically kernel modules or firmware. A comment should be added in the
Config.in file to express this dependency, similar to dependencies on Config.in file to express this dependency, similar to dependencies on
@ -285,8 +282,8 @@ kernel, use this format:
foo needs a toolchain w/ featA, featB, featC and a Linux kernel to be built foo needs a toolchain w/ featA, featB, featC and a Linux kernel to be built
-------------------------- --------------------------
Dependencies on udev /dev management ==== Dependencies on udev /dev management
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If a package needs udev /dev management, it should depend on symbol If a package needs udev /dev management, it should depend on symbol
+BR2_PACKAGE_HAS_UDEV+, and the following comment should be added: +BR2_PACKAGE_HAS_UDEV+, and the following comment should be added:
@ -301,8 +298,8 @@ management, use this format:
foo needs udev /dev management and a toolchain w/ featA, featB, featC foo needs udev /dev management and a toolchain w/ featA, featB, featC
-------------------------- --------------------------
The +.mk+ file === The +.mk+ file
~~~~~~~~~~~~~~
[[adding-packages-mk]] [[adding-packages-mk]]
Finally, here's the hardest part. Create a file named +libfoo.mk+. It Finally, here's the hardest part. Create a file named +libfoo.mk+. It

View File

@ -1,8 +1,7 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Infrastructure for packages with specific build systems === Infrastructure for packages with specific build systems
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
By 'packages with specific build systems' we mean all the packages By 'packages with specific build systems' we mean all the packages
whose build system is not one of the standard ones, such as whose build system is not one of the standard ones, such as
@ -11,8 +10,7 @@ system is based on hand-written Makefiles or shell scripts.
[[generic-package-tutorial]] [[generic-package-tutorial]]
+generic-package+ tutorial ==== +generic-package+ tutorial
^^^^^^^^^^^^^^^^^^^^^^^^^^
------------------------------ ------------------------------
01: ################################################################################ 01: ################################################################################
@ -159,8 +157,7 @@ Makefile code necessary to make your package working.
[[generic-package-reference]] [[generic-package-reference]]
+generic-package+ reference ==== +generic-package+ reference
^^^^^^^^^^^^^^^^^^^^^^^^^^^
There are two variants of the generic target. The +generic-package+ macro is There are two variants of the generic target. The +generic-package+ macro is
used for packages to be cross-compiled for the target. The used for packages to be cross-compiled for the target. The

View File

@ -1,8 +1,7 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Gettext integration and interaction with packages === Gettext integration and interaction with packages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Many packages that support internationalization use the gettext Many packages that support internationalization use the gettext
library. Dependencies for this library are fairly complicated and library. Dependencies for this library are fairly complicated and

View File

@ -2,8 +2,7 @@
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
[[hooks]] [[hooks]]
Hooks available in the various build steps === Hooks available in the various build steps
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The generic infrastructure (and as a result also the derived autotools The generic infrastructure (and as a result also the derived autotools
and cmake infrastructures) allow packages to specify hooks. and cmake infrastructures) allow packages to specify hooks.
@ -40,8 +39,7 @@ endef
LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP LIBFOO_POST_PATCH_HOOKS += LIBFOO_POST_PATCH_FIXUP
---------------------- ----------------------
Using the +POST_RSYNC+ hook ==== Using the +POST_RSYNC+ hook
^^^^^^^^^^^^^^^^^^^^^^^^^^^
The +POST_RSYNC+ hook is run only for packages that use a local source, The +POST_RSYNC+ hook is run only for packages that use a local source,
either through the +local+ site method or the +OVERRIDE_SRCDIR+ either through the +local+ site method or the +OVERRIDE_SRCDIR+
mechanism. In this case, package sources are copied using +rsync+ from mechanism. In this case, package sources are copied using +rsync+ from

View File

@ -1,13 +1,11 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Infrastructure for LuaRocks-based packages === Infrastructure for LuaRocks-based packages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[luarocks-package-tutorial]] [[luarocks-package-tutorial]]
+luarocks-package+ tutorial ==== +luarocks-package+ tutorial
^^^^^^^^^^^^^^^^^^^^^^^^^^^
First, let's see how to write a +.mk+ file for a LuaRocks-based package, First, let's see how to write a +.mk+ file for a LuaRocks-based package,
with an example : with an example :
@ -48,8 +46,7 @@ package to be built.
[[luarocks-package-reference]] [[luarocks-package-reference]]
+luarocks-package+ reference ==== +luarocks-package+ reference
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
LuaRocks is a deployment and management system for Lua modules, and supports LuaRocks is a deployment and management system for Lua modules, and supports
various +build.type+: +builtin+, +make+ and +cmake+. In the contetx of various +build.type+: +builtin+, +make+ and +cmake+. In the contetx of

View File

@ -1,13 +1,11 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Infrastructure for Perl/CPAN packages === Infrastructure for Perl/CPAN packages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[perl-package-tutorial]] [[perl-package-tutorial]]
+perl-package+ tutorial ==== +perl-package+ tutorial
^^^^^^^^^^^^^^^^^^^^^^^
First, let's see how to write a +.mk+ file for a Perl/CPAN package, First, let's see how to write a +.mk+ file for a Perl/CPAN package,
with an example : with an example :
@ -67,8 +65,7 @@ following things should be checked.
[[perl-package-reference]] [[perl-package-reference]]
+perl-package+ reference ==== +perl-package+ reference
^^^^^^^^^^^^^^^^^^^^^^^^
As a policy, packages that provide Perl/CPAN modules should all be As a policy, packages that provide Perl/CPAN modules should all be
named +perl-<something>+ in Buildroot. named +perl-<something>+ in Buildroot.

View File

@ -1,8 +1,7 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Infrastructure for Python packages === Infrastructure for Python packages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This infrastructure applies to Python packages that use the standard This infrastructure applies to Python packages that use the standard
Python setuptools mechanism as their build system, generally Python setuptools mechanism as their build system, generally
@ -10,8 +9,7 @@ recognizable by the usage of a +setup.py+ script.
[[python-package-tutorial]] [[python-package-tutorial]]
+python-package+ tutorial ==== +python-package+ tutorial
^^^^^^^^^^^^^^^^^^^^^^^^^
First, let's see how to write a +.mk+ file for a Python package, First, let's see how to write a +.mk+ file for a Python package,
with an example : with an example :
@ -61,8 +59,7 @@ built.
[[python-package-reference]] [[python-package-reference]]
+python-package+ reference ==== +python-package+ reference
^^^^^^^^^^^^^^^^^^^^^^^^^^
As a policy, packages that merely provide Python modules should all be As a policy, packages that merely provide Python modules should all be
named +python-<something>+ in Buildroot. Other packages that use the named +python-<something>+ in Buildroot. Other packages that use the

View File

@ -1,12 +1,10 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Tips and tricks === Tips and tricks
~~~~~~~~~~~~~~~
[[package-name-variable-relation]] [[package-name-variable-relation]]
Package name, config entry name and makefile variable relationship ==== Package name, config entry name and makefile variable relationship
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
In Buildroot, there is some relationship between: In Buildroot, there is some relationship between:
@ -36,8 +34,7 @@ using the following rules:
[[github-download-url]] [[github-download-url]]
How to add a package from github ==== How to add a package from github
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Packages on github often don't have a download area with release tarballs. Packages on github often don't have a download area with release tarballs.
However, it is possible to download tarballs directly from the repository However, it is possible to download tarballs directly from the repository

View File

@ -1,8 +1,7 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Infrastructure for virtual packages === Infrastructure for virtual packages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[virtual-package-tutorial]] [[virtual-package-tutorial]]
@ -16,16 +15,14 @@ The implementation of this API is different for the 'Allwinner Tech Sunxi' and
the 'Texas Instruments OMAP35xx' plaftorms. So +libgles+ will be a virtual the 'Texas Instruments OMAP35xx' plaftorms. So +libgles+ will be a virtual
package and +sunxi-mali+ and +ti-gfx+ will be the providers. package and +sunxi-mali+ and +ti-gfx+ will be the providers.
+virtual-package+ tutorial ==== +virtual-package+ tutorial
^^^^^^^^^^^^^^^^^^^^^^^^^^
In the following example, we will explain how to add a new virtual package In the following example, we will explain how to add a new virtual package
('something-virtual') and a provider for it ('some-provider'). ('something-virtual') and a provider for it ('some-provider').
First, let's create the virtual package. First, let's create the virtual package.
Virtual package's +Config.in+ file ==== Virtual package's +Config.in+ file
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The +Config.in+ file of virtual package 'something-virtual' should contain: The +Config.in+ file of virtual package 'something-virtual' should contain:
@ -42,8 +39,7 @@ In this file, we declare two options, +BR2_PACKAGE_HAS_SOMETHING_VIRTUAL+ and
+BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL+, whose values will be used by the +BR2_PACKAGE_PROVIDES_SOMETHING_VIRTUAL+, whose values will be used by the
providers. providers.
Virtual package's +*.mk+ file ==== Virtual package's +*.mk+ file
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The +.mk+ for the virtual package should just evaluate the +virtual-package+ macro: The +.mk+ for the virtual package should just evaluate the +virtual-package+ macro:
@ -60,8 +56,7 @@ The +.mk+ for the virtual package should just evaluate the +virtual-package+ mac
The ability to have target and host packages is also available, with the The ability to have target and host packages is also available, with the
+host-virtual-package+ macro. +host-virtual-package+ macro.
Provider's +Config.in+ file ==== Provider's +Config.in+ file
^^^^^^^^^^^^^^^^^^^^^^^^^^^
When adding a package as a provider, only the +Config.in+ file requires some When adding a package as a provider, only the +Config.in+ file requires some
modifications. The +*.mk+ file should follow the Buildroot infrastructure with modifications. The +*.mk+ file should follow the Buildroot infrastructure with
@ -92,8 +87,7 @@ provider, but only if it is selected.
Of course, do not forget to add the proper build and runtime dependencies for Of course, do not forget to add the proper build and runtime dependencies for
this package! this package!
Notes on depending on a virtual package ==== Notes on depending on a virtual package
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
When adding a package that requires a certain +FEATURE+ provided by a virtual When adding a package that requires a certain +FEATURE+ provided by a virtual
package, you have to use +depends on BR2_PACKAGE_HAS_FEATURE+, like so: package, you have to use +depends on BR2_PACKAGE_HAS_FEATURE+, like so:
@ -107,8 +101,7 @@ config BR2_PACKAGE_FOO
depends on BR2_PACKAGE_HAS_FEATURE depends on BR2_PACKAGE_HAS_FEATURE
--------------------------- ---------------------------
Notes on depending on a specific provider ==== Notes on depending on a specific provider
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If your package really requires a specific provider, then you'll have to If your package really requires a specific provider, then you'll have to
make your package +depends on+ this provider; you can _not_ +select+ a make your package +depends on+ this provider; you can _not_ +select+ a

View File

@ -2,8 +2,7 @@
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
[[adding-packages]] [[adding-packages]]
Adding new packages to Buildroot == Adding new packages to Buildroot
--------------------------------
This section covers how new packages (userspace libraries or This section covers how new packages (userspace libraries or
applications) can be integrated into Buildroot. It also shows how applications) can be integrated into Buildroot. It also shows how

View File

@ -1,8 +1,7 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Advanced usage == Advanced usage
--------------
include::using-buildroot-toolchain.txt[] include::using-buildroot-toolchain.txt[]

View File

@ -1,8 +1,7 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Appendix = Appendix
========
include::makedev-syntax.txt[] include::makedev-syntax.txt[]
include::makeusers-syntax.txt[] include::makeusers-syntax.txt[]
@ -11,22 +10,19 @@ include::makeusers-syntax.txt[]
// Automatically generated lists: // Automatically generated lists:
[[package-list]] [[package-list]]
List of target packages available in Buildroot == List of target packages available in Buildroot
----------------------------------------------
include::package-list.txt[] include::package-list.txt[]
[[host-package-list]] [[host-package-list]]
List of host utilities available in Buildroot == List of host utilities available in Buildroot
---------------------------------------------
The following packages are all available in the menu +Host utilities+. The following packages are all available in the menu +Host utilities+.
include::host-package-list.txt[] include::host-package-list.txt[]
[[deprecated-list]] [[deprecated-list]]
Deprecated features == Deprecated features
-------------------
The following features are marked as _deprecated_ in Buildroot due to The following features are marked as _deprecated_ in Buildroot due to
them being either too old or unmaintained. They will be removed at them being either too old or unmaintained. They will be removed at

View File

@ -1,14 +1,11 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Beyond Buildroot = Beyond Buildroot
================
Boot the generated images == Boot the generated images
-------------------------
NFS boot === NFS boot
~~~~~~~~
To achieve NFS-boot, enable _tar root filesystem_ in the _Filesystem To achieve NFS-boot, enable _tar root filesystem_ in the _Filesystem
images_ menu. images_ menu.
@ -24,8 +21,7 @@ Remember to add this path to +/etc/exports+.
Then, you can execute a NFS-boot from your target. Then, you can execute a NFS-boot from your target.
Chroot == Chroot
------
If you want to chroot in a generated image, then there are few thing If you want to chroot in a generated image, then there are few thing
you should be aware of: you should be aware of:

View File

@ -2,8 +2,7 @@
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
[[ccache]] [[ccache]]
Using +ccache+ in Buildroot === Using +ccache+ in Buildroot
~~~~~~~~~~~~~~~~~~~~~~~~~~~
http://ccache.samba.org[ccache] is a compiler cache. It stores the http://ccache.samba.org[ccache] is a compiler cache. It stores the
object files resulting from each compilation process, and is able to object files resulting from each compilation process, and is able to

View File

@ -1,13 +1,11 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Daily use == Daily use
---------
include::rebuilding-packages.txt[] include::rebuilding-packages.txt[]
Offline builds === Offline builds
~~~~~~~~~~~~~~
If you intend to do an offline build and just want to download If you intend to do an offline build and just want to download
all sources that you previously selected in the configurator all sources that you previously selected in the configurator
@ -20,8 +18,7 @@ all sources that you previously selected in the configurator
You can now disconnect or copy the content of your +dl+ You can now disconnect or copy the content of your +dl+
directory to the build-host. directory to the build-host.
Building out-of-tree === Building out-of-tree
~~~~~~~~~~~~~~~~~~~~
As default, everything built by Buildroot is stored in the directory As default, everything built by Buildroot is stored in the directory
+output+ in the Buildroot tree. +output+ in the Buildroot tree.
@ -63,8 +60,7 @@ and +-C <...>+, simply run (in the output directory):
[[env-vars]] [[env-vars]]
Environment variables === Environment variables
~~~~~~~~~~~~~~~~~~~~~
Buildroot also honors some environment variables, when they are passed Buildroot also honors some environment variables, when they are passed
to +make+ or set in the environment: to +make+ or set in the environment:
@ -113,8 +109,7 @@ or +g+++ for building helper-binaries on your host, then do
$ make HOSTCXX=g++-4.3-HEAD HOSTCC=gcc-4.3-HEAD $ make HOSTCXX=g++-4.3-HEAD HOSTCC=gcc-4.3-HEAD
-------------------- --------------------
Dealing efficiently with filesystem images === Dealing efficiently with filesystem images
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Filesystem images can get pretty big, depending on the filesystem you choose, Filesystem images can get pretty big, depending on the filesystem you choose,
the number of packages, whether you provisioned free space... Yet, some the number of packages, whether you provisioned free space... Yet, some
@ -152,8 +147,7 @@ your filesystem, those parts may not be all-zeroes when read back). You
should only use sparse files when handling files on the build machine, not should only use sparse files when handling files on the build machine, not
when transferring them to an actual device that will be used on the target. when transferring them to an actual device that will be used on the target.
Graphing the dependencies between packages === Graphing the dependencies between packages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[graph-depends]] [[graph-depends]]
@ -204,8 +198,7 @@ supported.
BR2_GRAPH_OUT=svg make graph-depends BR2_GRAPH_OUT=svg make graph-depends
-------------------------------- --------------------------------
Graphing the build duration === Graphing the build duration
~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[graph-duration]] [[graph-duration]]

View File

@ -2,16 +2,14 @@
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
[[configure]] [[configure]]
Details on Buildroot configuration == Details on Buildroot configuration
----------------------------------
All the configuration options in +make *config+ have a help text All the configuration options in +make *config+ have a help text
providing details about the option. However, a number of topics providing details about the option. However, a number of topics
require additional details that cannot easily be covered in the help require additional details that cannot easily be covered in the help
text and are there covered in the following sections. text and are there covered in the following sections.
Cross-compilation toolchain === Cross-compilation toolchain
~~~~~~~~~~~~~~~~~~~~~~~~~~~
A compilation toolchain is the set of tools that allows you to compile A compilation toolchain is the set of tools that allows you to compile
code for your system. It consists of a compiler (in our case, +gcc+), code for your system. It consists of a compiler (in our case, +gcc+),
@ -61,8 +59,7 @@ chosen, a number of configuration options appear, they are detailed in
the following sections. the following sections.
[[internal-toolchain-backend]] [[internal-toolchain-backend]]
Internal toolchain backend ==== Internal toolchain backend
^^^^^^^^^^^^^^^^^^^^^^^^^^
The _internal toolchain backend_ is the backend where Buildroot builds The _internal toolchain backend_ is the backend where Buildroot builds
by itself a cross-compilation toolchain, before building the userspace by itself a cross-compilation toolchain, before building the userspace
@ -128,8 +125,7 @@ Drawbacks of this backend:
using the _External toolchain backend_. using the _External toolchain backend_.
[[external-toolchain-backend]] [[external-toolchain-backend]]
External toolchain backend ==== External toolchain backend
^^^^^^^^^^^^^^^^^^^^^^^^^^
The _external toolchain backend_ allows to use existing pre-built The _external toolchain backend_ allows to use existing pre-built
cross-compilation toolchains. Buildroot knows about a number of cross-compilation toolchains. Buildroot knows about a number of
@ -219,8 +215,7 @@ Drawbacks of this backend:
fix from the toolchain vendor, unless you build your external fix from the toolchain vendor, unless you build your external
toolchain by yourself using Crosstool-NG. toolchain by yourself using Crosstool-NG.
/dev management === /dev management
~~~~~~~~~~~~~~~
On a Linux system, the +/dev+ directory contains special files, called On a Linux system, the +/dev+ directory contains special files, called
_device files_, that allow userspace applications to access the _device files_, that allow userspace applications to access the
@ -309,8 +304,7 @@ needed, in which case *Dynamic using mdev* is usually a good solution.
Note that if +systemd+ is chosen as init system, /dev management will Note that if +systemd+ is chosen as init system, /dev management will
be performed by the +udev+ program provided by +systemd+. be performed by the +udev+ program provided by +systemd+.
init system === init system
~~~~~~~~~~~
The _init_ program is the first userspace program started by the The _init_ program is the first userspace program started by the
kernel (it carries the PID number 1), and is responsible for starting kernel (it carries the PID number 1), and is responsible for starting

View File

@ -1,8 +1,7 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Contributing to Buildroot = Contributing to Buildroot
=========================
There are many ways in which you can contribute to Buildroot: analyzing There are many ways in which you can contribute to Buildroot: analyzing
and fixing bugs, analyzing and fixing package build failures detected by and fixing bugs, analyzing and fixing package build failures detected by
@ -23,8 +22,7 @@ source code tarball. Git is the easiest way to develop from and directly
send your patches to the mailing list. Refer to xref:getting-buildroot[] send your patches to the mailing list. Refer to xref:getting-buildroot[]
for more information on obtaining a Buildroot git tree. for more information on obtaining a Buildroot git tree.
Reproducing, analyzing and fixing bugs == Reproducing, analyzing and fixing bugs
--------------------------------------
A first way of contributing is to have a look at the open bug reports in A first way of contributing is to have a look at the open bug reports in
the https://bugs.busybox.net/buglist.cgi?product=buildroot[Buildroot bug the https://bugs.busybox.net/buglist.cgi?product=buildroot[Buildroot bug
@ -33,8 +31,7 @@ help in reproducing, analyzing and fixing reported bugs is more than
welcome. Don't hesitate to add a comment to bug reports reporting your welcome. Don't hesitate to add a comment to bug reports reporting your
findings, even if you don't yet see the full picture. findings, even if you don't yet see the full picture.
Analyzing and fixing autobuild failures == Analyzing and fixing autobuild failures
---------------------------------------
The Buildroot autobuilders are a set of build machines that continuously The Buildroot autobuilders are a set of build machines that continuously
run Buildroot builds based on random configurations. This is done for run Buildroot builds based on random configurations. This is done for
@ -79,8 +76,7 @@ basically two things that can be done:
Fixes http://autobuild.buildroot.org/results/51000a9d4656afe9e0ea6f07b9f8ed374c2e4069 Fixes http://autobuild.buildroot.org/results/51000a9d4656afe9e0ea6f07b9f8ed374c2e4069
--------------------- ---------------------
Reviewing and testing patches == Reviewing and testing patches
-----------------------------
With the amount of patches sent to the mailing list each day, the With the amount of patches sent to the mailing list each day, the
maintainer has a very hard job to judge which patches are ready to apply maintainer has a very hard job to judge which patches are ready to apply
@ -146,8 +142,7 @@ Buildroot's Patchwork website can be used to pull in patches for testing
purposes. Please see xref:apply-patches-patchwork[] for more purposes. Please see xref:apply-patches-patchwork[] for more
information on using Buildroot's Patchwork website to apply patches. information on using Buildroot's Patchwork website to apply patches.
Work on items from the TODO list == Work on items from the TODO list
--------------------------------
If you want to contribute to Buildroot but don't know where to start, If you want to contribute to Buildroot but don't know where to start,
and you don't like any of the above topics, you can always work on items and you don't like any of the above topics, you can always work on items
@ -157,8 +152,7 @@ Do edit the wiki to indicate when you start working on an item, so we
avoid duplicate efforts. avoid duplicate efforts.
[[submitting-patches]] [[submitting-patches]]
Submitting patches == Submitting patches
------------------
[NOTE] [NOTE]
_Please, do not attach patches to bugs, send them to the mailing list _Please, do not attach patches to bugs, send them to the mailing list
@ -202,8 +196,7 @@ If you do not use +git send-email+, make sure posted *patches are not
line-wrapped*, otherwise they cannot easily be applied. In such a case, line-wrapped*, otherwise they cannot easily be applied. In such a case,
fix your e-mail client, or better yet, learn to use +git send-email+. fix your e-mail client, or better yet, learn to use +git send-email+.
Cover letter === Cover letter
~~~~~~~~~~~~
If you want to present the whole patch set in a separate mail, add If you want to present the whole patch set in a separate mail, add
+--cover-letter+ to the +git format-patch+ command (see +man +--cover-letter+ to the +git format-patch+ command (see +man
@ -222,8 +215,7 @@ in the following cases:
* whenever you feel it will help presenting your work, your choices, * whenever you feel it will help presenting your work, your choices,
the review process, etc. the review process, etc.
Patch revision changelog === Patch revision changelog
~~~~~~~~~~~~~~~~~~~~~~~~
When improvements are requested, the new revision of each commit When improvements are requested, the new revision of each commit
should include a changelog of the modifications between each should include a changelog of the modifications between each
@ -281,8 +273,7 @@ $ git format-patch --subject-prefix "PATCH v4" \
--------------------- ---------------------
[[reporting-bugs]] [[reporting-bugs]]
Reporting issues/bugs or getting help == Reporting issues/bugs or getting help
-------------------------------------
Before reporting any issue, please check Before reporting any issue, please check
xref:mailing-list-subscribe[the mailing list archive] in case someone has xref:mailing-list-subscribe[the mailing list archive] in case someone has

View File

@ -2,8 +2,7 @@
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
[[busybox-custom]] [[busybox-custom]]
Customizing the Busybox configuration === Customizing the Busybox configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
http://www.busybox.net/[Busybox] is very configurable, and you may http://www.busybox.net/[Busybox] is very configurable, and you may
want to customize it. You can follow these simple steps to do so. This want to customize it. You can follow these simple steps to do so. This

View File

@ -2,8 +2,7 @@
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
[[kernel-custom]] [[kernel-custom]]
Customizing the Linux kernel configuration === Customizing the Linux kernel configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The Linux kernel configuration can be customized just like The Linux kernel configuration can be customized just like
xref:busybox-custom[BusyBox] and xref:uclibc-custom[uClibc] using xref:busybox-custom[BusyBox] and xref:uclibc-custom[uClibc] using

View File

@ -1,8 +1,7 @@
// -*- mode:doc -*- ; // -*- mode:doc -*- ;
[[outside-br-custom]] [[outside-br-custom]]
Keeping customizations outside Buildroot === Keeping customizations outside Buildroot
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The Buildroot community recommends and encourages upstreaming to the The Buildroot community recommends and encourages upstreaming to the
official Buildroot version the packages and board support that are official Buildroot version the packages and board support that are

View File

@ -1,8 +1,7 @@
// -*- mode:doc -*- ; // -*- mode:doc -*- ;
[[packages-custom]] [[packages-custom]]
Customizing packages === Customizing packages
~~~~~~~~~~~~~~~~~~~~
It is sometimes useful to apply 'extra' patches to packages - over and It is sometimes useful to apply 'extra' patches to packages - over and
above those provided in Buildroot. This might be used to support custom above those provided in Buildroot. This might be used to support custom

View File

@ -2,8 +2,7 @@
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
[[rootfs-custom]] [[rootfs-custom]]
Customizing the generated target filesystem === Customizing the generated target filesystem
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Besides changing one or another configuration through +make *config+, Besides changing one or another configuration through +make *config+,
there are a few ways to customize the resulting target filesystem. there are a few ways to customize the resulting target filesystem.

View File

@ -2,8 +2,7 @@
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
[[customize-store]] [[customize-store]]
Storing the configuration == Storing the configuration
-------------------------
When you have a buildroot configuration that you are satisfied with and When you have a buildroot configuration that you are satisfied with and
you want to share it with others, put it under revision control or move you want to share it with others, put it under revision control or move
@ -15,13 +14,11 @@ modifications.
[[customize-store-basics]] [[customize-store-basics]]
Basics for storing the configuration === Basics for storing the configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[[customize-store-buildroot-config]] [[customize-store-buildroot-config]]
Buildroot configuration ==== Buildroot configuration
^^^^^^^^^^^^^^^^^^^^^^^
For storing the buildroot configuration itself, buildroot offers the For storing the buildroot configuration itself, buildroot offers the
following command: +make savedefconfig+. following command: +make savedefconfig+.
@ -39,8 +36,7 @@ Alternatively, you can copy the file to any other place and rebuild with
[[customize-store-package-config]] [[customize-store-package-config]]
Other package configuration ==== Other package configuration
^^^^^^^^^^^^^^^^^^^^^^^^^^^
The configuration files for busybox, the linux kernel, barebox and The configuration files for busybox, the linux kernel, barebox and
uClibc should be stored as well if changed. For each of these, a uClibc should be stored as well if changed. For each of these, a
@ -76,8 +72,7 @@ configuration files easier.
[[customize-store-board-support]] [[customize-store-board-support]]
Creating your own board support === Creating your own board support
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Creating your own board support in Buildroot allows users of a Creating your own board support in Buildroot allows users of a
particular hardware platform to easily build a system that is known to particular hardware platform to easily build a system that is known to
@ -112,8 +107,7 @@ and configurations in these directories, and reference them from the main
Buildroot configuration. Buildroot configuration.
Step-by-step instructions for storing configuration === Step-by-step instructions for storing configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To store the configuration for a specific product, device or To store the configuration for a specific product, device or
application, it is advisable to use the same conventions as for the application, it is advisable to use the same conventions as for the

View File

@ -2,14 +2,12 @@
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
[[toolchain-custom]] [[toolchain-custom]]
Customizing the toolchain === Customizing the toolchain
~~~~~~~~~~~~~~~~~~~~~~~~~
There are three distinct types of toolchain backend supported in Buildroot, There are three distinct types of toolchain backend supported in Buildroot,
available under the menu +Toolchain+, invoking +make menuconfig+. available under the menu +Toolchain+, invoking +make menuconfig+.
Using the external toolchain backend ==== Using the external toolchain backend
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
There is no way of tuning an external toolchain since Buildroot does not There is no way of tuning an external toolchain since Buildroot does not
generate it. generate it.
@ -29,8 +27,7 @@ set the environment variable +BR2_DEBUG_WRAPPER+ to either one of:
* +2+: trace one argument per line * +2+: trace one argument per line
Using the internal Buildroot toolchain backend ==== Using the internal Buildroot toolchain backend
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The internal Buildroot toolchain backend allows to generate toolchains The internal Buildroot toolchain backend allows to generate toolchains
based on http://www.uclibc.org/[uClibc], based on http://www.uclibc.org/[uClibc],

View File

@ -2,8 +2,7 @@
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
[[uclibc-custom]] [[uclibc-custom]]
Customizing the uClibc configuration === Customizing the uClibc configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Just like xref:busybox-custom[BusyBox], http://www.uclibc.org/[uClibc] Just like xref:busybox-custom[BusyBox], http://www.uclibc.org/[uClibc]
offers a lot of configuration options. They allow you to select offers a lot of configuration options. They allow you to select

View File

@ -1,8 +1,7 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Customization == Customization
-------------
include::customize-rootfs.txt[] include::customize-rootfs.txt[]

View File

@ -3,8 +3,7 @@
[[debugging-buildroot]] [[debugging-buildroot]]
Debugging Buildroot == Debugging Buildroot
-------------------
It is possible to instrument the steps +Buildroot+ does when building It is possible to instrument the steps +Buildroot+ does when building
packages. Define the variable +BR2_INSTRUMENTATION_SCRIPTS+ to contain packages. Define the variable +BR2_INSTRUMENTATION_SCRIPTS+ to contain

View File

@ -1,8 +1,7 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Developer Guidelines = Developer Guidelines
====================
include::writing-rules.txt[] include::writing-rules.txt[]

View File

@ -3,7 +3,6 @@
[[download-infra]] [[download-infra]]
Download infrastructure == Download infrastructure
-----------------------
TODO TODO

View File

@ -1,8 +1,7 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Location of downloaded packages === Location of downloaded packages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The various tarballs that are downloaded by Buildroot are all stored The various tarballs that are downloaded by Buildroot are all stored
in +BR2_DL_DIR+, which by default is the +dl+ directory. If you want in +BR2_DL_DIR+, which by default is the +dl+ directory. If you want

View File

@ -1,8 +1,7 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Integration with Eclipse == Integration with Eclipse
------------------------
While a part of the embedded Linux developers like classical text While a part of the embedded Linux developers like classical text
editors like Vim or Emacs, and command-line based interfaces, a number editors like Vim or Emacs, and command-line based interfaces, a number

View File

@ -1,12 +1,10 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Frequently Asked Questions & Troubleshooting = Frequently Asked Questions & Troubleshooting
============================================
[[faq-boot-hang-after-starting]] [[faq-boot-hang-after-starting]]
The boot hangs after 'Starting network...' == The boot hangs after 'Starting network...'
------------------------------------------
If the boot process seems to hang after the following messages If the boot process seems to hang after the following messages
(messages not necessarily exactly similar, depending on the list of (messages not necessarily exactly similar, depending on the list of
@ -28,8 +26,7 @@ configuration+, and modify +Port to run a getty (login prompt) on+ and
the correct serial port. the correct serial port.
[[faq-no-compiler-on-target]] [[faq-no-compiler-on-target]]
Why is there no compiler on the target? == Why is there no compiler on the target?
---------------------------------------
It has been decided that support for the _native compiler on the It has been decided that support for the _native compiler on the
target_ would be stopped from the Buildroot-2012.11 release because: target_ would be stopped from the Buildroot-2012.11 release because:
@ -53,8 +50,7 @@ distribution_ and you should opt for something like:
* ... * ...
[[faq-no-dev-files-on-target]] [[faq-no-dev-files-on-target]]
Why are there no development files on the target? == Why are there no development files on the target?
-------------------------------------------------
Since there is no compiler available on the target (see Since there is no compiler available on the target (see
xref:faq-no-compiler-on-target[]), it does not make sense to waste xref:faq-no-compiler-on-target[]), it does not make sense to waste
@ -64,8 +60,7 @@ Therefore, those files are always removed from the target since the
Buildroot-2012.11 release. Buildroot-2012.11 release.
[[faq-no-doc-on-target]] [[faq-no-doc-on-target]]
Why is there no documentation on the target? == Why is there no documentation on the target?
--------------------------------------------
Because Buildroot mostly targets _small_ or _very small_ target Because Buildroot mostly targets _small_ or _very small_ target
hardware with limited resource onboard (CPU, ram, mass-storage), it hardware with limited resource onboard (CPU, ram, mass-storage), it
@ -76,8 +71,7 @@ is not suitable for your purpose, and you should look for a _real
distribution_ (see: xref:faq-no-compiler-on-target[]). distribution_ (see: xref:faq-no-compiler-on-target[]).
[[faq-why-not-visible-package]] [[faq-why-not-visible-package]]
Why are some packages not visible in the Buildroot config menu? == Why are some packages not visible in the Buildroot config menu?
---------------------------------------------------------------
If a package exists in the Buildroot tree and does not appear in the If a package exists in the Buildroot tree and does not appear in the
config menu, this most likely means that some of the package's config menu, this most likely means that some of the package's
@ -95,8 +89,7 @@ then you should certainly run a full rebuild (see xref:make-tips[] for
more explanations). more explanations).
[[faq-why-not-use-target-as-chroot]] [[faq-why-not-use-target-as-chroot]]
Why not use the target directory as a chroot directory? == Why not use the target directory as a chroot directory?
-------------------------------------------------------
There are plenty of reasons to *not* use the target directory a chroot There are plenty of reasons to *not* use the target directory a chroot
one, among these: one, among these:
@ -113,8 +106,7 @@ root, then use the tarball image generated in +images/+ and extract it
as root. as root.
[[faq-no-binary-packages]] [[faq-no-binary-packages]]
Why doesn't Buildroot generate binary packages (.deb, .ipkg...)? == Why doesn't Buildroot generate binary packages (.deb, .ipkg...)?
----------------------------------------------------------------
One feature that is often discussed on the Buildroot list is the One feature that is often discussed on the Buildroot list is the
general topic of "package management". To summarize, the idea general topic of "package management". To summarize, the idea

View File

@ -1,8 +1,7 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Getting involved = Getting involved
================
Like any open source project, Buildroot has different ways to share Like any open source project, Buildroot has different ways to share
information in its community and outside. information in its community and outside.
@ -12,8 +11,7 @@ One piece of it is the document you are currently reading ;-).
Each of those ways may interest you if you are looking for some help, Each of those ways may interest you if you are looking for some help,
want to understand Buildroot or contribute to the project. want to understand Buildroot or contribute to the project.
Mailing List == Mailing List
------------
Buildroot has a mailing list Buildroot has a mailing list
http://lists.busybox.net/pipermail/buildroot[] for discussion and http://lists.busybox.net/pipermail/buildroot[] for discussion and
@ -21,8 +19,7 @@ development.
[[mailing-list-subscribe]] [[mailing-list-subscribe]]
Subscribing to the mailing list === Subscribing to the mailing list
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You can subscribe by visiting You can subscribe by visiting
http://lists.busybox.net/mailman/listinfo/buildroot[]. http://lists.busybox.net/mailman/listinfo/buildroot[].
@ -33,16 +30,14 @@ The list is also available through _Gmane_ http://gmane.org[], at
+gmane.comp.lib.uclibc.buildroot+ +gmane.comp.lib.uclibc.buildroot+
http://dir.gmane.org/gmane.comp.lib.uclibc.buildroot[]. http://dir.gmane.org/gmane.comp.lib.uclibc.buildroot[].
Searching the List Archives === Searching the List Archives
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Please search the mailing list archives before asking questions on the Please search the mailing list archives before asking questions on the
mailing list, since there is a good chance someone else has asked the mailing list, since there is a good chance someone else has asked the
same question before. Checking the archives is a great way to avoid same question before. Checking the archives is a great way to avoid
annoying everyone on the list with frequently asked questions... annoying everyone on the list with frequently asked questions...
IRC == IRC
---
The Buildroot IRC is irc://freenode.net/#buildroot[]. The Buildroot IRC is irc://freenode.net/#buildroot[].
The channel +#buildroot+ is hosted on Freenode The channel +#buildroot+ is hosted on Freenode
@ -52,8 +47,7 @@ When asking for help on IRC, share relevant logs or pieces of code
using a code sharing website. using a code sharing website.
[[patchwork]] [[patchwork]]
Patchwork == Patchwork
---------
Patchwork is a web-based patch tracking system designed to facilitate Patchwork is a web-based patch tracking system designed to facilitate
the contribution and management of contributions to an open-source the contribution and management of contributions to an open-source
@ -72,8 +66,7 @@ The Buildroot patch management interface is available at
http://patchwork.buildroot.org[]. http://patchwork.buildroot.org[].
[[apply-patches-patchwork]] [[apply-patches-patchwork]]
Applying Patches from Patchwork === Applying Patches from Patchwork
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The main use of Buildroot's Patchwork website for a developer is for The main use of Buildroot's Patchwork website for a developer is for
pulling in patches into their local git repository for testing pulling in patches into their local git repository for testing
@ -95,15 +88,13 @@ you can copy the +mbox+ link for the bundle and apply the bundle
using the above commands. using the above commands.
[[bugtracker]] [[bugtracker]]
Bugtracker == Bugtracker
----------
The Buildroot bugtracker is at https://bugs.busybox.net[]. The Buildroot bugtracker is at https://bugs.busybox.net[].
To open a bug, see xref:reporting-bugs[]. To open a bug, see xref:reporting-bugs[].
Buildroot wikipage == Buildroot wikipage
------------------
After the Buildroot developer day on February 3, 2012, After the Buildroot developer day on February 3, 2012,
a page dedicated to Buildroot has been created on a page dedicated to Buildroot has been created on
@ -114,21 +105,17 @@ This page is reachable at http://elinux.org/Buildroot[].
Currently, this page is mainly used as a _todo-list_. Currently, this page is mainly used as a _todo-list_.
[[events]] [[events]]
Events == Events
------
Buildroot Developer Days aside ELC-E 2012 (November 3-4, 2012 - Barcelona) === Buildroot Developer Days aside ELC-E 2012 (November 3-4, 2012 - Barcelona)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Event page: http://elinux.org/Buildroot:DeveloperDaysELCE2012[] * Event page: http://elinux.org/Buildroot:DeveloperDaysELCE2012[]
Buildroot presentation at LSM 2012 (July 12-14, 2012 - Geneva) === Buildroot presentation at LSM 2012 (July 12-14, 2012 - Geneva)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Announcement: http://lists.busybox.net/pipermail/buildroot/2012-May/053845.html[] * Announcement: http://lists.busybox.net/pipermail/buildroot/2012-May/053845.html[]
Buildroot Developer Days aside FOSDEM 2012 (February 3, 2012 - Brussels) === Buildroot Developer Days aside FOSDEM 2012 (February 3, 2012 - Brussels)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Announcement & agenda thread: http://lists.busybox.net/pipermail/buildroot/2012-January/049340.html[] * Announcement & agenda thread: http://lists.busybox.net/pipermail/buildroot/2012-January/049340.html[]
* Report: http://lists.busybox.net/pipermail/buildroot/2012-February/050371.html[] * Report: http://lists.busybox.net/pipermail/buildroot/2012-February/050371.html[]

View File

@ -2,8 +2,7 @@
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
[[getting-buildroot]] [[getting-buildroot]]
Getting Buildroot == Getting Buildroot
-----------------
Buildroot releases are made approximately every 3 months. Direct Git Buildroot releases are made approximately every 3 months. Direct Git
access and daily snapshots are also available, if you want more access and daily snapshots are also available, if you want more

View File

@ -1,8 +1,7 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Going further in Buildroot's innards = Going further in Buildroot's innards
====================================
include::how-buildroot-works.txt[] include::how-buildroot-works.txt[]

View File

@ -1,8 +1,7 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
How Buildroot works == How Buildroot works
-------------------
As mentioned above, Buildroot is basically a set of Makefiles that As mentioned above, Buildroot is basically a set of Makefiles that
download, configure, and compile software with the correct options. It download, configure, and compile software with the correct options. It

View File

@ -1,8 +1,7 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
About Buildroot = About Buildroot
===============
Buildroot is a tool that simplifies and automates the process of Buildroot is a tool that simplifies and automates the process of
building a complete Linux system for an embedded system, using building a complete Linux system for an embedded system, using

View File

@ -1,8 +1,7 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Known issues = Known issues
============
* The +ltp-testsuite+ package does not build with the default uClibc * The +ltp-testsuite+ package does not build with the default uClibc
configuration used by the Buildroot toolchain backend. The LTP configuration used by the Buildroot toolchain backend. The LTP

View File

@ -3,11 +3,9 @@
[[legal-info]] [[legal-info]]
Legal notice and licensing = Legal notice and licensing
==========================
Complying with open source licenses == Complying with open source licenses
-----------------------------------
All of the end products of Buildroot (toolchain, root filesystem, kernel, All of the end products of Buildroot (toolchain, root filesystem, kernel,
bootloaders) contain open source software, released under various licenses. bootloaders) contain open source software, released under various licenses.
@ -71,8 +69,7 @@ When you run +make legal-info+, Buildroot produces warnings in the +README+
file to inform you of relevant material that could not be saved. file to inform you of relevant material that could not be saved.
[[legal-info-list-licenses]] [[legal-info-list-licenses]]
License abbreviations == License abbreviations
---------------------
Here is a list of the licenses that are most widely used by packages in Here is a list of the licenses that are most widely used by packages in
Buildroot, with the name used in the manifest files: Buildroot, with the name used in the manifest files:
@ -126,8 +123,7 @@ Buildroot, with the name used in the manifest files:
http://apache.org/licenses/LICENSE-2.0.html[ http://apache.org/licenses/LICENSE-2.0.html[
Apache License, version 2.0]; Apache License, version 2.0];
Complying with the Buildroot license == Complying with the Buildroot license
------------------------------------
Buildroot itself is an open source software, released under the Buildroot itself is an open source software, released under the
http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[GNU General Public http://www.gnu.org/licenses/old-licenses/gpl-2.0.html[GNU General Public

View File

@ -2,8 +2,7 @@
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
[[make-tips]] [[make-tips]]
'make' tips == 'make' tips
-----------
This is a collection of tips that help you make the most of Buildroot. This is a collection of tips that help you make the most of Buildroot.

View File

@ -2,8 +2,7 @@
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
[[makedev-syntax]] [[makedev-syntax]]
Makedev syntax documentation == Makedev syntax documentation
----------------------------
The makedev syntax is used in several places in Buildroot to The makedev syntax is used in several places in Buildroot to
define changes to be made for permissions, or which device files to define changes to be made for permissions, or which device files to

View File

@ -1,8 +1,7 @@
// -*- mode:doc -*- ; // -*- mode:doc -*- ;
[[makeuser-syntax]] [[makeuser-syntax]]
Makeuser syntax documentation == Makeuser syntax documentation
-----------------------------
The syntax to create users is inspired by the makedev syntax, above, but The syntax to create users is inspired by the makedev syntax, above, but
is specific to Buildroot. is specific to Buildroot.

View File

@ -1,8 +1,7 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
The Buildroot user manual = The Buildroot user manual
=========================
:toc: :toc:
Buildroot usage and documentation by Thomas Petazzoni. Contributions Buildroot usage and documentation by Thomas Petazzoni. Contributions

View File

@ -3,8 +3,7 @@
[[pkg-build-steps]] [[pkg-build-steps]]
Package-specific _make_ targets === Package-specific _make_ targets
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Running +make <package>+ builds and installs that particular package Running +make <package>+ builds and installs that particular package
and its dependencies. and its dependencies.

View File

@ -3,8 +3,7 @@
[[patch-policy]] [[patch-policy]]
Patching a package == Patching a package
------------------
While integrating a new package or updating an existing one, it may be While integrating a new package or updating an existing one, it may be
necessary to patch the source of the software to get it cross-built within necessary to patch the source of the software to get it cross-built within
@ -15,11 +14,9 @@ the builds. It supports three ways of applying patch sets: downloaded patches,
patches supplied within buildroot and patches located in a user-defined patches supplied within buildroot and patches located in a user-defined
global patch directory. global patch directory.
Providing patches === Providing patches
~~~~~~~~~~~~~~~~~
Downloaded ==== Downloaded
^^^^^^^^^^
If it is necessary to apply a patch that is available for download, then add it If it is necessary to apply a patch that is available for download, then add it
to the +<packagename>_PATCH+ variable. It is downloaded from the same site to the +<packagename>_PATCH+ variable. It is downloaded from the same site
@ -28,8 +25,7 @@ patch series.
This method is typically used for packages from Debian. This method is typically used for packages from Debian.
Within Buildroot ==== Within Buildroot
^^^^^^^^^^^^^^^^
Most patches are provided within Buildroot, in the package Most patches are provided within Buildroot, in the package
directory; these typically aim to fix cross-compilation, libc support, directory; these typically aim to fix cross-compilation, libc support,
@ -46,8 +42,7 @@ application order.
reference in their filename. reference in their filename.
- The field +<number>+ in the patch file name refers to the 'apply order'. - The field +<number>+ in the patch file name refers to the 'apply order'.
Global patch directory ==== Global patch directory
^^^^^^^^^^^^^^^^^^^^^^
The +BR2_GLOBAL_PATCH_DIR+ configuration file option can be The +BR2_GLOBAL_PATCH_DIR+ configuration file option can be
used to specify a space separated list of one or more directories used to specify a space separated list of one or more directories
@ -55,8 +50,7 @@ containing global package patches. See xref:packages-custom[] for
details. details.
[[patch-apply-order]] [[patch-apply-order]]
How patches are applied === How patches are applied
~~~~~~~~~~~~~~~~~~~~~~~
. Run the +<packagename>_PRE_PATCH_HOOKS+ commands if defined; . Run the +<packagename>_PRE_PATCH_HOOKS+ commands if defined;
@ -87,8 +81,7 @@ How patches are applied
If something goes wrong in the steps _3_ or _4_, then the build fails. If something goes wrong in the steps _3_ or _4_, then the build fails.
Format and licensing of the package patches === Format and licensing of the package patches
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Patches are released under the same license as the software that is Patches are released under the same license as the software that is
modified. modified.
@ -130,8 +123,7 @@ AC_PROG_MAKE_SET
+AM_CONDITIONAL([CXX_WORKS], [test "x$rw_cv_prog_cxx_works" = "xyes"]) +AM_CONDITIONAL([CXX_WORKS], [test "x$rw_cv_prog_cxx_works" = "xyes"])
--------------- ---------------
Integrating patches found on the Web === Integrating patches found on the Web
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
When integrating a patch of which you are not the author, you have to When integrating a patch of which you are not the author, you have to
add a few things in the header of the patch itself. add a few things in the header of the patch itself.

View File

@ -2,8 +2,7 @@
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
[[requirement]] [[requirement]]
System requirements == System requirements
-------------------
Buildroot is designed to run on Linux systems. Buildroot is designed to run on Linux systems.
@ -17,8 +16,7 @@ for the libraries that may be packaged in 2 distinct packages.
[[requirement-mandatory]] [[requirement-mandatory]]
Mandatory packages === Mandatory packages
~~~~~~~~~~~~~~~~~~
* Build tools: * Build tools:
@ -45,8 +43,7 @@ Mandatory packages
[[requirement-optional]] [[requirement-optional]]
Optional packages === Optional packages
~~~~~~~~~~~~~~~~~
* Source fetching tools: * Source fetching tools:
+ +

View File

@ -2,8 +2,7 @@
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
[[full-rebuild]] [[full-rebuild]]
Understanding when a full rebuild is necessary === Understanding when a full rebuild is necessary
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buildroot does not attempt to detect what parts of the system should Buildroot does not attempt to detect what parts of the system should
be rebuilt when the system configuration is changed through +make be rebuilt when the system configuration is changed through +make
@ -82,8 +81,7 @@ $ make clean all
--------------- ---------------
[[rebuild-pkg]] [[rebuild-pkg]]
Understanding how to rebuild packages === Understanding how to rebuild packages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
One of the most common questions asked by Buildroot users is how to One of the most common questions asked by Buildroot users is how to
rebuild a given package or how to remove a package without rebuilding rebuild a given package or how to remove a package without rebuilding

View File

@ -1,8 +1,7 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Starting up = Starting up
===========
include::prerequisite.txt[] include::prerequisite.txt[]

View File

@ -1,8 +1,7 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Using Buildroot during development === Using Buildroot during development
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The normal operation of Buildroot is to download a tarball, extract The normal operation of Buildroot is to download a tarball, extract
it, configure, compile and install the software component found inside it, configure, compile and install the software component found inside

View File

@ -1,8 +1,7 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Using the generated toolchain outside Buildroot === Using the generated toolchain outside Buildroot
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You may want to compile, for your target, your own programs or other You may want to compile, for your target, your own programs or other
software that are not packaged in Buildroot. In order to do this you software that are not packaged in Buildroot. In order to do this you

View File

@ -1,8 +1,7 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Using Buildroot == Using Buildroot
---------------
Buildroot has a nice configuration tool similar to the one you can Buildroot has a nice configuration tool similar to the one you can
find in the http://www.kernel.org/[Linux kernel] or in find in the http://www.kernel.org/[Linux kernel] or in

View File

@ -1,8 +1,7 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Working with Buildroot = Working with Buildroot
======================
This section explains how you can customize Buildroot to fit your This section explains how you can customize Buildroot to fit your
needs. needs.
@ -17,8 +16,7 @@ include::common-usage.txt[]
include::eclipse-integration.txt[] include::eclipse-integration.txt[]
Hacking Buildroot == Hacking Buildroot
-----------------
If Buildroot does not yet fit all your requirements, you may be If Buildroot does not yet fit all your requirements, you may be
interested in hacking it to add: interested in hacking it to add:

View File

@ -1,8 +1,7 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
Coding style == Coding style
------------
Overall, these coding style rules are here to help you to add new files in Overall, these coding style rules are here to help you to add new files in
Buildroot or refactor existing ones. Buildroot or refactor existing ones.
@ -17,8 +16,7 @@ file,
[[writing-rules-config-in]] [[writing-rules-config-in]]
+Config.in+ file === +Config.in+ file
~~~~~~~~~~~~~~~~
+Config.in+ files contain entries for almost anything configurable in +Config.in+ files contain entries for almost anything configurable in
Buildroot. Buildroot.
@ -49,8 +47,7 @@ http://kernel.org/doc/Documentation/kbuild/kconfig-language.txt[].
[[writing-rules-mk]] [[writing-rules-mk]]
The +.mk+ file === The +.mk+ file
~~~~~~~~~~~~~~
* Header: The file starts with a header. It contains the module name, * Header: The file starts with a header. It contains the module name,
preferably in lowercase, enclosed between separators made of 80 hashes. A preferably in lowercase, enclosed between separators made of 80 hashes. A
@ -135,8 +132,7 @@ LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA
endif endif
--------------------- ---------------------
The documentation === The documentation
~~~~~~~~~~~~~~~~~
The documentation uses the The documentation uses the
http://www.methods.co.nz/asciidoc/[asciidoc] format. http://www.methods.co.nz/asciidoc/[asciidoc] format.