manual: minor tweaks

Minor grammatical and spelling tweaks to the manual content.

Signed-off-by: Simon Dawson <spdawson@gmail.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Simon Dawson 2012-11-16 04:54:19 +00:00 committed by Peter Korsgaard
parent 30d99041ce
commit ecd2353555
23 changed files with 128 additions and 131 deletions

View File

@ -154,12 +154,12 @@ config BR2_PACKAGE_E
Overall, for package library dependencies, +select+ should be Overall, for package library dependencies, +select+ should be
preferred. preferred.
Note that such dependencies will make sure that the dependency option Note that such dependencies will ensure that the dependency option
is also enabled, but not necessarily built before your package. To do is also enabled, but not necessarily built before your package. To do
so, the dependency also needs to be expressed in the +.mk+ file of the so, the dependency also needs to be expressed in the +.mk+ file of the
package. package.
Further formating details: see xref:writing-rules-config-in[the Further formatting details: see xref:writing-rules-config-in[the
writing rules]. writing rules].
The +.mk+ file The +.mk+ file
@ -174,7 +174,7 @@ different way, using different infrastructures:
* *Makefiles for generic packages* (not using autotools or CMake): * *Makefiles for generic packages* (not using autotools or CMake):
These are based on an infrastructure similar to the one used for These are based on an infrastructure similar to the one used for
autotools-based packages, but requires a little more work from the autotools-based packages, but require a little more work from the
developer. They specify what should be done for the configuration, developer. They specify what should be done for the configuration,
compilation, installation and cleanup of the package. This compilation, installation and cleanup of the package. This
infrastructure must be used for all packages that do not use the infrastructure must be used for all packages that do not use the

View File

@ -5,12 +5,12 @@ 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
therefore, deserves some explanation. therefore, deserve some explanation.
The 'uClibc' C library doesn't implement gettext functionality, The 'uClibc' C library doesn't implement gettext functionality;
therefore with this C library, a separate gettext must be compiled. On therefore with this C library, a separate gettext must be compiled. On
the other hand, the 'glibc' C library does integrate its own gettext, the other hand, the 'glibc' C library does integrate its own gettext,
and in this case, the separate gettext library should not be compiled, and in this case the separate gettext library should not be compiled,
because it creates various kinds of build failures. because it creates various kinds of build failures.
Additionally, some packages (such as +libglib2+) do require gettext Additionally, some packages (such as +libglib2+) do require gettext

View File

@ -7,7 +7,7 @@ Tips and tricks
Package name, config entry name and makefile variable relationship Package name, config entry name and makefile variable relationship
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
In Buildroot, there are some relation between: In Buildroot, there is some relationship between:
* the _package name_, which is the package directory name (and the * the _package name_, which is the package directory name (and the
name of the +*.mk+ file); name of the +*.mk+ file);
@ -16,8 +16,8 @@ In Buildroot, there are some relation between:
* the makefile variable prefix. * the makefile variable prefix.
Thus, it is mandatory to keep consistency between all this stuff, It is mandatory to maintain consistency between these elements,
matching the following rules: using the following rules:
* the _make_ target name will be the _package name_ itself (e.g.: * the _make_ target name will be the _package name_ itself (e.g.:
+foo-bar_boo+); +foo-bar_boo+);

View File

@ -12,7 +12,7 @@ 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.
After complete build, just run the following commands to setup the After a complete build, just run the following commands to setup the
NFS-root directory: NFS-root directory:
------------------- -------------------

View File

@ -23,10 +23,10 @@ savedefconfig+. This will generate a minimal +defconfig+ file at the
root of the Buildroot source tree. Move this file into the +configs/+ root of the Buildroot source tree. Move this file into the +configs/+
directory, and rename it +MYBOARD_defconfig+. directory, and rename it +MYBOARD_defconfig+.
It is recommended to use as much as possible upstream versions of the It is recommended to use upstream versions of the Linux kernel and
Linux kernel and bootloaders, and to use as much as possible default bootloaders where possible, and also to use default kernel and bootloader
kernel and bootloader configurations. If they are incorrect for your configurations if possible. If the defaults are incorrect for
platform, we encourage you to send fixes to the corresponding upstream your platform, we encourage you to send fixes to the corresponding upstream
projects. projects.
However, in the mean time, you may want to store kernel or bootloader However, in the mean time, you may want to store kernel or bootloader

View File

@ -23,7 +23,7 @@ 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.
Buildroot also supports building out of tree with a syntax similar to Buildroot also supports building out of tree with a syntax similar to
the Linux kernel. To use it, add +O=<directory>+ to the make command the Linux kernel. To use it, add +O=<directory>+ to the make command
@ -70,21 +70,21 @@ to +make+ or set in the environment:
+ +
Note that the uClibc configuration file can also be set from the Note that the uClibc configuration file can also be set from the
configuration interface, so through the Buildroot .config file; this configuration interface, so through the Buildroot .config file; this
the actual recommended way of setting it. is the recommended way of setting it.
+ +
* +BUSYBOX_CONFIG_FILE=<path/to/.config>+, path to * +BUSYBOX_CONFIG_FILE=<path/to/.config>+, path to
the Busybox configuration file. the Busybox configuration file.
+ +
Note that the Busybox configuration file can also be set from the Note that the Busybox configuration file can also be set from the
configuration interface, so through the Buildroot .config file; this configuration interface, so through the Buildroot .config file; this
the actual recommended way of setting it. is the recommended way of setting it.
+ +
* +BUILDROOT_DL_DIR+ to override the directory in which * +BUILDROOT_DL_DIR+ to override the directory in which
Buildroot stores/retrieves downloaded files Buildroot stores/retrieves downloaded files
+ +
Note that the Buildroot download directory can also be set from the Note that the Buildroot download directory can also be set from the
configuration interface, so through the Buildroot .config file; this configuration interface, so through the Buildroot .config file; this
the actual recommended way of setting it. is the recommended way of setting it.
An example that uses config files located in the toplevel directory and An example that uses config files located in the toplevel directory and
in your $HOME: in your $HOME:

View File

@ -57,7 +57,7 @@ Lastly, send/submit your patch set to the Buildroot mailing list:
Note that +git+ should be configured to use your mail account. Note that +git+ should be configured to use your mail account.
To configure +git+, see +man git-send-email+ or google it. To configure +git+, see +man git-send-email+ or google it.
Make sure posted *patches are not line-wrapped*, otherwise it cannot Make sure posted *patches are not line-wrapped*, otherwise they cannot
easily be applied. In such a case, fix your e-mail client, or better, easily be applied. In such a case, fix your e-mail client, or better,
use +git send-email+ to send your patches. use +git send-email+ to send your patches.
@ -79,11 +79,11 @@ Tested-by:: Indicates that the patch has been tested. It is useful
Autobuild Autobuild
--------- ---------
The Buildroot community is currently setting up automatic build i The Buildroot community is currently setting up automatic builds in
order to test more and more configuration. All build results are order to test more and more configurations. All build results are
available at http://autobuild.buildroot.org[] available at http://autobuild.buildroot.org[]
A way to contribute is fixing broken builds. A good way to contribute is by fixing broken builds.
In the commit message of a patch fixing an _autobuild_, add a In the commit message of a patch fixing an _autobuild_, add a
reference to the _build result directory_ (the +dir+ link in the _data reference to the _build result directory_ (the +dir+ link in the _data
@ -97,17 +97,17 @@ Fixes http://autobuild.buildroot.org/results/51000a9d4656afe9e0ea6f07b9f8ed374c2
Reporting issues/bugs, get help Reporting issues/bugs, get help
------------------------------- -------------------------------
Before reporting some issues, please chek Before reporting any issue, please check
xref:mailing-list-subscribe[the mailing list archive] in case someone had xref:mailing-list-subscribe[the mailing list archive] in case someone has
already reported and fixed a similar problem. already reported and fixed a similar problem.
Whatever the way you choose to report some bugs or get help, However you choose to report bugs or get help,
xref:bugtracker[opening a bug] or xref:bugtracker[opening a bug] or
xref:mailing-list-subscribe[send a mail to the mailing list], there is xref:mailing-list-subscribe[send a mail to the mailing list], there are
a number of detail to provide in order to help people reproduce and a number of details to provide in order to help people reproduce and
find a solution to the issue. find a solution to the issue.
Try to think as you would be the one who will help someone else; in Try to think as if you were trying to help someone else; in
that case, what would you need? that case, what would you need?
Here is a short list of details to provide in such case: Here is a short list of details to provide in such case:
@ -121,6 +121,5 @@ Here is a short list of details to provide in such case:
Additionnally, your can add the +.config+ file. Additionnally, your can add the +.config+ file.
If some of these details are too large, do not hesitate to use some If some of these details are too large, do not hesitate to use a
pastebin service (see pastebin service (see http://www.similarsitesearch.com/alternatives-to/pastebin.com[]).
http://en.wikipedia.org/wiki/Comparison_of_pastebins[]).

View File

@ -4,8 +4,8 @@ Location of downloaded packages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
It might be useful to know that the various tarballs that are It might be useful to know that the various tarballs that are
downloaded by the Makefiles are all stored in the +DL_DIR+ which by downloaded by the Makefiles are all stored in +DL_DIR+ which by
default is the +dl+ directory. It's useful, for example, if you want default is the +dl+ directory. This is useful, for example, if you want
to keep a complete version of Buildroot which is known to be working to keep a complete version of Buildroot which is known to be working
with the associated tarballs. This will allow you to regenerate the with the associated tarballs. This will allow you to regenerate the
toolchain and the target filesystem with exactly the same versions. toolchain and the target filesystem with exactly the same versions.

View File

@ -4,7 +4,7 @@ Embedded system basics
---------------------- ----------------------
When developing an embedded system, there are a number of choices to When developing an embedded system, there are a number of choices to
do: address:
* the cross-toolchain: target architecture/C library/... * the cross-toolchain: target architecture/C library/...
* the bootloader * the bootloader
@ -14,14 +14,14 @@ do:
* the package selection (busybox vs. "real" programs, ...) * the package selection (busybox vs. "real" programs, ...)
* ... * ...
Some of them may be influenced by the target hardware. Some of these may be influenced by the target hardware.
Some of them may also add some constraints when you will develop the Some of the choices may also add some constraints when you develop the
final application for what your target is designed (e.g. some final application for which your target is designed (e.g. some
functions may be provided by soem C libraries and missing in some functions may be provided by some C libraries and missing in some
others, ...). So, these choices should be carefully done. others, ...). So, these choices should be carefully made.
Buildroot allows to set most of these options to fit your needs. Buildroot allows you to set most of these options to fit your needs.
Moreover, Buildroot provides an infrastructure for reproducing the Moreover, Buildroot provides an infrastructure for reproducing the
build process of your kernel, cross-toolchain, and embedded root build process of your kernel, cross-toolchain, and embedded root

View File

@ -7,7 +7,7 @@ Frequently Asked Questions & Troubleshooting
The boot hangs after 'Starting network...' The boot hangs after 'Starting network...'
------------------------------------------ ------------------------------------------
If the boot process seems to hand 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
packages selected): packages selected):
@ -20,7 +20,7 @@ Starting dropbear sshd: generating rsa key... generating dsa key... OK
then it means that your system is running, but didn't start a shell on then it means that your system is running, but didn't start a shell on
the serial console. In order to have the system start a shell on your the serial console. In order to have the system start a shell on your
serial console, you have to go in the Buildroot configuration, +System serial console, you have to go into the Buildroot configuration, +System
configuration+, and modify +Port to run a getty (login prompt) on+ and configuration+, and modify +Port to run a getty (login prompt) on+ and
+Baudrate to use+ as appropriate. This will automatically tune the +Baudrate to use+ as appropriate. This will automatically tune the
+/etc/inittab+ file of the generated system so that a shell starts on +/etc/inittab+ file of the generated system so that a shell starts on
@ -42,21 +42,21 @@ you should install the +glibc-static+ package. This is because the
C library. C library.
[[faq-no-compiler-on-target]] [[faq-no-compiler-on-target]]
Why there is no compiler on the target? Why is there no compiler on the target?
--------------------------------------- ---------------------------------------
It has been decided that the support of the _native compiler for the It has been decided that support for the _native compiler on the
target_ would be stopped since the Buildroot-2012.11 release because: target_ would be stopped from the Buildroot-2012.11 release because:
* this feature was not maintained nor tested and often broken; * this feature was neither maintained nor tested, and often broken;
* this feature was only available for Buildroot toolchains; * this feature was only available for Buildroot toolchains;
* Buildroot mostly targets _small_ or _very small_ target hardware * Buildroot mostly targets _small_ or _very small_ target hardware
with limited resource onboard (CPU, ram, mass-storage), on which with limited resource onboard (CPU, ram, mass-storage), for which
compiling does not make much sense. compiling does not make much sense.
If you need a compiler on your target anyway, then Buildroot is not If you need a compiler on your target anyway, then Buildroot is not
suitable for your purpose. In such case, you need a _real suitable for your purpose. In such case, you need a _real
distribution_ and you should for something like: distribution_ and you should opt for something like:
* http://www.openembedded.org[openembedded] * http://www.openembedded.org[openembedded]
* https://www.yoctoproject.org[yocto] * https://www.yoctoproject.org[yocto]
@ -67,8 +67,8 @@ distribution_ and you should for something like:
* ... * ...
[[faq-no-dev-files-on-target]] [[faq-no-dev-files-on-target]]
Why there is 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
@ -78,7 +78,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 there is 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
@ -101,21 +101,21 @@ semantics.
See xref:depends-on-vs-select[]. See xref:depends-on-vs-select[].
[[faq-why-not-visible-package]] [[faq-why-not-visible-package]]
Why some packages are 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 appears 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
dependencies are not met. dependencies are not met.
To know more about the dependencies of a package, search the package To know more about the dependencies of a package, search for the
symbol using in teh config menu (see xref:make-tips[]). package symbol in the config menu (see xref:make-tips[]).
Then, you may have to recursively enable several options (which Then, you may have to recursively enable several options (which
correspond to the unmeet dependencies) to finally be able to select correspond to the unmet dependencies) to finally be able to select
the package. the package.
If the package is not visible due to some unmeet toolchain options, If the package is not visible due to some unmet toolchain options,
then you should certainly run a full rebuild (see xref:make-tips[] for then you should certainly run a full rebuild (see xref:make-tips[] for
more explanations). more explanations).
@ -123,12 +123,12 @@ more explanations).
Why not use the target directory as a chroot directory? Why not use the target directory as a chroot directory?
------------------------------------------------------- -------------------------------------------------------
There are plenty of reason 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:
* files' owners, modes and permissions are not correctly set in the * file ownerships, modes and permissions are not correctly set in the
target directory; target directory;
* devices nodes are not created in the target directory. * device nodes are not created in the target directory.
Because of that, commands run in through chroot, using the target For these reasons, commands run through chroot, using the target
directory as new root, will fail. directory as the new root, would fail.

View File

@ -48,8 +48,7 @@ The channel +#buildroot+ is hosted on Freenode
http://webchat.freenode.net[]. http://webchat.freenode.net[].
When asking for help on IRC, share relevant logs or pieces of code When asking for help on IRC, share relevant logs or pieces of code
using a code sharing website (see using a code sharing website.
http://en.wikipedia.org/wiki/Comparison_of_pastebins[], and pick one).
[[patchwork]] [[patchwork]]
Patchwork Patchwork

View File

@ -3,10 +3,10 @@
About Buildroot About Buildroot
=============== ===============
Buildroot provides a full featured environment for cross-development. Buildroot provides a full-featured environment for cross-development.
Buildroot is able to generate a cross-compilation toolchain, a root Buildroot is able to generate a cross-compilation toolchain, a root
filesystem, a Linux kernel image and a bootloader for your target. filesystem, a Linux kernel image and a bootloader for your target.
Buildroot can be used for any combinaison of these options, Buildroot can be used for any combination of these options,
independently. independently.
Buildroot is useful mainly for people working with embedded systems. Buildroot is useful mainly for people working with embedded systems.
@ -15,7 +15,7 @@ processors everyone is used to having in his PC. They can be PowerPC
processors, MIPS processors, ARM processors, etc. processors, MIPS processors, ARM processors, etc.
Buildroot supports numerous processors and their variants; it also Buildroot supports numerous processors and their variants; it also
comes with default configuration for several boards available comes with default configurations for several boards available
off-the-shelf. Besides, a number of third-party projects are based on off-the-shelf. Besides this, a number of third-party projects are based on,
or develop their BSP footnote:[BSP: Board Software Package] or or develop their BSP footnote:[BSP: Board Software Package] or
SDK footnote:[SDK: Standard Development Kit] on top of Buildroot. SDK footnote:[SDK: Standard Development Kit] on top of Buildroot.

View File

@ -12,17 +12,18 @@ All of the end products of Buildroot (toolchain, root filesystem, kernel,
bootloaders) contain opensource software, released under various licenses. bootloaders) contain opensource software, released under various licenses.
Using opensource software gives you the freedom to build rich embedded Using opensource software gives you the freedom to build rich embedded
systems choosing from a wide range of packages, but also gives some systems, choosing from a wide range of packages, but also imposes some
obligations that you must know and honour. obligations that you must know and honour.
Some licenses require you to publish the license text in the documentation of Some licenses require you to publish the license text in the documentation of
your product. Other require you to redistribute the source code of the your product. Others require you to redistribute the source code of the
software to those that receive your product. software to those that receive your product.
The exact requirements of each license is documented in each package, and it is The exact requirements of each license are documented in each package, and
your (or your legal office's) responsibility to comply with these requirements. it is your responsibility (or that of your legal office) to comply with those
requirements.
To make this easier for you, Buildroot can collect for you some material you To make this easier for you, Buildroot can collect for you some material you
will probably need. To produce this material, after you configured Buildroot will probably need. To produce this material, after you have configured
with +make menuconfig+, +make xconfig+ or +make gconfig+, run: Buildroot with +make menuconfig+, +make xconfig+ or +make gconfig+, run:
-------------------- --------------------
make legal-info make legal-info
@ -44,8 +45,8 @@ There you will find:
Buildroot sources and are not duplicated in the +sources/+ subdirectory. Buildroot sources and are not duplicated in the +sources/+ subdirectory.
* A manifest file listing the configured packages, their version, license and * A manifest file listing the configured packages, their version, license and
related information. related information.
Some of these information might be not defined in Buildroot; in this case Some of this information might not be defined in Buildroot; such items are
they are clearly marked as "unknown" or similar. clearly marked as "unknown" or similar.
* A +licenses/+ subdirectory, which contains the license text of packages. * A +licenses/+ subdirectory, which contains the license text of packages.
If the license file(s) are not defined in Buildroot, the file is not produced If the license file(s) are not defined in Buildroot, the file is not produced
and a warning in the +README+ indicates this. and a warning in the +README+ indicates this.
@ -53,7 +54,7 @@ There you will find:
Please note that the aim of the +legal-info+ feature of Buildroot is to Please note that the aim of the +legal-info+ feature of Buildroot is to
produce all the material that is somehow relevant for legal compliance with the produce all the material that is somehow relevant for legal compliance with the
package licenses. Buildroot does not try to produce the exact material that package licenses. Buildroot does not try to produce the exact material that
you must somehow make public. It does surely produce some more material than is you must somehow make public. Certainly, more material is produced than is
needed for a strict legal compliance. For example, it produces the source code needed for a strict legal compliance. For example, it produces the source code
for packages released under BSD-like licenses, that you might not want to for packages released under BSD-like licenses, that you might not want to
redistribute in source form. redistribute in source form.
@ -132,5 +133,5 @@ Buildroot is part of the 'scripts used to control compilation and
installation of the executable', and as such it is considered part of the installation of the executable', and as such it is considered part of the
material that must be redistributed. material that must be redistributed.
Keep in mind this is only the Buildroot developers' opinion, and you should Keep in mind that this is only the Buildroot developers' opinion, and you
consult your legal department or lawyer in case of any doubt. should consult your legal department or lawyer in case of any doubt.

View File

@ -4,18 +4,18 @@
'make' tips 'make' tips
----------- -----------
Because Buildroot is a set of Makefiles and patches, there are few Because Buildroot is a set of Makefiles and patches, there are a few
things useful to know, such as: things that are useful to know, such as:
+make *config+ commands offer a search tool. Read the help message in +make *config+ commands offer a search tool. Read the help message in
the different frontend menu to know how to use it: the different frontend menus to know how to use it:
* in _menuconfig_, search tool is called by pressing +/+; * in _menuconfig_, search tool is called by pressing +/+;
* in _xconfig_, search tool is called by pressing +ctrl+ + +f+. * in _xconfig_, search tool is called by pressing +ctrl+ + +f+.
The result of the search show the help message of the matching items. The result of the search shows the help message of the matching items.
Display all command executed by make: Display all commands executed by make:
-------------------- --------------------
$ make V=0|1 <target> $ make V=0|1 <target>
@ -54,5 +54,5 @@ Delete all build products as well as the configuration:
-------------------- --------------------
Note that if +ccache+ is enabled, running +make clean|distclean+ does Note that if +ccache+ is enabled, running +make clean|distclean+ does
not empty the cache of compiler used by Buildroot. To delete it, refer not empty the compiler cache used by Buildroot. To delete it, refer
to xref:ccache[]. to xref:ccache[].

View File

@ -4,12 +4,11 @@
Makedev syntax documentation Makedev syntax documentation
---------------------------- ----------------------------
The makedev syntax is used across 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
create and how to create them, in order to avoid to call mkdnod every create and how to create them, in order to avoid calls to mknod.
now and then.
This syntax is derived from the makedev utility, and a more complete This syntax is derived from the makedev utility, and more complete
documentation can be found in the +package/makedevs/README+ file. documentation can be found in the +package/makedevs/README+ file.
It takes the form of a line for each file, with the following layout: It takes the form of a line for each file, with the following layout:
@ -18,7 +17,7 @@ It takes the form of a line for each file, with the following layout:
|name |type |mode |uid |gid |major |minor |start |inc |count |name |type |mode |uid |gid |major |minor |start |inc |count
|=========================================================== |===========================================================
There is a few non-trivial blocks here: There are a few non-trivial blocks here:
- +name+ is the path to the file you want to create/modify - +name+ is the path to the file you want to create/modify
- +type+ is the type of the file, being one of : - +type+ is the type of the file, being one of :
@ -27,13 +26,13 @@ There is a few non-trivial blocks here:
* c: a character device file * c: a character device file
* b: a block device file * b: a block device file
* p: a named pipe * p: a named pipe
- +mode+, +uid+ and +gid+ are the usual permissions stuff - +mode+, +uid+ and +gid+ are the usual permissions settings
- +major+ and +minor+ are here for device files - +major+ and +minor+ are here for device files
- +start+, +inc+ and +count+ are when you want to create a whole batch - +start+, +inc+ and +count+ are for when you want to create a batch
of files, and can be reduced to a loop, beginning at +start+, of files, and can be reduced to a loop, beginning at +start+,
incrementing its counter by +inc+ until it reaches +count+ incrementing its counter by +inc+ until it reaches +count+
Let's say you want to change the permissions of a given file, using Let's say you want to change the permissions of a given file; using
this syntax, you will need to put: this syntax, you will need to put:
------------------------------------------------------------------- -------------------------------------------------------------------
/usr/bin/foobar f 644 0 0 - - - - - /usr/bin/foobar f 644 0 0 - - - - -

View File

@ -82,7 +82,7 @@ uninstall the package from both the target and the staging directory
| +rebuild+ | Rebuild only necessary binaries and install them | +rebuild+ | Rebuild only necessary binaries and install them
again again
| +reconfigure+ | Run again the configure command, then rebuild | +reconfigure+ | Re-run the configure command, then rebuild
only necessary binaries, and lastly install them again only necessary binaries, and lastly install them again
|=================================================== |===================================================

View File

@ -10,16 +10,16 @@ necessary to patch the source of the software to get it built within
Buildroot. Buildroot.
Buildroot offers an infrastructure to automatically handle this during Buildroot offers an infrastructure to automatically handle this during
the builds. It support several ways of applying patch sets: the builds. It supports several ways of applying patch sets:
Provinding patches Providing patches
~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~
Additionnal tarball Additional tarball
^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^
If there needs to apply a patch set available as a tarball and If it is necessary to apply a patch set available as a downloadable
downloadable, then add the patch tarball to the +<packagename>_PATCH+ tarball, then add the patch tarball to the +<packagename>_PATCH+
variable. variable.
Note that the patch tarballs are downloaded from the same site as the Note that the patch tarballs are downloaded from the same site as the
@ -28,13 +28,13 @@ sources.
Within Buildroot Within Buildroot
^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^
Most of the patches are provided within Buildroot, in the package Most patches are provided within Buildroot, in the package
directory, because they aim to fix cross-compilation, +libc+ support, directory; these typically aim to fix cross-compilation, +libc+ support,
or whatever the reason is. or other such issues.
These patch files should have the extension +*.patch+. These patch files should have the extension +*.patch+.
A +series+ file, like +quilt+ uses it, may also be added in the A +series+ file, as used by +quilt+, may also be added in the
package directory. In that case, the +series+ file defines the patch package directory. In that case, the +series+ file defines the patch
application order. application order.
@ -43,7 +43,7 @@ How patches are applied
. Run the +<packagename>_PRE_PATCH_HOOKS+ commands if defined; . Run the +<packagename>_PRE_PATCH_HOOKS+ commands if defined;
. Cleanup the build directory from any existing +*.rej+ files; . Cleanup the build directory, removing any existing +*.rej+ files;
. If +<packagename>_PATCH+ is defined, then patches from these . If +<packagename>_PATCH+ is defined, then patches from these
tarballs are applied; tarballs are applied;
@ -65,17 +65,17 @@ 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 the software that is Patches are released under the same license as the software that is
modified. modified.
A message explaining what does the patch and why should be add in the A message explaining what the patch does, and why it is needed, should
patch's header. be added in the header commentary of the patch.
You should add a +signed-off-by+ statement in the header of the each You should add a +signed-off-by+ statement in the header of the each
patch to help keeping track of the changes. patch to help with keeping track of the changes.
If the software is under versionning, it is recommended to use the SCM If the software is under version control, it is recommended to use the
software to generate the patch set. SCM software to generate the patch set.
Otherwise, concatenate the header with the output of the Otherwise, concatenate the header with the output of the
+diff -purN source.c.orig source.c+ command. +diff -purN source.c.orig source.c+ command.
@ -107,10 +107,10 @@ AC_PROG_MAKE_SET
Integrating patches found on the Web Integrating patches found on the Web
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
When integrating a patch whom you are not the author, you have to add When integrating a patch of which you are not the author, you have to
few things in the header of the patch itself. add a few things in the header of the patch itself.
Depending on whether the patch has been pick-up from the project Depending on whether the patch has been obtained from the project
repository itself, or from somewhere on the web, add one of the repository itself, or from somewhere on the web, add one of the
following tags: following tags:
@ -124,5 +124,5 @@ or
Fetch from: <some url> Fetch from: <some url>
--------------- ---------------
It is also possible to add few words about the changes that may have It is also sensible to add a few words about any changes to the patch
been necessary if any. that may have been necessary.

View File

@ -4,13 +4,13 @@
System requirements System requirements
------------------- -------------------
Buildroot is design to run on Linux system. Buildroot is designed to run on Linux systems.
Buildroot needs some software to be already installed on the host Buildroot needs some software to be already installed on the host
system; hereafter the lists of the mandatory and optional packages system; here are the lists of the mandatory and optional packages
(package names may vary between distributions). (package names may vary between distributions).
Take care of _installing both runtime and development data_, especially Take care to _install both runtime and development data_, especially
for the libraries that may be packaged in 2 distinct packages. for the libraries that may be packaged in 2 distinct packages.
@ -58,7 +58,7 @@ Optional packages
* Source fetching tools: * Source fetching tools:
+ +
In the official tree, most of the package sources are retrieved In the official tree, most of the package sources are retrieved
using +wget+, few are only available through their +git+, +mercurial+, using +wget+; a few are only available through their +git+, +mercurial+,
or +svn+ repository. or +svn+ repository.
+ +
All other source fetching methods are implemented and may be used in a All other source fetching methods are implemented and may be used in a

View File

@ -10,7 +10,7 @@ A full rebuild is achieved by running:
$ make clean all $ make clean all
--------------- ---------------
In what cases, a full rebuild is mandatory: In some cases, a full rebuild is mandatory:
* each time the toolchain properties are changed, this includes: * each time the toolchain properties are changed, this includes:
@ -22,14 +22,14 @@ In what cases, a full rebuild is mandatory:
* after removing some libraries from the package selection. * after removing some libraries from the package selection.
In what cases, a full rebuild is recommended: In some cases, a full rebuild is recommended:
* after adding some libraries to the package selection (otherwise, * after adding some libraries to the package selection (otherwise,
some packages that can be optionally linked against those libraries some packages that can be optionally linked against those libraries
won't be rebuilt, so they won't support those new available won't be rebuilt, so they won't support those new available
features). features).
In other cases, it is up to you to decide if you should or not run a In other cases, it is up to you to decide if you should run a
full rebuild, but you should know what is impacted and understand what full rebuild, but you should know what is impacted and understand what
you are doing anyway. you are doing anyway.
@ -81,7 +81,7 @@ files are relevant:
Buildroot infrastructures. Buildroot infrastructures.
- Only toolchain packages remain using custom makefiles (i.e. do not - Only toolchain packages remain using custom makefiles (i.e. do not
use any Buildroot infrastructure). use any Buildroot infrastructure).
- Most packages and toolchain packages, if not all, will progressively - Most, if not all, packages and toolchain packages will progressively
be ported over to the generic, autotools or CMake infrastructure, be ported over to the generic, autotools or CMake infrastructure,
making it much easier to rebuild individual packages. making it much easier to rebuild individual packages.

View File

@ -56,8 +56,7 @@ This command will generally perform the following steps:
* Download source files (as required) * Download source files (as required)
* Configure, build and install the cross-compiling toolchain using the * Configure, build and install the cross-compiling toolchain using the
appropriate toolchain backend is used, or simply import a toolchain appropriate toolchain backend, or simply import an external toolchain
if an external toolchain
* Build/install selected target packages * Build/install selected target packages
* Build a kernel image, if selected * Build a kernel image, if selected
* Build a bootloader image, if selected * Build a bootloader image, if selected

View File

@ -3,7 +3,7 @@
Writing rules Writing rules
------------- -------------
Overall, those writing rules are here to help you add new files in Overall, these writing rules are here to help you add new files in
Buildroot or refactor existing ones. Buildroot or refactor existing ones.
If you slightly modify some existing file, the important thing is If you slightly modify some existing file, the important thing is