RFC: Manual content reorganization
cover RFC: Manual content reorganization
This patch series aims to reorganize the manual content, as well as complete it... thought there are still lacks here and there after that ;-)
This work intends to make the manual:
- understable and clear for new comers, even if they are not familiar with embedded development;
- useful for developers, contributors, even people that may want to redistribute third-party SDK/BSP based on Buildroot
- as the entry point (anyone discovering/needing/using Buildroot should find its way out straight forward reading the manual)
Although I am well aware that these are ambitious goals and this patch series does not acheive nor address all these points, at least, it is a starting point.
Let's talk about the new organization.
Overview of the new table of content:
1. About Buildroot
2. Starting up
Think this chapter like a tutorial.
Includes system requirements, how to get Buildroot and the first steps using it.
3. Working with Buildroot
Intends to present basics to make Buildroot fitting your needs using the available customization knobs.
4. Troubleshooting
5. Going further in Buildroot's innards
Explains some topics like about embedded development, cross-compilation, etc, and gives more advanced tips about Buildroot usages.
6. Developer Guidelines
Intends to provide all relevant information for anyone wanting to hack in Buildroot.
7. Getting involved
Provides all the way to keep informed about the Buildroot development.
8. Contibuting to Buildroot
Gives tips about patch submission.
9. Legal notice
Intends to give legal/license details about Buildroot itself, software used/built by Buildroot, how to redistribute SDK based on, etc.
10. Appendix
From this plan, one can easily distinguish two parts.
As I thought this work, chapters 1 to 4 mainly address people starting with Buildroot, people not necessarily familiar with embedded development, cross-compilation and others scary big words. They just want to use a reliable environment which automatically does things for them.
OTOH, chapters 5 to 10 explain how Buildroot works, is organized and so on, to allow anyone interested in a deeper understanding of the issues of the embedded systems for which Buildroot is for; for people who want to develop, and perhaps at the end contribute to Buildroot.
BTW, over the last days, some other topics came out of my mind, but I have intentionally omitted them, letting their respective authors writing documentation about them. For example:
- patches policy/howto, for which some great changes are on their way to be integrated;
- init system, maybe a paragraph about systemd (that is in the queue) and/or a comparative between the others available init systems could be added:
- package's license explaination;
- ... anything else i missed ;-)
Right now, I'm not happy with everything I did.
For example, now I use a deeper toc (4 title levels in this patch set vs. 3 on the current git master). This has a side effect on the html manual, indeed the toc only shows the first two level, this reduce the readability, IOW the fact that one can quickly find the relevant piece of information he/she is looking for.
So, IOW, I'd like to know whether I'm on right path, the one the Buildroot community want to take.
Happy review!
Looking forward to read your comments, suggestions, critics, blames...
Regards,
Sam
Samuel MARTIN (11):
manual: rework the whole documentation stub
manual: rework introduction.txt and update embedded-basics.txt
manual: update prerequisite.txt
manual: rework using.txt and update common-usage.txt
manual: update make-tips.txt
manual: update working-with.txt
manual: update troubleshooting.txt
manual: rework the intro of customize-rootfs.txt
manual: update writing-rules.txt
manual: update get-involved.txt
manual: update contribute.txt
docs/manual/adding-packages-autotargets.txt | 6 +- docs/manual/adding-packages-cmaketargets.txt | 6 +- docs/manual/adding-packages-conclusion.txt | 2 +- docs/manual/adding-packages-directory.txt | 11 ++- docs/manual/adding-packages-gentargets.txt | 6 +- docs/manual/adding-packages-gettext.txt | 2 +- docs/manual/adding-packages-handwritten.txt | 4 +- docs/manual/adding-packages.txt | 3 +- docs/manual/advanced.txt | 10 +++ docs/manual/board-support.txt | 3 +- docs/manual/ccache-support.txt | 3 +- docs/manual/common-usage.txt | 81 ++++++++++++++++++ docs/manual/contribute.txt | 63 ++++++++++++++ docs/manual/customize-busybox-config.txt | 6 +- docs/manual/customize-kernel-config.txt | 3 +- docs/manual/customize-rootfs.txt | 7 +- docs/manual/customize-toolchain.txt | 10 +-- docs/manual/customize-uclibc-config.txt | 4 +- docs/manual/customize.txt | 2 +- docs/manual/developer-guide.txt | 8 ++ docs/manual/download-location.txt | 2 +- docs/manual/embedded-basics.txt | 67 +++++++++++++++ docs/manual/external-toolchain.txt | 4 +- docs/manual/get-involved.txt | 67 +++++++++++++++ docs/manual/getting.txt | 4 +- docs/manual/going-further.txt | 8 ++ docs/manual/how-buildroot-works.txt | 2 +- docs/manual/introduction.txt | 74 +++------------- docs/manual/legal-notice.txt | 4 + docs/manual/make-tips.txt | 48 +++++++++++ docs/manual/manual.txt | 21 ++--- docs/manual/prerequisite.txt | 69 +++++++++++++++ docs/manual/rebuilding-packages.txt | 6 +- docs/manual/starting-up.txt | 9 ++ docs/manual/troubleshooting.txt | 46 ++++++++++ docs/manual/using-buildroot-toolchain.txt | 2 +- docs/manual/using.txt | 105 ++++------------------- docs/manual/working-with.txt | 22 +++++ docs/manual/writing-rules.txt | 119 ++++++++++++++++++++++++++ 39 files changed, 716 insertions(+), 203 deletions(-) create mode 100644 docs/manual/advanced.txt create mode 100644 docs/manual/common-usage.txt create mode 100644 docs/manual/contribute.txt create mode 100644 docs/manual/developer-guide.txt create mode 100644 docs/manual/embedded-basics.txt create mode 100644 docs/manual/get-involved.txt create mode 100644 docs/manual/going-further.txt create mode 100644 docs/manual/legal-notice.txt create mode 100644 docs/manual/make-tips.txt create mode 100644 docs/manual/prerequisite.txt create mode 100644 docs/manual/starting-up.txt create mode 100644 docs/manual/troubleshooting.txt create mode 100644 docs/manual/working-with.txt create mode 100644 docs/manual/writing-rules.txt
--
1.7.9.4
PATCH 1/11 manual: rework the whole documentation stub
The new skeleton of the manual as it has been thought:
1. About Buildroot:
Presentation of Buildroot
2. Starting up:
Everything to quickly and easily start working with Buildroot
3. Working with Buildroot
Basics to make your work fitting your needs
4. Troubleshooting
5. Going further in Buildroot's innards
Explaination of how buildroot is organised, how it works, etc
6. Developer Guidelines 7. Getting involved 8. Contibuting to Buildroot 9. Legal notice
10. Appendix
It is easy to distinguish two parts in this plan:
- Sections 1 to 4 mainly address people starting with Buildroot
- Sections 5 to 10 are more focused on how to develop Buildroot itself
Most of the existing sections have just been moved in the hierarchy, few were split and dispatch in, what i think was the relevant section, and numerous others have been created.
--- docs/manual/adding-packages-autotargets.txt | 6 +++--- docs/manual/adding-packages-cmaketargets.txt | 6 +++--- docs/manual/adding-packages-conclusion.txt | 2 +- docs/manual/adding-packages-directory.txt | 6 +++--- docs/manual/adding-packages-gentargets.txt | 6 +++--- docs/manual/adding-packages-gettext.txt | 2 +- docs/manual/adding-packages-handwritten.txt | 4 +--- docs/manual/adding-packages.txt | 3 ++- docs/manual/advanced.txt | 10 ++++++++++ docs/manual/board-support.txt | 3 ++- docs/manual/ccache-support.txt | 3 ++- docs/manual/common-usage.txt | 4 ++++ docs/manual/contribute.txt | 2 ++ docs/manual/customize-busybox-config.txt | 6 +++--- docs/manual/customize-kernel-config.txt | 3 ++- docs/manual/customize-rootfs.txt | 3 ++- docs/manual/customize-toolchain.txt | 10 +++++----- docs/manual/customize-uclibc-config.txt | 4 ++-- docs/manual/customize.txt | 2 +- docs/manual/developer-guide.txt | 8 ++++++++ docs/manual/download-location.txt | 2 +- docs/manual/embedded-basics.txt | 2 ++ docs/manual/external-toolchain.txt | 4 ++-- docs/manual/get-involved.txt | 2 ++ docs/manual/getting.txt | 3 ++- docs/manual/going-further.txt | 8 ++++++++ docs/manual/how-buildroot-works.txt | 2 +- docs/manual/legal-notice.txt | 4 ++++ docs/manual/make-tips.txt | 2 ++ docs/manual/manual.txt | 21 +++++++++++---------- docs/manual/prerequisite.txt | 2 ++ docs/manual/rebuilding-packages.txt | 2 +- docs/manual/starting-up.txt | 9 +++++++++ docs/manual/troubleshooting.txt | 2 ++ docs/manual/using-buildroot-toolchain.txt | 2 +- docs/manual/working-with.txt | 12 ++++++++++++ docs/manual/writing-rules.txt | 11 +++++++++++ 37 files changed, 133 insertions(+), 50 deletions(-) create mode 100644 docs/manual/advanced.txt create mode 100644 docs/manual/common-usage.txt create mode 100644 docs/manual/contribute.txt create mode 100644 docs/manual/developer-guide.txt create mode 100644 docs/manual/embedded-basics.txt create mode 100644 docs/manual/get-involved.txt create mode 100644 docs/manual/going-further.txt create mode 100644 docs/manual/legal-notice.txt create mode 100644 docs/manual/make-tips.txt create mode 100644 docs/manual/prerequisite.txt create mode 100644 docs/manual/starting-up.txt create mode 100644 docs/manual/troubleshooting.txt create mode 100644 docs/manual/working-with.txt create mode 100644 docs/manual/writing-rules.txt
docs/manual/adding-packages-autotargets.txt +3 -3
@@ -1,10 +1,10 @@ Infrastructure for autotools-based packages -------------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [[autotargets-tutorial]] +AUTOTARGETS+ tutorial -~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^ First, let's see how to write a +.mk+ file for an autotools-based package, with an example :
@@ -64,7 +64,7 @@ package to be built. [[autotargets-reference]] +AUTOTARGETS+ reference -~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^ The main macro of the autotools package infrastructure is +AUTOTARGETS+. It has the same number of arguments and the
docs/manual/adding-packages-cmaketargets.txt +3 -3
@@ -1,10 +1,10 @@ Infrastructure for CMake-based packages ---------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [[cmaketargets-tutorial]] +CMAKETARGETS+ tutorial -~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^ First, let's see how to write a +.mk+ file for a CMake-based package, with an example :
@@ -63,7 +63,7 @@ package to be built. [[cmaketargets-reference]] +CMAKETARGETS+ reference -~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^ The main macro of the CMake package infrastructure is +CMAKETARGETS+. It has the same number of arguments and the same
docs/manual/adding-packages-conclusion.txt +1 -1
@@ -1,5 +1,5 @@ Conclusion ----------- +~~~~~~~~~~ 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
docs/manual/adding-packages-directory.txt +3 -3
@@ -1,5 +1,5 @@ Package directory ------------------ +~~~~~~~~~~~~~~~~~ First of all, create a directory under the +package+ directory for your software, for example +libfoo+.
@@ -10,7 +10,7 @@ one of these categories, then create your package directory in these. +Config.in+ file -~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^ Then, create a file named +Config.in+. This file will contain the option descriptions related to our +libfoo+ software that will be used
@@ -146,7 +146,7 @@ so, the dependency also needs to be expressed in the +.mk+ file of the package. The +.mk+ file -~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^ Finally, here's the hardest part. Create a file named +libfoo.mk+. It describes how the package should be downloaded, configured, built,
docs/manual/adding-packages-gentargets.txt +3 -3
@@ -1,5 +1,5 @@ Infrastructure for packages with specific build systems -------------------------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ By 'packages with specific build systems' we mean all the packages whose build system is not one of the standard ones, such as
@@ -9,7 +9,7 @@ system is based on hand-written Makefiles or shell scripts. [[gentargets-tutorial]] +GENTARGETS+ Tutorial -~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^ ------------------------------ 01: #############################################################
@@ -90,7 +90,7 @@ Makefile code necessary to make your package working. [[gentargets-reference]] +GENTARGETS+ Reference -~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^ The +GENTARGETS+ macro takes one optional argument. This argument can be used to tell if the package is a target package (cross-compiled for
docs/manual/adding-packages-gettext.txt +1 -1
@@ -1,5 +1,5 @@ Gettext integration and interaction with packages -------------------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Many packages that support internationalization use the gettext library. Dependencies for this library are fairly complicated and
docs/manual/adding-packages-handwritten.txt +1 -3
@@ -1,7 +1,5 @@ -[[handwritten-tutorial]] - Manual Makefile ---------------- +~~~~~~~~~~~~~~~ *NOTE: new manual makefiles should not be created, and existing manual makefiles should be converted either to the generic, autotools or
docs/manual/adding-packages.txt +2 -1
@@ -1,5 +1,6 @@ +[[adding-packages]] Adding new packages to Buildroot -================================ +-------------------------------- This section covers how new packages (userspace libraries or applications) can be integrated into Buildroot. It also shows how
docs/manual/advanced.txt new file +10 -0
@@ -0,0 +1,10 @@ +Advanced usage +-------------- + +include::using-buildroot-toolchain.txt[] + +include::external-toolchain.txt[] + +include::ccache-support.txt[] + +include::download-location.txt[]
docs/manual/board-support.txt +2 -1
@@ -1,5 +1,6 @@ +[[board-support]] Creating your own board support -=============================== +------------------------------- Creating your own board support in Buildroot allows users of a particular hardware platform to easily build a system that is known to
docs/manual/ccache-support.txt +2 -1
@@ -1,5 +1,6 @@ +[[ccache]] Using +ccache+ in Buildroot -=========================== +~~~~~~~~~~~~~~~~~~~~~~~~~~~ http://ccache.samba.org[ccache] is a compiler cache. It stores the object files resulting from each compilation process, and is able to
docs/manual/common-usage.txt new file +4 -0
@@ -0,0 +1,4 @@ +Daily use +--------- + +include::rebuilding-packages.txt[]
docs/manual/contribute.txt new file +2 -0
@@ -0,0 +1,2 @@ +Contibuting to Buildroot +========================
docs/manual/customize-busybox-config.txt +3 -3
@@ -1,6 +1,6 @@ -Customizing the Busybox configuration -------------------------------------- [[busybox-custom]] +Customizing the Busybox configuration +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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
@@ -20,5 +20,5 @@ Otherwise, you can simply change the options you want to change, without using the configuration tool. If you want to use an existing config file for busybox, then see -section xref:env-vars[]. +xref:env-vars[].
docs/manual/customize-kernel-config.txt +2 -1
@@ -1,5 +1,6 @@ +[[kernel-custom]] Customizing the Linux kernel configuration ------------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The Linux kernel configuration can be customized just like xref:busybox-custom[BusyBox] and xref:uclibc-custom[uClibc] using
docs/manual/customize-rootfs.txt +2 -1
@@ -1,5 +1,6 @@ +[[rootfs-custom]] Customizing the generated target filesystem -------------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ There are a few ways to customize the resulting target filesystem:
docs/manual/customize-toolchain.txt +5 -5
@@ -1,12 +1,12 @@ -Customizing the toolchain -------------------------- [[toolchain-custom]] +Customizing the toolchain +~~~~~~~~~~~~~~~~~~~~~~~~~ There are three distinct types of toolchain backend supported in Buildroot, available under the menu +Toolchain+, invoking +make menuconfig+. Using the external toolchain backend -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ There is no way of tuning an external toolchain since Buildroot does not generate it.
@@ -15,7 +15,7 @@ It also requires to set the Buildroot settings according to the toolchain ones (see xref:external-toolchain[]). Using the internal Buildroot toolchain backend -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The internal Buildroot toolchain backend *only* allows to generate *http://www.uclibc.org/[uClibc]-based toolchains*.
@@ -32,7 +32,7 @@ This is directly available after selecting the +Buildroot toolchain+ type in the menu +Toolchain+. Using the Crosstool-NG backend -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The http://crosstool-ng.org[crosstool-NG] toolchain backend enables a rather limited set of settings under the Buildroot +Toolchain+ menu (ie. when invoking
docs/manual/customize-uclibc-config.txt +2 -2
@@ -1,6 +1,6 @@ -Customizing the uClibc configuration ------------------------------------- [[uclibc-custom]] +Customizing the uClibc configuration +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Just like xref:busybox-custom[BusyBox], http://www.uclibc.org/[uClibc] offers a lot of configuration options. They allow you to select
docs/manual/customize.txt +1 -1
@@ -1,5 +1,5 @@ Customization -============= +------------- include::customize-rootfs.txt[]
docs/manual/developer-guide.txt new file +8 -0
@@ -0,0 +1,8 @@ +Developer Guidelines +==================== + +include::writing-rules.txt[] + +include::adding-packages.txt[] + +include::board-support.txt[]
docs/manual/download-location.txt +1 -1
@@ -1,5 +1,5 @@ Location of downloaded packages -=============================== +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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
docs/manual/embedded-basics.txt new file +2 -0
@@ -0,0 +1,2 @@ +Embedded system basics & Reasons to use Buildroot +-------------------------------------------------
docs/manual/external-toolchain.txt +2 -2
@@ -1,6 +1,6 @@ -Using an external toolchain -=========================== [[external-toolchain]] +Using an external toolchain +~~~~~~~~~~~~~~~~~~~~~~~~~~~ Using an already existing toolchain is useful for different reasons:
docs/manual/get-involved.txt new file +2 -0
@@ -0,0 +1,2 @@ +Getting involved +================
docs/manual/getting.txt +2 -1
@@ -1,5 +1,6 @@ +[[getting-buildroot]] Getting Buildroot -================= +----------------- Buildroot releases are made approximately every 3 months. Direct Git access and daily snapshots are also available, if you want more
docs/manual/going-further.txt new file +8 -0
@@ -0,0 +1,8 @@ +Going further in Buildroot's innards +==================================== + +include::embedded-basics.txt[] + +include::how-buildroot-works.txt[] + +include::advanced.txt[]
docs/manual/how-buildroot-works.txt +1 -1
@@ -1,5 +1,5 @@ How Buildroot works -=================== +------------------- As mentioned above, Buildroot is basically a set of Makefiles that download, configure, and compile software with the correct options. It
docs/manual/legal-notice.txt new file +4 -0
@@ -0,0 +1,4 @@ +Legal notice +============ + +TODO
docs/manual/make-tips.txt new file +2 -0
@@ -0,0 +1,2 @@ +'make' tips +-----------
docs/manual/manual.txt +11 -10
@@ -11,24 +11,25 @@ image::logo.png[] include::introduction.txt[] -include::getting.txt[] +include::starting-up.txt[] -include::using.txt[] -include::customize.txt[] -include::rebuilding-packages.txt[] +include::working-with.txt[] -include::how-buildroot-works.txt[] +include::troubleshooting.txt[] -include::using-buildroot-toolchain.txt[] -include::external-toolchain.txt[] -include::ccache-support.txt[] +include::going-further.txt[] -include::download-location.txt[] +include::developer-guide.txt[] + +include::get-involved.txt[] + +include::contribute.txt[] + +include::legal-notice.txt[] -include::adding-packages.txt[] include::appendix.txt[]
docs/manual/prerequisite.txt new file +2 -0
@@ -0,0 +1,2 @@ +System requirements +-------------------
docs/manual/rebuilding-packages.txt +1 -1
@@ -1,5 +1,5 @@ Understanding how to rebuild packages -===================================== +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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
docs/manual/starting-up.txt new file +9 -0
@@ -0,0 +1,9 @@ +Starting up +=========== + +include::prerequisite.txt[] + +include::getting.txt[] + +include::using.txt[] +
docs/manual/troubleshooting.txt new file +2 -0
@@ -0,0 +1,2 @@ +Troubleshooting +===============
docs/manual/using-buildroot-toolchain.txt +1 -1
@@ -1,5 +1,5 @@ Using the generated toolchain outside Buildroot -=============================================== +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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
docs/manual/working-with.txt new file +12 -0
@@ -0,0 +1,12 @@ +Working with Buildroot +====================== +[[working-with-br]] + +include::make-tips.txt[] + +include::customize.txt[] + +include::common-usage.txt[] + +Tweaking Buildroot +------------------
docs/manual/writing-rules.txt new file +11 -0
@@ -0,0 +1,11 @@ +Writing rules +------------- + ++Config.in+ file +~~~~~~~~~~~~~~~~ + +The +.mk+ file +~~~~~~~~~~~~~~ + +The documentation +~~~~~~~~~~~~~~~~~
Signature · 1 line
1.7.9.4
PATCH 2/11 manual: rework introduction.txt and update embedded-basics.txt
In reply to Samuel MARTINSplit and rephrasing of introduction.txt.
Cross-toolchain and pro-Buildroot explainations moved from introduction.txt into embedded-basics.txt.
--- docs/manual/embedded-basics.txt | 65 ++++++++++++++++++++++++++++++++++ docs/manual/introduction.txt | 74 +++++++-------------------------------- 2 files changed, 78 insertions(+), 61 deletions(-)
docs/manual/embedded-basics.txt +65 -0
@@ -1,2 +1,67 @@ Embedded system basics & Reasons to use Buildroot ------------------------------------------------- + +Cross-compilation & cross-toolchain +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +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+), +binary utils like assembler and linker (in our case, +binutils+) and a +C standard library (for example +http://www.gnu.org/software/libc/libc.html[GNU Libc], +http://www.uclibc.org/[uClibc] or +http://www.fefe.de/dietlibc/[dietlibc]). The system installed on your +development station certainly already has a compilation toolchain that +you can use to compile an application that runs on your system. If +you're using a PC, your compilation toolchain runs on an x86 processor +and generates code for an x86 processor. Under most Linux systems, the +compilation toolchain uses the GNU libc (glibc) as the C standard +library. This compilation toolchain is called the "host compilation +toolchain". The machine on which it is running, and on which you're +working, is called the "host system". The compilation toolchain is +provided by your distribution, and Buildroot has nothing to do with it +(other than using it to build a cross-compilation toolchain and other +tools that are run on the development host). + +As said above, the compilation toolchain that comes with your system +runs on and generates code for the processor in your host system. As +your embedded system has a different processor, you need a +cross-compilation toolchain - a compilation toolchain that runs on +your host system but generates code for your target system (and target +processor). For example, if your host system uses x86 and your target +system uses ARM, the regular compilation toolchain on your host runs on +x86 and generates code for x86, while the cross-compilation toolchain +runs on x86 and generates code for ARM. + +[[pros-buildroot]] + +Why choose Buildroot +~~~~~~~~~~~~~~~~~~~~ + +Even if your embedded system uses an x86 processor, you might be +interested in Buildroot for two reasons: + +* The compilation toolchain on your host certainly uses the GNU Libc + which is a complete but huge C standard library. Instead of using + GNU Libc on your target system, you can use uClibc which is a tiny C + standard library. If you want to use this C library, then you need a + compilation toolchain to generate binaries linked with it. Buildroot + can do that for you. + +* Buildroot automates the building of a root filesystem with all + needed tools like busybox. That makes it much easier than doing it + by hand. + +You might wonder why such a tool is needed when you can compile +gcc+, ++binutils+, +uClibc+ and all the other tools by hand. Of course doing +so is possible but, dealing with all of the configure options and +problems of every +gcc+ or +binutils+ version is very time-consuming +and uninteresting. Buildroot automates this process through the use +of Makefiles and has a collection of patches for each +gcc+ and ++binutils+ version to make them work on most architectures. + +Moreover, Buildroot provides an infrastructure for reproducing the +build process of your kernel, cross-toolchain, and embedded root +filesystem. Being able to reproduce the build process will be useful +when a component needs to be patched or updated or when another person +is supposed to take over the project.
docs/manual/introduction.txt +13 -61
82 lines not on this page · raw message
Signature · 1 line
1.7.9.4
PATCH 3/11 manual: update prerequisite.txt
In reply to Samuel MARTIN--- docs/manual/prerequisite.txt | 67 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+)
docs/manual/prerequisite.txt +67 -0
@@ -1,2 +1,69 @@ +[[requirement]] System requirements ------------------- + +Buildroot is design to run on Linux system. + +Buildroot needs some software to be already installed on the host +system; hereafter the lists of the mandatory and optional packages +(packages' name may vary between distribution). + +Take care of _installing both runtime and development data_, especially +for the libraries that may be packaged in 2 distinct packages. + + +[[requirement-mandatory]] + +Mandatory packages +~~~~~~~~~~~~~~~~~~ + +* Build tools: +** +build-essential+ (only for Debian based system) +** +gcc+ +** +g+++ +** +autoconf+ +** +automake+ +** +libtool+ +** +bison+ +** +flex+ +** +gettext+ +** +patch+ +** +gawk+ + +* Source fetching tools: +** +curl+ +** +wget+ +** +cvs+ +** +git+ +** +mercurial+ +** +subversion+ + +* Development libraries: +** +ncurses5+ +** +lzo2+ +** +lzma+ +** +zlib1+ +** +acl1+ +** +uuid+ + +* Documentation generation tools: +** +asciidoc+ +** +texinfo+ + +[[requirement-optional]] + +Optional packages +~~~~~~~~~~~~~~~~~ + +* Interface dependencies (requires development libraries): +** +ncurses5+ to use the 'menuconfig' interface +** +qt4+ to use the 'xconfig' interface +** +glib2+, +gtk2+ and +glade2+ to use the 'gconfig' interface + +* Development libraries: +** +glib2+ +** +netpbm10+ (for +fbtest+) +** +python-xcbgen+ (for +Matchbox+ on Debian based system) +** +jdk+ and and depending on the host system +gcj-compat+ for Java +development (for +java+, +jamvm+ and +gnu-classpath+) +
Signature · 1 line
1.7.9.4
PATCH 3/11 manual: update prerequisite.txt
Hello Samuel,
Good work. I'll try to reply to your introduction e-mail soon with general comments. Below some specific comments on this patch.
Le Wed, 21 Mar 2012 00:09:53 +0100,
Samuel MARTIN <[email protected]> a ?crit :
docs/manual/prerequisite.txt line 26
Quoted 10 lines
docs/manual/prerequisite.txt +10
-0+Mandatory packages +~~~~~~~~~~~~~~~~~~ + +* Build tools: +** +build-essential+ (only for Debian based system) +** +gcc+ +** +g+++ +** +autoconf+ +** +automake+ +** +libtool+
autoconf/automake/libtool are not needed.
docs/manual/prerequisite.txt line 31
Quoted 5 lines
docs/manual/prerequisite.txt +5
-0+** +bison+ +** +flex+ +** +gettext+ +** +patch+ +** +gawk+
gawk is not in the list of mandatory dependencies. For example, the crosstool-ng package builds host-gawk because it needs gawk. So this tool is not current part of the mandatory dependencies.
docs/manual/prerequisite.txt line 34
Quoted 2 lines
docs/manual/prerequisite.txt +2
-0+* Source fetching tools: +** +curl+
curl is not needed.
docs/manual/prerequisite.txt line 39
Quoted 5 lines
docs/manual/prerequisite.txt +5
-0+** +wget+ +** +cvs+ +** +git+ +** +mercurial+ +** +subversion+
None of the version control systems are part of the mandatory dependencies. They will only be needed if the user has selected only one package that needs to be fetched from one of those version control system.
I know it's nitpicking, but I think that one of the good thing with Buildroot is that the amount of mandatory dependencies on the host is relatively small, so it would be a shame to mark all those tools are mandatory even though they are not.
docs/manual/prerequisite.txt line 47
Quoted 7 lines
docs/manual/prerequisite.txt +7
-0+* Development libraries: +** +ncurses5+ +** +lzo2+ +** +lzma+ +** +zlib1+ +** +acl1+ +** +uuid+
Except ncurses5, none of these libraries should be needed, I think. We build host-zlib when needed, and I don't see where the other libraries are coming from.
docs/manual/prerequisite.txt line 50
Quoted 2 lines
docs/manual/prerequisite.txt +2
-0+* Documentation generation tools: +** +asciidoc+
This one should be part of the optional dependencies, people /using/ Buildroot will not need to re-generate the documentation.
docs/manual/prerequisite.txt line 58
Quoted 10 lines
docs/manual/prerequisite.txt +8
-0+** +texinfo+ + +[[requirement-optional]] + +Optional packages +~~~~~~~~~~~~~~~~~ + +* Interface dependencies (requires development libraries):
s/Interface/Configuration interface/
Quoted 1 line
+** +ncurses5+ to use the 'menuconfig' interface
This one is already listed above as a mandatory dependency.
docs/manual/prerequisite.txt line 66
Quoted 7 lines
docs/manual/prerequisite.txt +7
-0+** +qt4+ to use the 'xconfig' interface +** +glib2+, +gtk2+ and +glade2+ to use the 'gconfig' interface + +* Development libraries: +** +glib2+ +** +netpbm10+ (for +fbtest+) +** +python-xcbgen+ (for +Matchbox+ on Debian based system)
Huh, why?!? We build host-libglib2 when needed, and the other ones should be fixed if they don't build correctly without those host components installed.
docs/manual/prerequisite.txt line 68
Quoted 2 lines
docs/manual/prerequisite.txt +2
-0+** +jdk+ and and depending on the host system +gcj-compat+ for Java +development (for +java+, +jamvm+ and +gnu-classpath+)
We don't have Java packages anymore in Buildroot, at least at the moment.
Best regards,
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
PATCH 4/11 manual: rework using.txt and update common-usage.txt
In reply to Samuel MARTINConsider the second chapter: "starting-up", as a tutorial. Assuming that, using.txt only contains the very first commands used to get configure and build its very first target system.
So, the following subsection from using.txt have been to common-usage.txt:
- Offline builds
- Building out-of-tree
- Environment variables
--- docs/manual/common-usage.txt | 77 +++++++++++++++++++++++++++++++ docs/manual/using.txt | 105 +++++++----------------------------------- 2 files changed, 93 insertions(+), 89 deletions(-)
docs/manual/common-usage.txt +77 -0
@@ -2,3 +2,80 @@ Daily use --------- include::rebuilding-packages.txt[] + +Offline builds +~~~~~~~~~~~~~~ + +If you intend to do an offline build and just want to download +all sources that you previously selected in the configurator +('menuconfig', 'xconfig' or 'gconfig'), then issue: + +-------------------- + $ make source +-------------------- + +You can now disconnect or copy the content of your +dl+ +directory to the build-host. + +Building out-of-tree +~~~~~~~~~~~~~~~~~~~~ + +Buildroot supports building out of tree with a syntax similar to the +Linux kernel. To use it, add +O=<directory>+ to the make command line: + +-------------------- + $ make O=/tmp/build +-------------------- + +Or: + +-------------------- + $ cd /tmp/build; make O=$PWD -C path/to/buildroot +-------------------- + +All the output files will be located under +/tmp/build+. + +When using out-of-tree builds, the Buildroot +.config+ and temporary +files are also stored in the output directory. This means that you can +safely run multiple builds in parallel using the same source tree as +long as they use unique output directories. + +For ease of use, Buildroot generates a Makefile wrapper in the output +directory - So after the first run, you no longer need to pass +O=..+ +and +-C ..+, simply run (in the output directory): + +-------------------- + $ make <target> +-------------------- + +[[env-vars]] + +Environment variables +~~~~~~~~~~~~~~~~~~~~~ + +Buildroot also honors some environment variables, when they are passed +to +make+ or set in the environment: + +* +HOSTCXX+, the host C++ compiler to use +* +HOSTCC+, the host C compiler to use +* +UCLIBC_CONFIG_FILE=<path/to/.config>+, path to + the uClibc configuration file, used to compile uClibc, if an + internal toolchain is being built +* +BUSYBOX_CONFIG_FILE=<path/to/.config>+, path to + the Busybox configuration file +* +BUILDROOT_DL_DIR+ to override the directory in which + Buildroot stores/retrieves downloaded files + +An example that uses config files located in the toplevel directory and +in your $HOME: + +-------------------- + $ make UCLIBC_CONFIG_FILE=uClibc.config BUSYBOX_CONFIG_FILE=$HOME/bb.config +-------------------- + +If you want to use a compiler other than the default +gcc+ +or +g+++ for building helper-binaries on your host, then do + +-------------------- + $ make HOSTCXX=g++-4.3-HEAD HOSTCC=gcc-4.3-HEAD +--------------------
docs/manual/using.txt +16 -89
128 lines not on this page · raw message
Signature · 1 line
1.7.9.4
PATCH 5/11 manual: update make-tips.txt
In reply to Samuel MARTIN--- docs/manual/make-tips.txt | 46 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+)
docs/manual/make-tips.txt +46 -0
@@ -1,2 +1,48 @@ +[[make-tips]] 'make' tips ----------- + +Because Buildroot is a set of Makefiles and patches, there are few +things useful to know, such as: + +Display all command executed by make: + +-------------------- + $ make V=0|1 <target> +-------------------- + +Display all available targets: + +-------------------- + $ make help +-------------------- + +Note that, some settings in the +.config+ file may hide some targets +like: + +* +busybox-menuconfig+ depends whether +busybox+ is enabled or not in + the +Package selection+ menu +* +linux-menuconfig+ and +linux-savedefconfig+ depends on whether + +linux+ is enabled or not +* +uclibc-menuconfig+ depends on whether the toolchain uses the + Buildroot internal toolchain backend or not +* +ctng-menuconfig+ depends on whether the toolchain uses the + crosstool-NG backend or not +* +barebox-menuconfig+ and +barebox-savedefconfig+ depends on whether + +barebox+ bootloader is enabled or not + +Delete all build products (including build directories, host, staging +and target trees, the images and the toolchain): + +-------------------- + $ make clean +-------------------- + +Delete all build products as well as the configuration: + +-------------------- + $ make distclean +-------------------- + +Note that if +ccache+ is enabled, running +make clean|distclean+ does +not empty the Buildroot's cache. To delete it, refer to xref:ccache[].
Signature · 1 line
1.7.9.4
PATCH 6/11 manual: update working-with.txt
In reply to Samuel MARTIN--- docs/manual/rebuilding-packages.txt | 4 ++-- docs/manual/working-with.txt | 12 +++++++++++- 2 files changed, 13 insertions(+), 3 deletions(-)
docs/manual/rebuilding-packages.txt +2 -2
@@ -25,8 +25,8 @@ by the different packages, so some understanding of the particular package is needed. For packages relying on Buildroot packages infrastructures (see -xref:add-packages[this section] for details), the following stamp -files are relevant: +xref:adding-packages[] for details), the following stamp files are +relevant: * +output/build/packagename-version/.stamp_configured+. If removed, Buildroot will trigger the recompilation of the package from the
docs/manual/working-with.txt +11 -1
@@ -1,6 +1,9 @@ Working with Buildroot ====================== -[[working-with-br]] + +This section aims to explain how Buildroot allows you to tune, +customize almost everthing... making your configuration fitting your +needs. include::make-tips.txt[]
@@ -10,3 +13,10 @@ include::common-usage.txt[] Tweaking Buildroot ------------------ + +Because Buildroot does not yet fit all your requirements, you may be +intrested in tweaking it to add: + +* new packages: refer to the xref:adding-packages[Developer guide] + +* new board support: refer to the xref:board-support[Developer guide]
Signature · 1 line
1.7.9.4
PATCH 7/11 manual: update troubleshooting.txt
In reply to Samuel MARTIN--- docs/manual/troubleshooting.txt | 44 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+)
docs/manual/troubleshooting.txt +44 -0
@@ -1,2 +1,46 @@ Troubleshooting =============== + +LZO package configuration failure due to incorrect host architecture detection +------------------------------------------------------------------------------ + +Typical error output +~~~~~~~~~~~~~~~~~~~~ + +------------------------ +configure: Configuring LZO 2.03 +checking build system type... Invalid configuration `x86_64-unknown-linux-': machine `x86_64-unknown-linux' not recognized +configure: error: /bin/sh autoconf/config.sub x86_64-unknown-linux- failed +------------------------ + +Actually this is a known ccache/zlib issue (see +https://bugs.busybox.net/show_bug.cgi?id=4808) that occurs when the +zlib version of the host system is more recent that the one provided +by Buildroot. This misleads the Buildroot host binary +ccache+. + +This bug has been spotted, then fixed shortly after the Buildroot +2012.02 release. + +If you are using the release 2012.02 or elder and got this issue, then +applying this patch +http://git.buildroot.net/buildroot/patch/package/ccache/ccache.mk?id=7ea11dafff37c5403432f691cf3c46d1d5566e46 +should fix it. + +Solution +~~~~~~~~ + +* Get the upstream patch: ++ +----------------------- + $ wget -O /tmp/ccache-Force-ccache-to-use-its-internal-zlib.patch \ + "http://git.buildroot.net/buildroot/patch/package/ccache/ccache.mk?id=7ea11dafff37c5403432f691cf3c46d1d5566e46" +------------------------ + +* Apply this patch and rebuild ccache: ++ +------------------------ + $ cd buildroot + $ patch -p1 < /tmp/ccache-Force-ccache-to-use-its-internal-zlib.patch + $ make host-ccache-dirclean + $ make +------------------------
Signature · 1 line
1.7.9.4
PATCH 8/11 manual: rework the intro of customize-rootfs.txt
In reply to Samuel MARTIN--- docs/manual/customize-rootfs.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
docs/manual/customize-rootfs.txt +3 -1
@@ -2,7 +2,9 @@ Customizing the generated target filesystem ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -There are a few ways to customize the resulting target filesystem: +Apart changing one or another configuration through +make +*-menuconfig+, there are a few ways to customize the resulting target +filesystem: * Customize the target filesystem directly and rebuild the image. The target filesystem is available under +output/target/+. You can
Signature · 1 line
1.7.9.4
PATCH 9/11 manual: update writing-rules.txt
In reply to Samuel MARTIN--- docs/manual/adding-packages-directory.txt | 5 ++ docs/manual/writing-rules.txt | 108 +++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+)
docs/manual/adding-packages-directory.txt +5 -0
@@ -145,6 +145,9 @@ 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 package. +Further formating details: see xref:writing-rules-config-in[the +writing rules]. + The +.mk+ file ^^^^^^^^^^^^^^
@@ -185,3 +188,5 @@ different way, using different infrastructures: many of them in the tree, we keep them documented in a xref:handwritten-tutorial[tutorial]. +Further formating details: see xref:writing-rules-mk[the writing +rules].
docs/manual/writing-rules.txt +108 -0
119 lines not on this page · raw message
Signature · 1 line
1.7.9.4
PATCH 10/11 manual: update get-involved.txt
In reply to Samuel MARTIN--- docs/manual/get-involved.txt | 65 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+)
docs/manual/get-involved.txt +65 -0
@@ -1,2 +1,67 @@ Getting involved ================ + +Like any open source projects, Buildroot has different ways to share +information in its community and outside. + +One piece of it is the document you are currently reading ;-). + +Each of those ways may interest you if you are look for some help, +want to understand Buildroot or contribute to the project. + +Mailing List +------------ + +Buildroot has a mailing list +http://lists.busybox.net/pipermail/buildroot[] for discussion and +development. + +[[mailing-list-subscribe]] + +Subscribing to the mailing list +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +You can subscribe by visiting +http://lists.busybox.net/mailman/listinfo/buildroot[]. +Only subscribers to the Buildroot mailing list are allowed to post to +this list. + +The list is also available through _Gmane_ http://gmane.org[], at ++gmane.comp.lib.uclibc.buildroot+ +http://dir.gmane.org/gmane.comp.lib.uclibc.buildroot[]. + +Searching the List Archives +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Please search the mailing list archives before asking questions on 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 +annoying everyone on the list with frequently asked questions... + +IRC +--- + +The Buildroot IRC is irc://freenode.net/#buildroot[]. +The channel +#buildroot+ is hosted on Freenode +http://webchat.freenode.net[]. + +When asking for help on the IRC, share relevant logs or piece of code +using a code sharing website (see +http://en.wikipedia.org/wiki/Comparison_of_pastebins[], and pick up +one). + +Bugtracker +---------- + +The Buildroot bugtracker is at https://bugs.uclibc.org[]. + +Buildroot wikipage +------------------ + +Consecutively to the Buildroot developer day February 3, 2012, +a page dedicated to Buildroot has been created on +http://elinux.org[elinux.org]. + +This page is reachable at http://elinux.org/Buildroot[]. + +Currently, this page is mainly used as a _todo-list_.
Signature · 1 line
1.7.9.4
PATCH 11/11 manual: update contribute.txt
In reply to Samuel MARTIN--- docs/manual/contribute.txt | 61 ++++++++++++++++++++++++++++++++++++++++++++ docs/manual/getting.txt | 1 + 2 files changed, 62 insertions(+)
docs/manual/contribute.txt +61 -0
@@ -1,2 +1,63 @@ Contibuting to Buildroot ======================== + +If you want to contribute to Buildroot, you will need a git view of +the project. Refer to xref:getting-buildroot[] to get it. + +Currently, the mailing list is the central place for contribution. +If you have not already subscribe to it, then refer to +xref:mailing-list-subscribe[]. + +Submiting patches +----------------- + +When your changes are done, and commited in your local git view, +_rebase_ your development branch on top of the upstream tree before +generating the patch set. To do so, run: + +--------------------- + $ git fetch --all --tags + $ git rebase origin/master +--------------------- + +Here, your are ready to generate then submit your patch set. + +To generate it, run: + +--------------------- + $ git format-patch -M -n -s -o outgoing origin/master +--------------------- + +This will generate patch files in the +outgoing+ subdirectory, +automatically adding the +signed-of-by+ line. + +If you want to present the whole patch set in a separate mail, add ++--cover-letter --summary+ to the previous command line (+man +git-format-patch+ for further information). + +Once patch files are generated, you can review/edit the commit message +before submitting them using your favourite text editor. + +Lastly, send/submit your patch set to the Buildroot mailing list: + +--------------------- + $ git send-email --to buildroot at busybox.net outgoing/* +--------------------- + +Note that +git+ should be configured to use your mail account. +To configure +git+, see +man git-send-email+ or google it. + +Reviewing/Testing patches +------------------------- + +In the review process, do not hesitate to respond to patch submissions +for remarks, suggestions or anything that will help everyone to +understand the patches and make them better. + +Some tags are used to help following the state of any patch posted on +the mailing-list: + +Acked-by:: Indicates that the patch can be committed. + +Tested-by:: Indicates that the patch has been tested. It is useful + but not necessary to add a comment about what has been tested.
docs/manual/getting.txt +1 -0
@@ -1,6 +1,7 @@ [[getting-buildroot]] Getting Buildroot ----------------- +[[getting-buildroot]] Buildroot releases are made approximately every 3 months. Direct Git access and daily snapshots are also available, if you want more
Signature · 1 line
1.7.9.4
cover RFC: Manual content reorganization
In reply to Samuel MARTINQuoted 6 lines · On Wednesday 21 March 2012 00:09:50 Samuel MARTIN wrote:
Right now, I'm not happy with everything I did.
For example, now I use a deeper toc (4 title levels in this patch set vs. 3 on the current git master). This has a side effect on the html manual, indeed the toc only shows the first two level, this reduce the readability, IOW the fact that one can quickly find the relevant piece of information he/she is looking for.
I don't think it reduces readability. The table of contents is much
clearer than it was before and more levels would just add clutter. The lack of hyperlinks to levels 3 and 4 also doesn't hurt because the deepest levels are pretty short. As you can see in the PDF: all level-2 sections fit on two pages, except for "Adding new packages to Buildroot".
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
cover RFC: Manual content reorganization
In reply to Samuel MARTINHi all,
No more comments about this set of patches?
Some of you already gave me feedback about it, or told me they will.
For anyone who is interested in improving the documentation, hereafter is the original patch submission in the ML archive:
http://lists.busybox.net/pipermail/buildroot/2012-March/051952.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051953.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051954.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051955.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051956.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051957.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051958.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051959.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051960.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051961.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051962.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051963.html
Cheers,
Sam
cover RFC: Manual content reorganization
ping?
2012/4/15 Samuel Martin <[email protected]>:
Quoted 25 lines
Hi all,
No more comments about this set of patches?
Some of you already gave me feedback about it, or told me they will.
For anyone who is interested in improving the documentation, hereafter is the original patch submission in the ML archive:
http://lists.busybox.net/pipermail/buildroot/2012-March/051952.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051953.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051954.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051955.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051956.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051957.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051958.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051959.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051960.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051961.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051962.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051963.htmlCheers,
Sam
cover RFC: Manual content reorganization
Quoted 23 lines · On Wednesday 25 April 2012 22:23:30 Samuel Martin wrote:
ping?
2012/4/15 Samuel Martin <[email protected]>:
Quoted 20 lines
Hi all,
No more comments about this set of patches?
Some of you already gave me feedback about it, or told me they will.
For anyone who is interested in improving the documentation, hereafter is the original patch submission in the ML archive:
http://lists.busybox.net/pipermail/buildroot/2012-March/051952.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051953.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051954.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051955.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051956.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051957.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051958.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051959.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051960.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051961.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051962.html
http://lists.busybox.net/pipermail/buildroot/2012-March/051963.html
I'm very much in favour of this reorganisation. I've started a
review of the documentation based on your final version (but it got stalled a bit due to holidays).
Peter, would it expedite things if Samuel reposted the patches?
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
cover RFC: Manual content reorganization
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Arnout" == Arnout Vandecappelle <[email protected]> writes:
Hi,
Arnout> I'm very much in favour of this reorganisation. I've started a Arnout> review of the documentation based on your final version (but it Arnout> got stalled a bit due to holidays).
Arnout> Peter, would it expedite things if Samuel reposted the patches?
Yes I think so (after fixing the things Thomas pointed out).
Signature · 1 line
Bye, Peter Korsgaard
cover RFC: Manual content reorganization
Hi Arnout, Peter, all,
2012/5/6 Peter Korsgaard <[email protected]>:
Quoted 11 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Arnout" == Arnout Vandecappelle <[email protected]> writes:
Hi,
?Arnout> ?I'm very much in favour of this reorganisation. ?I've started a ?Arnout> review of the documentation based on your final version (but it ?Arnout> got stalled a bit due to holidays).
?Arnout> ?Peter, would it expedite things if Samuel reposted the patches?
Yes I think so (after fixing the things Thomas pointed out).
I have not reposted the patches yet, I slightly reworked them according to the already sent comments though.
I'm still waiting for some comments from Thomas... or perhaps I've missed them...
Anyway, I've already updated the series and sometime I rebase it on top of the master.
You can get these patches checking out the branch sma/docs fromgit://github.com/tSed/buildroot.git
Cheers,
Sam
cover RFC: Manual content reorganization
Quoted 7 lines · Samuel Martin
Quoted 3 lines
Quoted 3 lines
Arnout> Peter, would it expedite things if Samuel reposted the patches?
Yes I think so (after fixing the things Thomas pointed out).
I have not reposted the patches yet, I slightly reworked them according to the already sent comments though.
I'm still waiting for some comments from Thomas... or perhaps I've missed them...
Sam, I think you should go ahead and repost the patches. The
comments from Thomas don't seem to be coming :-)
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
v2 cover RFC: Manual content reorganization
Hi all,
Here is the second round of the patch series about the manual content.
For further information about the reasons, the objectives and the new manual organization, please refer to:
http://lists.busybox.net/pipermail/buildroot/2012-March/051952.html
Happy review!
Looking forward to read your comments, suggestions, critics, blames...
Regards,
Sam
Change since v1:
* Cleanup/fix the prerequesite section
Samuel MARTIN (11):
manual: rework the whole documentation stub
manual: rework introduction.txt and add embedded-basics.txt
manual: add prerequisite.txt
manual: rework using.txt and update common-usage.txt
manual: add make-tips.txt
manual: update working-with.txt
manual: rework the intro of customize-rootfs.txt
manual: add troubleshooting.txt
manual: add writing-rules.txt
manual: add get-involved.txt
manual: add contribute.txt
docs/manual/adding-packages-autotargets.txt | 6 +- docs/manual/adding-packages-cmaketargets.txt | 6 +- docs/manual/adding-packages-conclusion.txt | 2 +- docs/manual/adding-packages-directory.txt | 11 ++- docs/manual/adding-packages-gentargets.txt | 6 +- docs/manual/adding-packages-gettext.txt | 2 +- docs/manual/adding-packages-handwritten.txt | 4 +- docs/manual/adding-packages.txt | 3 +- docs/manual/advanced.txt | 10 +++ docs/manual/board-support.txt | 3 +- docs/manual/ccache-support.txt | 3 +- docs/manual/common-usage.txt | 81 ++++++++++++++++++ docs/manual/contribute.txt | 63 ++++++++++++++ docs/manual/customize-busybox-config.txt | 6 +- docs/manual/customize-kernel-config.txt | 3 +- docs/manual/customize-rootfs.txt | 7 +- docs/manual/customize-toolchain.txt | 10 +-- docs/manual/customize-uclibc-config.txt | 4 +- docs/manual/customize.txt | 2 +- docs/manual/developer-guide.txt | 8 ++ docs/manual/download-location.txt | 2 +- docs/manual/embedded-basics.txt | 67 +++++++++++++++ docs/manual/external-toolchain.txt | 4 +- docs/manual/get-involved.txt | 67 +++++++++++++++ docs/manual/getting.txt | 3 +- docs/manual/going-further.txt | 8 ++ docs/manual/how-buildroot-works.txt | 2 +- docs/manual/introduction.txt | 74 +++------------- docs/manual/legal-notice.txt | 4 + docs/manual/make-tips.txt | 48 +++++++++++ docs/manual/manual.txt | 21 ++--- docs/manual/prerequisite.txt | 62 ++++++++++++++ docs/manual/rebuilding-packages.txt | 6 +- docs/manual/starting-up.txt | 9 ++ docs/manual/troubleshooting.txt | 46 ++++++++++ docs/manual/using-buildroot-toolchain.txt | 2 +- docs/manual/using.txt | 105 ++++------------------- docs/manual/working-with.txt | 22 +++++ docs/manual/writing-rules.txt | 119 ++++++++++++++++++++++++++ 39 files changed, 708 insertions(+), 203 deletions(-) create mode 100644 docs/manual/advanced.txt create mode 100644 docs/manual/common-usage.txt create mode 100644 docs/manual/contribute.txt create mode 100644 docs/manual/developer-guide.txt create mode 100644 docs/manual/embedded-basics.txt create mode 100644 docs/manual/get-involved.txt create mode 100644 docs/manual/going-further.txt create mode 100644 docs/manual/legal-notice.txt create mode 100644 docs/manual/make-tips.txt create mode 100644 docs/manual/prerequisite.txt create mode 100644 docs/manual/starting-up.txt create mode 100644 docs/manual/troubleshooting.txt create mode 100644 docs/manual/working-with.txt create mode 100644 docs/manual/writing-rules.txt
--
1.7.10.2
PATCH v2 1/11 manual: rework the whole documentation stub
From: Samuel MARTIN <[email protected]>
The new skeleton of the manual as it has been thought:
1. About Buildroot:
Presentation of Buildroot
2. Starting up:
Everything to quickly and easily start working with Buildroot
3. Working with Buildroot
Basics to make your work fitting your needs
4. Troubleshooting
5. Going further in Buildroot's innards
Explaination of how buildroot is organised, how it works, etc
6. Developer Guidelines 7. Getting involved 8. Contibuting to Buildroot 9. Legal notice
10. Appendix
It is easy to distinguish two parts in this plan:
- Sections 1 to 4 mainly address people starting with Buildroot
- Sections 5 to 10 are more focused on how to develop Buildroot itself
Most of the existing sections have just been moved in the hierarchy, few were split and dispatch in, what i think was the relevant section, and numerous others have been created.
create mode 100644 docs/manual/advanced.txt create mode 100644 docs/manual/common-usage.txt create mode 100644 docs/manual/developer-guide.txt create mode 100644 docs/manual/going-further.txt create mode 100644 docs/manual/legal-notice.txt create mode 100644 docs/manual/starting-up.txt create mode 100644 docs/manual/working-with.txt
docs/manual/adding-packages-autotargets.txt +3 -3
@@ -1,10 +1,10 @@ Infrastructure for autotools-based packages -------------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [[autotargets-tutorial]] +AUTOTARGETS+ tutorial -~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^ First, let's see how to write a +.mk+ file for an autotools-based package, with an example :
@@ -64,7 +64,7 @@ package to be built. [[autotargets-reference]] +AUTOTARGETS+ reference -~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^ The main macro of the autotools package infrastructure is +AUTOTARGETS+. It has the same number of arguments and the
docs/manual/adding-packages-cmaketargets.txt +3 -3
@@ -1,10 +1,10 @@ Infrastructure for CMake-based packages ---------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [[cmaketargets-tutorial]] +CMAKETARGETS+ tutorial -~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^ First, let's see how to write a +.mk+ file for a CMake-based package, with an example :
@@ -63,7 +63,7 @@ package to be built. [[cmaketargets-reference]] +CMAKETARGETS+ reference -~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^ The main macro of the CMake package infrastructure is +CMAKETARGETS+. It has the same number of arguments and the same
docs/manual/adding-packages-conclusion.txt +1 -1
@@ -1,5 +1,5 @@ Conclusion ----------- +~~~~~~~~~~ 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
docs/manual/adding-packages-directory.txt +3 -3
@@ -1,5 +1,5 @@ Package directory ------------------ +~~~~~~~~~~~~~~~~~ First of all, create a directory under the +package+ directory for your software, for example +libfoo+.
@@ -10,7 +10,7 @@ one of these categories, then create your package directory in these. +Config.in+ file -~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^ Then, create a file named +Config.in+. This file will contain the option descriptions related to our +libfoo+ software that will be used
@@ -146,7 +146,7 @@ so, the dependency also needs to be expressed in the +.mk+ file of the package. The +.mk+ file -~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^ Finally, here's the hardest part. Create a file named +libfoo.mk+. It describes how the package should be downloaded, configured, built,
docs/manual/adding-packages-gentargets.txt +3 -3
@@ -1,5 +1,5 @@ Infrastructure for packages with specific build systems -------------------------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ By 'packages with specific build systems' we mean all the packages whose build system is not one of the standard ones, such as
@@ -9,7 +9,7 @@ system is based on hand-written Makefiles or shell scripts. [[gentargets-tutorial]] +GENTARGETS+ Tutorial -~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^ ------------------------------ 01: #############################################################
@@ -90,7 +90,7 @@ Makefile code necessary to make your package working. [[gentargets-reference]] +GENTARGETS+ Reference -~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^ The +GENTARGETS+ macro takes one optional argument. This argument can be used to tell if the package is a target package (cross-compiled for
docs/manual/adding-packages-gettext.txt +1 -1
@@ -1,5 +1,5 @@ Gettext integration and interaction with packages -------------------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Many packages that support internationalization use the gettext library. Dependencies for this library are fairly complicated and
docs/manual/adding-packages-handwritten.txt +1 -3
@@ -1,7 +1,5 @@ -[[handwritten-tutorial]] - Manual Makefile ---------------- +~~~~~~~~~~~~~~~ *NOTE: new manual makefiles should not be created, and existing manual makefiles should be converted either to the generic, autotools or
docs/manual/adding-packages.txt +2 -1
@@ -1,5 +1,6 @@ +[[adding-packages]] Adding new packages to Buildroot -================================ +-------------------------------- This section covers how new packages (userspace libraries or applications) can be integrated into Buildroot. It also shows how
docs/manual/advanced.txt new file +10 -0
@@ -0,0 +1,10 @@ +Advanced usage +-------------- + +include::using-buildroot-toolchain.txt[] + +include::external-toolchain.txt[] + +include::ccache-support.txt[] + +include::download-location.txt[]
docs/manual/board-support.txt +2 -1
@@ -1,5 +1,6 @@ +[[board-support]] Creating your own board support -=============================== +------------------------------- Creating your own board support in Buildroot allows users of a particular hardware platform to easily build a system that is known to
docs/manual/ccache-support.txt +2 -1
@@ -1,5 +1,6 @@ +[[ccache]] Using +ccache+ in Buildroot -=========================== +~~~~~~~~~~~~~~~~~~~~~~~~~~~ http://ccache.samba.org[ccache] is a compiler cache. It stores the object files resulting from each compilation process, and is able to
docs/manual/common-usage.txt new file +4 -0
@@ -0,0 +1,4 @@ +Daily use +--------- + +include::rebuilding-packages.txt[]
docs/manual/customize-busybox-config.txt +3 -3
@@ -1,6 +1,6 @@ -Customizing the Busybox configuration -------------------------------------- [[busybox-custom]] +Customizing the Busybox configuration +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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
@@ -20,5 +20,5 @@ Otherwise, you can simply change the options you want to change, without using the configuration tool. If you want to use an existing config file for busybox, then see -section xref:env-vars[]. +xref:env-vars[].
docs/manual/customize-kernel-config.txt +2 -1
@@ -1,5 +1,6 @@ +[[kernel-custom]] Customizing the Linux kernel configuration ------------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The Linux kernel configuration can be customized just like xref:busybox-custom[BusyBox] and xref:uclibc-custom[uClibc] using
docs/manual/customize-rootfs.txt +2 -1
@@ -1,5 +1,6 @@ +[[rootfs-custom]] Customizing the generated target filesystem -------------------------------------------- +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ There are a few ways to customize the resulting target filesystem:
docs/manual/customize-toolchain.txt +5 -5
@@ -1,12 +1,12 @@ -Customizing the toolchain -------------------------- [[toolchain-custom]] +Customizing the toolchain +~~~~~~~~~~~~~~~~~~~~~~~~~ There are three distinct types of toolchain backend supported in Buildroot, available under the menu +Toolchain+, invoking +make menuconfig+. Using the external toolchain backend -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ There is no way of tuning an external toolchain since Buildroot does not generate it.
@@ -15,7 +15,7 @@ It also requires to set the Buildroot settings according to the toolchain ones (see xref:external-toolchain[]). Using the internal Buildroot toolchain backend -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The internal Buildroot toolchain backend *only* allows to generate *http://www.uclibc.org/[uClibc]-based toolchains*.
@@ -32,7 +32,7 @@ This is directly available after selecting the +Buildroot toolchain+ type in the menu +Toolchain+. Using the Crosstool-NG backend -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The http://crosstool-ng.org[crosstool-NG] toolchain backend enables a rather limited set of settings under the Buildroot +Toolchain+ menu (ie. when invoking
docs/manual/customize-uclibc-config.txt +2 -2
@@ -1,6 +1,6 @@ -Customizing the uClibc configuration ------------------------------------- [[uclibc-custom]] +Customizing the uClibc configuration +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Just like xref:busybox-custom[BusyBox], http://www.uclibc.org/[uClibc] offers a lot of configuration options. They allow you to select
docs/manual/customize.txt +1 -1
@@ -1,5 +1,5 @@ Customization -============= +------------- include::customize-rootfs.txt[]
docs/manual/developer-guide.txt new file +6 -0
@@ -0,0 +1,6 @@ +Developer Guidelines +==================== + +include::adding-packages.txt[] + +include::board-support.txt[]
docs/manual/download-location.txt +1 -1
@@ -1,5 +1,5 @@ Location of downloaded packages -=============================== +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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
docs/manual/external-toolchain.txt +2 -2
@@ -1,6 +1,6 @@ -Using an external toolchain -=========================== [[external-toolchain]] +Using an external toolchain +~~~~~~~~~~~~~~~~~~~~~~~~~~~ Using an already existing toolchain is useful for different reasons:
docs/manual/getting.txt +2 -1
@@ -1,5 +1,6 @@ +[[getting-buildroot]] Getting Buildroot -================= +----------------- Buildroot releases are made approximately every 3 months. Direct Git access and daily snapshots are also available, if you want more
docs/manual/going-further.txt new file +6 -0
@@ -0,0 +1,6 @@ +Going further in Buildroot's innards +==================================== + +include::how-buildroot-works.txt[] + +include::advanced.txt[]
docs/manual/how-buildroot-works.txt +1 -1
@@ -1,5 +1,5 @@ How Buildroot works -=================== +------------------- As mentioned above, Buildroot is basically a set of Makefiles that download, configure, and compile software with the correct options. It
docs/manual/legal-notice.txt new file +4 -0
@@ -0,0 +1,4 @@ +Legal notice +============ + +TODO
docs/manual/manual.txt +6 -10
@@ -11,24 +11,20 @@ image::logo.png[] include::introduction.txt[] -include::getting.txt[] +include::starting-up.txt[] -include::using.txt[] -include::customize.txt[] -include::rebuilding-packages.txt[] +include::working-with.txt[] -include::how-buildroot-works.txt[] -include::using-buildroot-toolchain.txt[] -include::external-toolchain.txt[] -include::ccache-support.txt[] +include::going-further.txt[] -include::download-location.txt[] +include::developer-guide.txt[] + +include::legal-notice.txt[] -include::adding-packages.txt[] include::appendix.txt[]
docs/manual/rebuilding-packages.txt +1 -1
@@ -1,5 +1,5 @@ Understanding how to rebuild packages -===================================== +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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
docs/manual/starting-up.txt new file +7 -0
@@ -0,0 +1,7 @@ +Starting up +=========== + +include::getting.txt[] + +include::using.txt[] +
docs/manual/using-buildroot-toolchain.txt +1 -1
@@ -1,5 +1,5 @@ Using the generated toolchain outside Buildroot -=============================================== +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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
docs/manual/using.txt +1 -4
@@ -1,8 +1,5 @@ Using Buildroot -=============== - -Configuration and general usage -------------------------------- +--------------- Buildroot has a nice configuration tool similar to the one you can find in the http://www.kernel.org/[Linux kernel] or in
docs/manual/working-with.txt new file +10 -0
@@ -0,0 +1,10 @@ +Working with Buildroot +====================== +[[working-with-br]] + +include::customize.txt[] + +include::common-usage.txt[] + +Tweaking Buildroot +------------------
Signature · 1 line
1.7.10.2
PATCH v2 1/11 manual: rework the whole documentation stub
Quoted 173 lines · Samuel Martin
From: Samuel MARTIN <[email protected]>
The new skeleton of the manual as it has been thought:
1. ?About Buildroot:
? ? Presentation of Buildroot
2. ?Starting up:
? ? Everything to quickly and easily start working with Buildroot
3. ?Working with Buildroot
? ? Basics to make your work fitting your needs
4. ?Troubleshooting
5. ?Going further in Buildroot's innards
? ? Explaination of how buildroot is organised, how it works, etc
6. ?Developer Guidelines
7. ?Getting involved
8. ?Contibuting to Buildroot
9. ?Legal notice
10. AppendixIt is easy to distinguish two parts in this plan:
- Sections 1 to 4 mainly address people starting with Buildroot
- Sections 5 to 10 are more focused on how to develop Buildroot itselfMost of the existing sections have just been moved in the hierarchy, few were split and dispatch in, what i think was the relevant section, and numerous others have been created.
Signed-off-by Samuel Martin <[email protected]>?create mode 100644
docs/manual/advanced.txt?create mode 100644docs/manual/common-usage.txt?create mode 100644docs/manual/developer-guide.txt?create mode 100644docs/manual/going-further.txt?create mode 100644docs/manual/legal-notice.txt?create mode 100644docs/manual/starting-up.txt?create mode 100644docs/manual/working-with.txtdocs/manual/adding-packages-autotargets.txt +0
-0@@ -1,10 +1,10 @@?Infrastructure for autotools-based packages
--------------------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~?[[autotargets-tutorial]]
?+AUTOTARGETS+ tutorial
-~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^?First, let's see how to write a +.mk+ file for an autotools-based ?package, with an example :
docs/manual/adding-packages-autotargets.txt +0
-0@@ -64,7 +64,7 @@ package to be built.?[[autotargets-reference]]
?+AUTOTARGETS+ reference
-~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^?The main macro of the autotools package infrastructure is ?+AUTOTARGETS+. It has the same number of arguments and the
docs/manual/adding-packages-cmaketargets.txt +0
-0@@ -1,10 +1,10 @@?Infrastructure for CMake-based packages
----------------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~?[[cmaketargets-tutorial]]
?+CMAKETARGETS+ tutorial
-~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^?First, let's see how to write a +.mk+ file for a CMake-based package, ?with an example :
docs/manual/adding-packages-cmaketargets.txt +0
-0@@ -63,7 +63,7 @@ package to be built.?[[cmaketargets-reference]]
?+CMAKETARGETS+ reference
-~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^?The main macro of the CMake package infrastructure is ?+CMAKETARGETS+. It has the same number of arguments and the same
docs/manual/adding-packages-conclusion.txt +0
-0@@ -1,5 +1,5 @@?Conclusion
-----------
+~~~~~~~~~~?As you can see, adding a software package to Buildroot is simply a ?matter of writing a
Makefileusing an ?existing example and modifying itdocs/manual/adding-packages-directory.txt +0
-0@@ -1,5 +1,5 @@?Package directory
------------------
+~~~~~~~~~~~~~~~~~?First of all, create a directory under the +package+ directory for ?your software, for example +libfoo+.
docs/manual/adding-packages-directory.txt +0
-0@@ -10,7 +10,7 @@ one of these categories, then create your package directory in these.?+Config.in+ file
-~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^?Then, create a file named +Config.in+. This file will contain the ?option descriptions related to our +libfoo+ software that will be used
docs/manual/adding-packages-directory.txt +0
-0@@ -146,7 +146,7 @@ so, the dependency also needs to be expressed in the +.mk+ file of the?package.
?The +.mk+ file
-~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^?Finally, here's the hardest part. Create a file named +libfoo.mk+. It ?describes how the package should be downloaded, configured, built,
docs/manual/adding-packages-gentargets.txt +0
-0@@ -1,5 +1,5 @@?Infrastructure for packages with specific build systems
--------------------------------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~?By 'packages with specific build systems' we mean all the packages ?whose build system is not one of the standard ones, such as
docs/manual/adding-packages-gentargets.txt +0
-0@@ -9,7 +9,7 @@ system is based on hand-written Makefiles or shell scripts.?[[gentargets-tutorial]]
?+GENTARGETS+ Tutorial
-~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^?------------------------------
?01: #############################################################docs/manual/adding-packages-gentargets.txt +0
-0@@ -90,7 +90,7 @@ Makefile code necessary to make your package working.?[[gentargets-reference]]
?+GENTARGETS+ Reference
-~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^?The +GENTARGETS+ macro takes one optional argument. This argument can ?be used to tell if the package is a target package (cross-compiled for
docs/manual/adding-packages-gettext.txt +0
-0@@ -1,5 +1,5 @@?Gettext integration and interaction with packages
--------------------------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~?Many packages that support internationalization use the gettext ?library. Dependencies for this library are fairly complicated and
docs/manual/adding-packages-handwritten.txt +0
-0
docs/manual/adding-packages-handwritten.txt line 2
Quoted 2 lines
docs/manual/adding-packages-handwritten.txt +0
-2@@ -1,7 +1,5 @@ -[[handwritten-tutorial]] -
Why is this removed? I still see a reference to it in adding-packages-directory.txt.
Quoted 362 lines
?Manual
Makefile
----------------
+~~~~~~~~~~~~~~~?*NOTE: new manual makefiles should not be created, and existing manual ?makefiles should be converted either to the generic, autotools or
docs/manual/adding-packages.txt +1
-0@@ -1,5 +1,6 @@ +[[adding-packages]]?Adding new packages to Buildroot
-================================
+--------------------------------?This section covers how new packages (userspace libraries or ?applications) can be integrated into Buildroot. It also shows how
docs/manual/advanced.txt new file +10
-0@@ -0,0 +1,10 @@ +Advanced usage +-------------- + +include::using-buildroot-toolchain.txt[] + +include::external-toolchain.txt[] + +include::ccache-support.txt[] + +include::download-location.txt[]docs/manual/board-support.txt +1
-0@@ -1,5 +1,6 @@ +[[board-support]]?Creating your own board support
-===============================
+-------------------------------?Creating your own board support in Buildroot allows users of a ?particular hardware platform to easily build a system that is known to
docs/manual/ccache-support.txt +1
-0@@ -1,5 +1,6 @@ +[[ccache]]?Using +ccache+ in Buildroot
-===========================
+~~~~~~~~~~~~~~~~~~~~~~~~~~~?http://ccache.samba.org[ccache] is a compiler cache. It stores the ?object files resulting from each compilation process, and is able to
docs/manual/common-usage.txt new file +4
-0@@ -0,0 +1,4 @@ +Daily use +--------- + +include::rebuilding-packages.txt[]docs/manual/customize-busybox-config.txt +0
-2@@ -1,6 +1,6 @@ -Customizing the Busybox configuration --------------------------------------?[[busybox-custom]]
+Customizing the Busybox configuration
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~?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
docs/manual/customize-busybox-config.txt +0
-0@@ -20,5 +20,5 @@ Otherwise, you can simply change the?options you want to change, without using the configuration tool.
?If you want to use an existing config file for busybox, then see
docs/manual/customize-busybox-config.txt +1
-1-section xref:env-vars[]. +xref:env-vars[].docs/manual/customize-kernel-config.txt +1
-0@@ -1,5 +1,6 @@ +[[kernel-custom]]?Customizing the Linux kernel configuration
-------------------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~?The Linux kernel configuration can be customized just like ?xref:busybox-custom[BusyBox] and xref:uclibc-custom[uClibc] using
docs/manual/customize-rootfs.txt +1
-0@@ -1,5 +1,6 @@ +[[rootfs-custom]]?Customizing the generated target filesystem
--------------------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~?There are a few ways to customize the resulting target filesystem:
docs/manual/customize-toolchain.txt +0
-2@@ -1,12 +1,12 @@ -Customizing the toolchain --------------------------?[[toolchain-custom]]
+Customizing the toolchain
+~~~~~~~~~~~~~~~~~~~~~~~~~?There are three distinct types of toolchain backend supported in Buildroot, ?available under the menu +Toolchain+, invoking +make menuconfig+.
?Using the external toolchain backend
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^?There is no way of tuning an external toolchain since Buildroot does not ?generate it.
docs/manual/customize-toolchain.txt +0
-0@@ -15,7 +15,7 @@ It also requires to set the Buildroot settings according to the toolchain ones?(see xref:external-toolchain[]).
?Using the internal Buildroot toolchain backend
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^?The internal Buildroot toolchain backend *only* allows to generate ?*http://www.uclibc.org/[uClibc]-based toolchains*.
docs/manual/customize-toolchain.txt +0
-0@@ -32,7 +32,7 @@ This is directly available after selecting the +Buildroot toolchain+ type in?the menu +Toolchain+.
?Using the Crosstool-NG backend
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^?The http://crosstool-ng.org[crosstool-NG] toolchain backend enables a rather ?limited set of settings under the Buildroot +Toolchain+ menu (ie. when invoking
docs/manual/customize-uclibc-config.txt +0
-2@@ -1,6 +1,6 @@ -Customizing the uClibc configuration -------------------------------------?[[uclibc-custom]]
+Customizing the uClibc configuration
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~?Just like xref:busybox-custom[BusyBox], http://www.uclibc.org/[uClibc]
?offers a lot of configuration options. They allow you to selectdocs/manual/customize.txt +0
-0@@ -1,5 +1,5 @@?Customization
-=============
+-------------?include::customize-rootfs.txt[]
docs/manual/developer-guide.txt new file +6
-0@@ -0,0 +1,6 @@ +Developer Guidelines +==================== + +include::adding-packages.txt[] + +include::board-support.txt[]docs/manual/download-location.txt +0
-0@@ -1,5 +1,5 @@?Location of downloaded packages
-===============================
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~?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
docs/manual/external-toolchain.txt +0
-2@@ -1,6 +1,6 @@ -Using an external toolchain -===========================?[[external-toolchain]]
+Using an external toolchain
+~~~~~~~~~~~~~~~~~~~~~~~~~~~?Using an already existing toolchain is useful for different ?reasons:
docs/manual/getting.txt +1
-0@@ -1,5 +1,6 @@ +[[getting-buildroot]]?Getting Buildroot
-=================
+-----------------?Buildroot releases are made approximately every 3 months. Direct Git ?access and daily snapshots are also available, if you want more
docs/manual/going-further.txt new file +6
-0@@ -0,0 +1,6 @@ +Going further in Buildroot's innards +==================================== + +include::how-buildroot-works.txt[] + +include::advanced.txt[]docs/manual/how-buildroot-works.txt +0
-0@@ -1,5 +1,5 @@?How Buildroot works
-===================
+-------------------?As mentioned above, Buildroot is basically a set of Makefiles that ?download, configure, and compile software with the correct options. It
docs/manual/legal-notice.txt new file +4
-0@@ -0,0 +1,4 @@ +Legal notice +============ + +TODOdocs/manual/manual.txt +0
-0@@ -11,24 +11,20 @@ image::logo.png[]?include::introduction.txt[]
docs/manual/manual.txt +6
-10-include::getting.txt[] +include::starting-up.txt[] -include::using.txt[] -include::customize.txt[] -include::rebuilding-packages.txt[] +include::working-with.txt[] -include::how-buildroot-works.txt[] -include::using-buildroot-toolchain.txt[] -include::external-toolchain.txt[] -include::ccache-support.txt[] +include::going-further.txt[] -include::download-location.txt[] +include::developer-guide.txt[] + +include::legal-notice.txt[] -include::adding-packages.txt[]?include::appendix.txt[]
docs/manual/rebuilding-packages.txt +0
-0@@ -1,5 +1,5 @@?Understanding how to rebuild packages
-=====================================
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~?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
docs/manual/starting-up.txt new file +7
-0@@ -0,0 +1,7 @@ +Starting up +=========== + +include::getting.txt[] + +include::using.txt[] +docs/manual/using-buildroot-toolchain.txt +0
-0@@ -1,5 +1,5 @@?Using the generated toolchain outside Buildroot
-===============================================
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~?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
docs/manual/using.txt +0
-0@@ -1,8 +1,5 @@?Using Buildroot
-===============docs/manual/using.txt +1
-3- -Configuration and general usage -------------------------------- +---------------?Buildroot has a nice configuration tool similar to the one you can ?find in the http://www.kernel.org/[Linux kernel] or in
docs/manual/working-with.txt new file +10
-1@@ -0,0 +1,10 @@ +Working with Buildroot +====================== +[[working-with-br]] + +include::customize.txt[] + +include::common-usage.txt[] + +Tweaking Buildroot +------------------ --1.7.10.2
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH v2 2/11 manual: rework introduction.txt and add embedded-basics.txt
In reply to Samuel MartinFrom: Samuel MARTIN <[email protected]>
Split and rephrasing of introduction.txt.
Cross-toolchain and pro-Buildroot explainations moved from introduction.txt into embedded-basics.txt.
create mode 100644 docs/manual/embedded-basics.txt
docs/manual/embedded-basics.txt new file +67 -0
@@ -0,0 +1,67 @@ +Embedded system basics & Reasons to use Buildroot +------------------------------------------------- + +Cross-compilation & cross-toolchain +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +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+), +binary utils like assembler and linker (in our case, +binutils+) and a +C standard library (for example +http://www.gnu.org/software/libc/libc.html[GNU Libc], +http://www.uclibc.org/[uClibc] or +http://www.fefe.de/dietlibc/[dietlibc]). The system installed on your +development station certainly already has a compilation toolchain that +you can use to compile an application that runs on your system. If +you're using a PC, your compilation toolchain runs on an x86 processor +and generates code for an x86 processor. Under most Linux systems, the +compilation toolchain uses the GNU libc (glibc) as the C standard +library. This compilation toolchain is called the "host compilation +toolchain". The machine on which it is running, and on which you're +working, is called the "host system". The compilation toolchain is +provided by your distribution, and Buildroot has nothing to do with it +(other than using it to build a cross-compilation toolchain and other +tools that are run on the development host). + +As said above, the compilation toolchain that comes with your system +runs on and generates code for the processor in your host system. As +your embedded system has a different processor, you need a +cross-compilation toolchain - a compilation toolchain that runs on +your host system but generates code for your target system (and target +processor). For example, if your host system uses x86 and your target +system uses ARM, the regular compilation toolchain on your host runs on +x86 and generates code for x86, while the cross-compilation toolchain +runs on x86 and generates code for ARM. + +[[pros-buildroot]] + +Why choose Buildroot +~~~~~~~~~~~~~~~~~~~~ + +Even if your embedded system uses an x86 processor, you might be +interested in Buildroot for two reasons: + +* The compilation toolchain on your host certainly uses the GNU Libc + which is a complete but huge C standard library. Instead of using + GNU Libc on your target system, you can use uClibc which is a tiny C + standard library. If you want to use this C library, then you need a + compilation toolchain to generate binaries linked with it. Buildroot + can do that for you. + +* Buildroot automates the building of a root filesystem with all + needed tools like busybox. That makes it much easier than doing it + by hand. + +You might wonder why such a tool is needed when you can compile +gcc+, ++binutils+, +uClibc+ and all the other tools by hand. Of course doing +so is possible but, dealing with all of the configure options and +problems of every +gcc+ or +binutils+ version is very time-consuming +and uninteresting. Buildroot automates this process through the use +of Makefiles and has a collection of patches for each +gcc+ and ++binutils+ version to make them work on most architectures. + +Moreover, Buildroot provides an infrastructure for reproducing the +build process of your kernel, cross-toolchain, and embedded root +filesystem. Being able to reproduce the build process will be useful +when a component needs to be patched or updated or when another person +is supposed to take over the project.
docs/manual/going-further.txt +2 -0
@@ -1,6 +1,8 @@ Going further in Buildroot's innards ==================================== +include::embedded-basics.txt[] + include::how-buildroot-works.txt[] include::advanced.txt[]
docs/manual/introduction.txt +13 -61
82 lines not on this page · raw message
Signature · 1 line
1.7.10.2
PATCH v2 2/11 manual: rework introduction.txt and add embedded-basics.txt
Quoted 105 lines · Samuel Martin
From: Samuel MARTIN <[email protected]>
Split and rephrasing of introduction.txt.
Cross-toolchain and pro-Buildroot explainations moved from introduction.txt into embedded-basics.txt.
Signed-off-by Samuel Martin <[email protected]>?create mode 100644
docs/manual/embedded-basics.txtdocs/manual/embedded-basics.txt new file +67
-0@@ -0,0 +1,67 @@ +Embedded system basics & Reasons to use Buildroot +------------------------------------------------- + +Cross-compilation & cross-toolchain +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +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+), +binary utils like assembler and linker (in our case, +binutils+) and a +C standard library (for example +http://www.gnu.org/software/libc/libc.html[GNU Libc], +http://www.uclibc.org/[uClibc] or +http://www.fefe.de/dietlibc/[dietlibc]). The system installed on your +development station certainly already has a compilation toolchain that +you can use to compile an application that runs on your system. If +you're using a PC, your compilation toolchain runs on an x86 processor +and generates code for an x86 processor. Under most Linux systems, the +compilation toolchain uses the GNU libc (glibc) as the C standard +library. ?This compilation toolchain is called the "host compilation +toolchain". The machine on which it is running, and on which you're +working, is called the "host system". The compilation toolchain is +provided by your distribution, and Buildroot has nothing to do with it +(other than using it to build a cross-compilation toolchain and other +tools that are run on the development host). + +As said above, the compilation toolchain that comes with your system +runs on and generates code for the processor in your host system. As +your embedded system has a different processor, you need a +cross-compilation toolchain - a compilation toolchain that runs on +your host system but generates code for your target system (and target +processor). For example, if your host system uses x86 and your target +system uses ARM, the regular compilation toolchain on your host runs on +x86 and generates code for x86, while the cross-compilation toolchain +runs on x86 and generates code for ARM. + +[[pros-buildroot]] + +Why choose Buildroot +~~~~~~~~~~~~~~~~~~~~ + +Even if your embedded system uses an x86 processor, you might be +interested in Buildroot for two reasons: + +* The compilation toolchain on your host certainly uses the GNU Libc + ?which is a complete but huge C standard library. Instead of using + ?GNU Libc on your target system, you can use uClibc which is a tiny C + ?standard library. If you want to use this C library, then you need a + ?compilation toolchain to generate binaries linked with it. Buildroot + ?can do that for you. + +* Buildroot automates the building of a root filesystem with all + ?needed tools like busybox. That makes it much easier than doing it + ?by hand. + +You might wonder why such a tool is needed when you can compile +gcc+, ++binutils+, +uClibc+ and all the other tools by hand. Of course doing +so is possible but, dealing with all of the configure options and +problems of every +gcc+ or +binutils+ version is very time-consuming +and uninteresting. ?Buildroot automates this process through the use +of Makefiles and has a collection of patches for each +gcc+ and ++binutils+ version to make them work on most architectures. + +Moreover, Buildroot provides an infrastructure for reproducing the +build process of your kernel, cross-toolchain, and embedded root +filesystem. Being able to reproduce the build process will be useful +when a component needs to be patched or updated or when another person +is supposed to take over the project.docs/manual/going-further.txt +0
-0@@ -1,6 +1,8 @@?Going further in Buildroot's innards
?====================================docs/manual/going-further.txt +2
-0+include::embedded-basics.txt[] +?include::how-buildroot-works.txt[]
?include::advanced.txt[]
docs/manual/introduction.txt +0
-0@@ -1,69 +1,21 @@?About Buildroot
?===============
docs/manual/introduction.txt line 7
Quoted 10 lines
docs/manual/introduction.txt +4
-6-Buildroot is a set of Makefiles and patches that allows you to easily -generate a cross-compilation toolchain, a root filesystem and a Linux -kernel image for your target. Buildroot can be used for one, two or -all of these options, independently. - -Buildroot is useful mainly for people working with embedded systems. +Buildroot provides a full featured environment for cross-development. +Buildroot is able to generate a cross-compilation toolchain, a root +filesystem, a Linux kernel image and a bootloader for your target. +Buildroot can be used for any combinaison of these options,
s/combinaison/combination/
Quoted 76 lines
docs/manual/introduction.txt +4
-0+independently. + +Buildroot is useful mainly for people working with embedded systems +for a number of good reasons (see xref:pros-buildroot[]).?Embedded systems often use processors that are not the regular x86 ?processors everyone is used to having in his PC. They can be PowerPC ?processors, MIPS processors, ARM processors, etc.
docs/manual/introduction.txt +5
-56-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+), -binary utils like assembler and linker (in our case, +binutils+) and a -C standard library (for example -http://www.gnu.org/software/libc/libc.html[GNU Libc], -http://www.uclibc.org/[uClibc] or -http://www.fefe.de/dietlibc/[dietlibc]). The system installed on your -development station certainly already has a compilation toolchain that -you can use to compile an application that runs on your system. If -you're using a PC, your compilation toolchain runs on an x86 processor -and generates code for an x86 processor. Under most Linux systems, the -compilation toolchain uses the GNU libc (glibc) as the C standard -library. ?This compilation toolchain is called the "host compilation -toolchain". The machine on which it is running, and on which you're -working, is called the "host system". The compilation toolchain is -provided by your distribution, and Buildroot has nothing to do with it -(other than using it to build a cross-compilation toolchain and other -tools that are run on the development host). - -As said above, the compilation toolchain that comes with your system -runs on and generates code for the processor in your host system. As -your embedded system has a different processor, you need a -cross-compilation toolchain - a compilation toolchain that runs on -your host system but generates code for your target system (and target -processor). For example, if your host system uses x86 and your target -system uses ARM, the regular compilation toolchain on your host runs on -x86 and generates code for x86, while the cross-compilation toolchain -runs on x86 and generates code for ARM. - -Even if your embedded system uses an x86 processor, you might be -interested in Buildroot for two reasons: - -* The compilation toolchain on your host certainly uses the GNU Libc - ?which is a complete but huge C standard library. Instead of using - ?GNU Libc on your target system, you can use uClibc which is a tiny C - ?standard library. If you want to use this C library, then you need a - ?compilation toolchain to generate binaries linked with it. Buildroot - ?can do that for you. - -* Buildroot automates the building of a root filesystem with all - ?needed tools like busybox. That makes it much easier than doing it - ?by hand. - -You might wonder why such a tool is needed when you can compile +gcc+, -+binutils+, +uClibc+ and all the other tools by hand. Of course doing -so is possible but, dealing with all of the configure options and -problems of every +gcc+ or +binutils+ version is very time-consuming -and uninteresting. ?Buildroot automates this process through the use -of Makefiles and has a collection of patches for each +gcc+ and -+binutils+ version to make them work on most architectures. +Buildroot supports numerous processors and their variants; it also +comes with default configuration for several boards available +off-the-shelf. Besides, a number of third-party projects are based on +or develop their BSP footnote:[BSP: Board Software Package] or +SDK footnote:[SDK: Standard Development Kit] on top of Buildroot. -Moreover, Buildroot provides an infrastructure for reproducing the -build process of your kernel, cross-toolchain, and embedded root -filesystem. Being able to reproduce the build process will be useful -when a component needs to be patched or updated or when another person -is supposed to take over the project. --1.7.10.2
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH v2 3/11 manual: add prerequisite.txt
In reply to Samuel MartinFrom: Samuel MARTIN <[email protected]>
create mode 100644 docs/manual/prerequisite.txt
docs/manual/prerequisite.txt new file +62 -0
@@ -0,0 +1,62 @@ +[[requirement]] +System requirements +------------------- + +Buildroot is design to run on Linux system. + +Buildroot needs some software to be already installed on the host +system; hereafter the lists of the mandatory and optional packages +(packages' name may vary between distribution). + +Take care of _installing both runtime and development data_, especially +for the libraries that may be packaged in 2 distinct packages. + + +[[requirement-mandatory]] + +Mandatory packages +~~~~~~~~~~~~~~~~~~ + +* Build tools: +** +build-essential+ (only for Debian based system) +** +gcc+ +** +g+++ +** +bison+ +** +flex+ +** +gettext+ +** +patch+ + +* Source fetching tools: +** +wget+ + +* Development libraries: +** +ncurses5+ + +[[requirement-optional]] + +Optional packages +~~~~~~~~~~~~~~~~~ + +* Build tools: +** +gawk+ + +* Source fetching tools: +** +cvs+ +** +git+ +** +mercurial+ +** +subversion+ + +* Configuration interface dependencies (requires development libraries): +** +qt4+ to use the 'xconfig' interface +** +glib2+, +gtk2+ and +glade2+ to use the 'gconfig' interface + +* Development libraries: +** +zlib1+ +** +netpbm10+ (for +fbtest+) +** +python-xcbgen+ (for +Matchbox+ on Debian based system) +// ** +jdk+ and and depending on the host system +gcj-compat+ for Java +// development (for +java+, +jamvm+ and +gnu-classpath+) + +* Documentation generation tools: +** +asciidoc+ +** +texinfo+
docs/manual/starting-up.txt +2 -0
@@ -1,6 +1,8 @@ Starting up =========== +include::prerequisite.txt[] + include::getting.txt[] include::using.txt[]
Signature · 1 line
1.7.10.2
PATCH v2 3/11 manual: add prerequisite.txt
Quoted 13 lines · Samuel Martin
From: Samuel MARTIN <[email protected]>
Signed-off-by Samuel Martin <[email protected]>?create mode 100644
docs/manual/prerequisite.txtdocs/manual/prerequisite.txt new file +0
-0
docs/manual/prerequisite.txt line 9
Quoted 9 lines
docs/manual/prerequisite.txt new file +9
-0@@ -0,0 +1,62 @@ +[[requirement]] +System requirements +------------------- + +Buildroot is design to run on Linux system. + +Buildroot needs some software to be already installed on the host +system; hereafter the lists of the mandatory and optional packages +(packages' name may vary between distribution).
I'm not a native English speaker, but I think "packages' name" is not correct. I'd say "packages' names" or simply "package names".
s/distribution/distributions/
docs/manual/prerequisite.txt line 21
Quoted 12 lines
docs/manual/prerequisite.txt new file +12
-0+ +Take care of _installing both runtime and development data_, especially +for the libraries that may be packaged in 2 distinct packages. + + +[[requirement-mandatory]] + +Mandatory packages +~~~~~~~~~~~~~~~~~~ + +* Build tools: +** +build-essential+ (only for Debian based system)
s/system/systems/
docs/manual/prerequisite.txt line 33
Quoted 12 lines
docs/manual/prerequisite.txt new file +12
-0+** +gcc+ +** +g+++ +** +bison+ +** +flex+ +** +gettext+ +** +patch+ + +* Source fetching tools: +** +wget+ + +* Development libraries: +** +ncurses5+
Isn't ncurses only needed for menuconfig, and so belongs in the list 'Configuration interface dependencies' ?
Quoted 4 lines
docs/manual/prerequisite.txt new file +4
-0+ +[[requirement-optional]] + +Optional packages
docs/manual/prerequisite.txt line 47
Quoted 10 lines
docs/manual/prerequisite.txt new file +10
-0+~~~~~~~~~~~~~~~~~ + +* Build tools: +** +gawk+ + +* Source fetching tools: +** +cvs+ +** +git+ +** +mercurial+ +** +subversion+
What's the reasoning behind these 'optional requirements' ? People that are new to buildroot may simply install all 'requirements' and hence install tools like cvs or one of the other version control systems, while it won't actually be used, unless they select a package that downloads using that method.
Moreover, some tools that could fit in this category are missing, like bazaar or scp.
docs/manual/prerequisite.txt line 59
Quoted 12 lines
docs/manual/prerequisite.txt new file +12
-0+ +* Configuration interface dependencies (requires development libraries): +** +qt4+ to use the 'xconfig' interface +** +glib2+, +gtk2+ and +glade2+ to use the 'gconfig' interface + +* Development libraries: +** +zlib1+ +** +netpbm10+ (for +fbtest+) +** +python-xcbgen+ (for +Matchbox+ on Debian based system) +// ** +jdk+ and and depending on the host system +gcj-compat+ for Java +// development (for +java+, +jamvm+ and +gnu-classpath+) +
I would think that the intention of buildroot is that most non-standard dependencies are handled within buildroot.
One can safely expect make and gcc to be present, but is it currently so that such things like netpbm10 are needed? If so, shouldn't they be built as host-netpbm10 etc ?
If we can do that, the above section can be removed. Otherwise:
s/and and/and/
Quoted 23 lines
docs/manual/prerequisite.txt new file +3
-0+* Documentation generation tools: +** +asciidoc+ +** +texinfo+docs/manual/starting-up.txt +0
-0@@ -1,6 +1,8 @@?Starting up
?===========docs/manual/starting-up.txt +2
-0+include::prerequisite.txt[] +?include::getting.txt[]
?include::using.txt[]
--
1.7.10.2_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH v2 3/11 manual: add prerequisite.txt
Hi Thomas,
Thx for the review.
2012/5/16 Thomas De Schampheleire <[email protected]>:
Quoted 8 lines
Quoted 8 lines
docs/manual/prerequisite.txt new file +8
-0+ +[[requirement-optional]] + +Optional packages +~~~~~~~~~~~~~~~~~ + +* Build tools: +** +gawk+
Quoted 8 lines
docs/manual/prerequisite.txt line 47
Quoted 6 lines
docs/manual/prerequisite.txt new file +6
-0+ +* Source fetching tools: +** +cvs+ +** +git+ +** +mercurial+ +** +subversion+What's the reasoning behind these 'optional requirements' ?
Actually, I followed the comments from Thomas P. on the first post, see:
http://lists.busybox.net/pipermail/buildroot/2012-March/051972.html
Quoted 6 lines
People that are new to buildroot may simply install all 'requirements' and hence install tools like cvs or one of the other version control systems, while it won't actually be used, unless they select a package that downloads using that method.
Moreover, some tools that could fit in this category are missing, like bazaar or scp.
You're right, I've omitted them and others...
Quoted 16 lines
docs/manual/prerequisite.txt line 59
Quoted 13 lines
docs/manual/prerequisite.txt new file +12
-0+ +* Configuration interface dependencies (requires development libraries): +** +qt4+ to use the 'xconfig' interface +** +glib2+, +gtk2+ and +glade2+ to use the 'gconfig' interface + +* Development libraries: +** +zlib1+ +** +netpbm10+ (for +fbtest+) +** +python-xcbgen+ (for +Matchbox+ on Debian based system) +// ** +jdk+ and and depending on the host system +gcj-compat+ for Java +// development (for +java+, +jamvm+ and +gnu-classpath+) +I would think that the intention of buildroot is that most non-standard dependencies are handled within buildroot.
So am I.
Quoted 3 lines
One can safely expect make and gcc to be present, but is it currently so that such things like netpbm10 are needed? If so, shouldn't they be built as host-netpbm10 etc ?
Sure. A new item on the todo list ;-)
To write this page, I got inspired from:
http://www.armadeus.com/wiki/index.php?title=Ubuntu/Debian_installation_prerequisites
BR moves fast and the Armadeus Project is not based on the latest release, so...
Quoted 1 line
If we can do that, the above section can be removed.
I agree.
Quoted 3 lines
Otherwise:
s/and and/and/
Cheers,
Sam
PATCH v2 3/11 manual: add prerequisite.txt
Op 16 mei 2012 23:46 schreef "Samuel Martin" <[email protected]> het volgende:
Quoted 6 lines
Hi Thomas,
Thx for the review.
2012/5/16 Thomas De Schampheleire <[email protected]>:
Quoted 8 lines
Quoted 8 lines
docs/manual/prerequisite.txt line 41
Quoted 8 lines
docs/manual/prerequisite.txt new file +8
-0+ +[[requirement-optional]] + +Optional packages +~~~~~~~~~~~~~~~~~ + +* Build tools: +** +gawk+
Based on Thomas' post, is gawk really needed? As he says, host-gawk will be built when required by a package.
Quoted 17 lines
Quoted 8 lines
docs/manual/prerequisite.txt line 47
Quoted 6 lines
docs/manual/prerequisite.txt new file +6
-0+ +* Source fetching tools: +** +cvs+ +** +git+ +** +mercurial+ +** +subversion+What's the reasoning behind these 'optional requirements' ?
Actually, I followed the comments from Thomas P. on the first post, see:
http://lists.busybox.net/pipermail/buildroot/2012-March/051972.htmlQuoted 6 lines
People that are new to buildroot may simply install all 'requirements' and hence install tools like cvs or one of the other version control systems, while it won't actually be used, unless they select a package that downloads using that method.
Moreover, some tools that could fit in this category are missing, like bazaar or scp.
Quoted 5 lines
You're right, I've omitted them and others...
Quoted 3 lines
Review
Quoted 3 lines
(quoted diff) +2
-0+ +* Configuration interface dependencies (requires development
libraries):
Quoted 13 lines
Quoted 5 lines
Quoted 5 lines
docs/manual/prerequisite.txt new file +5
-0+** +qt4+ to use the 'xconfig' interface +** +glib2+, +gtk2+ and +glade2+ to use the 'gconfig' interface + +* Development libraries: +** +zlib1+Quoted 8 lines
docs/manual/prerequisite.txt line 59
Quoted 5 lines
docs/manual/prerequisite.txt new file +5
-0+** +netpbm10+ (for +fbtest+) +** +python-xcbgen+ (for +Matchbox+ on Debian based system) +// ** +jdk+ and and depending on the host system +gcj-compat+ for Java +// development (for +java+, +jamvm+ and +gnu-classpath+) +I would think that the intention of buildroot is that most non-standard dependencies are handled within buildroot.
Quoted 9 lines
So am I.
Quoted 3 lines
One can safely expect make and gcc to be present, but is it currently so that such things like netpbm10 are needed? If so, shouldn't they be built as host-netpbm10 etc ?
Sure. A new item on the todo list ;-)
To write this page, I got inspired from:
http://www.armadeus.com/wiki/index.php?title=Ubuntu/Debian_installation_prerequisites
Quoted 1 line
BR moves fast and the Armadeus Project is not based on the latest
release, so...
Quoted 4 lines
Quoted 2 lines
If we can do that, the above section can be removed.
I agree.
Quoted 8 lines
Quoted 3 lines
Otherwise:
s/and and/and/Cheers,
Sam
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20120517/77a307ef/attachment.html>
PATCH v2 4/11 manual: rework using.txt and update common-usage.txt
In reply to Samuel MartinFrom: Samuel MARTIN <[email protected]>
Consider the second chapter: "starting-up", as a tutorial. Assuming that, using.txt only contains the very first commands used to get configure and build its very first target system.
So, the following subsection from using.txt have been to common-usage.txt:
- Offline builds
- Building out-of-tree
- Environment variables
docs/manual/common-usage.txt +77 -0
@@ -2,3 +2,80 @@ Daily use --------- include::rebuilding-packages.txt[] + +Offline builds +~~~~~~~~~~~~~~ + +If you intend to do an offline build and just want to download +all sources that you previously selected in the configurator +('menuconfig', 'xconfig' or 'gconfig'), then issue: + +-------------------- + $ make source +-------------------- + +You can now disconnect or copy the content of your +dl+ +directory to the build-host. + +Building out-of-tree +~~~~~~~~~~~~~~~~~~~~ + +Buildroot supports building out of tree with a syntax similar to the +Linux kernel. To use it, add +O=<directory>+ to the make command line: + +-------------------- + $ make O=/tmp/build +-------------------- + +Or: + +-------------------- + $ cd /tmp/build; make O=$PWD -C path/to/buildroot +-------------------- + +All the output files will be located under +/tmp/build+. + +When using out-of-tree builds, the Buildroot +.config+ and temporary +files are also stored in the output directory. This means that you can +safely run multiple builds in parallel using the same source tree as +long as they use unique output directories. + +For ease of use, Buildroot generates a Makefile wrapper in the output +directory - So after the first run, you no longer need to pass +O=..+ +and +-C ..+, simply run (in the output directory): + +-------------------- + $ make <target> +-------------------- + +[[env-vars]] + +Environment variables +~~~~~~~~~~~~~~~~~~~~~ + +Buildroot also honors some environment variables, when they are passed +to +make+ or set in the environment: + +* +HOSTCXX+, the host C++ compiler to use +* +HOSTCC+, the host C compiler to use +* +UCLIBC_CONFIG_FILE=<path/to/.config>+, path to + the uClibc configuration file, used to compile uClibc, if an + internal toolchain is being built +* +BUSYBOX_CONFIG_FILE=<path/to/.config>+, path to + the Busybox configuration file +* +BUILDROOT_DL_DIR+ to override the directory in which + Buildroot stores/retrieves downloaded files + +An example that uses config files located in the toplevel directory and +in your $HOME: + +-------------------- + $ make UCLIBC_CONFIG_FILE=uClibc.config BUSYBOX_CONFIG_FILE=$HOME/bb.config +-------------------- + +If you want to use a compiler other than the default +gcc+ +or +g+++ for building helper-binaries on your host, then do + +-------------------- + $ make HOSTCXX=g++-4.3-HEAD HOSTCC=gcc-4.3-HEAD +--------------------
docs/manual/using.txt +15 -85
122 lines not on this page · raw message
Signature · 1 line
1.7.10.2
PATCH v2 4/11 manual: rework using.txt and update common-usage.txt
Quoted 43 lines · Samuel Martin
From: Samuel MARTIN <[email protected]>
Consider the second chapter: "starting-up", as a tutorial. Assuming that, using.txt only contains the very first commands used to get configure and build its very first target system.
So, the following subsection from using.txt have been to common-usage.txt:
- Offline builds
- Building out-of-tree
- Environment variablesSigned-off-by Samuel Martin <[email protected]>docs/manual/common-usage.txt +0
-0@@ -2,3 +2,80 @@ Daily use?---------
?include::rebuilding-packages.txt[]
docs/manual/common-usage.txt +22
-0+ +Offline builds +~~~~~~~~~~~~~~ + +If you intend to do an offline build and just want to download +all sources that you previously selected in the configurator +('menuconfig', 'xconfig' or 'gconfig'), then issue: + +-------------------- + $ make source +-------------------- + +You can now disconnect or copy the content of your +dl+ +directory to the build-host. + +Building out-of-tree +~~~~~~~~~~~~~~~~~~~~ + +Buildroot supports building out of tree with a syntax similar to the +Linux kernel. To use it, add +O=<directory>+ to the make command line: + +--------------------
docs/manual/common-usage.txt Daily use · line 36
Quoted 10 lines
docs/manual/common-usage.txt +10
-0+ $ make O=/tmp/build +-------------------- + +Or: + +-------------------- + $ cd /tmp/build; make O=$PWD -C path/to/buildroot +-------------------- + +All the output files will be located under +/tmp/build+.
I would mention in this section that the default output directory is 'output' in the buildroot tree.
Quoted 28 lines
docs/manual/common-usage.txt +28
-0+ +When using out-of-tree builds, the Buildroot +.config+ and temporary +files are also stored in the output directory. This means that you can +safely run multiple builds in parallel using the same source tree as +long as they use unique output directories. + +For ease of use, Buildroot generates a Makefile wrapper in the output +directory - So after the first run, you no longer need to pass +O=..+ +and +-C ..+, simply run (in the output directory): + +-------------------- + $ make <target> +-------------------- + +[[env-vars]] + +Environment variables +~~~~~~~~~~~~~~~~~~~~~ + +Buildroot also honors some environment variables, when they are passed +to +make+ or set in the environment: + +* +HOSTCXX+, the host C++ compiler to use +* +HOSTCC+, the host C compiler to use +* +UCLIBC_CONFIG_FILE=<path/to/.config>+, path to + ?the uClibc configuration file, used to compile uClibc, if an + ?internal toolchain is being built +* +BUSYBOX_CONFIG_FILE=<path/to/.config>+, path to
docs/manual/common-usage.txt Daily use · line 74
Quoted 10 lines
docs/manual/common-usage.txt +10
-0+ ?the Busybox configuration file +* +BUILDROOT_DL_DIR+ to override the directory in which + ?Buildroot stores/retrieves downloaded files + +An example that uses config files located in the toplevel directory and +in your $HOME: + +-------------------- + $ make UCLIBC_CONFIG_FILE=uClibc.config BUSYBOX_CONFIG_FILE=$HOME/bb.config +--------------------
I would mention here that the recommended usage is to specify these config files in the buildroot .config file instead.
Quoted 27 lines
docs/manual/common-usage.txt +7
-0+ +If you want to use a compiler other than the default +gcc+ +or +g+++ for building helper-binaries on your host, then do + +-------------------- + $ make HOSTCXX=g++-4.3-HEAD HOSTCC=gcc-4.3-HEAD +--------------------docs/manual/using.txt +0
-0@@ -3,8 +3,8 @@ Using Buildroot?Buildroot has a nice configuration tool similar to the one you can ?find in the http://www.kernel.org/[Linux kernel] or in
docs/manual/using.txt +2
-2-http://www.busybox.net/[Busybox]. Note that you can (and should) build -everything as a normal user. There is no need to be root to configure +http://www.busybox.net/[Busybox]. Note that you can *and should build +everything as a normal user*. There is no need to be root to configure?and use Buildroot. The first step is to run the configuration ?assistant:
docs/manual/using.txt +0
-0@@ -27,12 +27,11 @@ or?to run the Qt or GTK-based configurators.
?All of these "make" commands will need to build a configuration
docs/manual/using.txt +0
-1-utility, so you may need to install "development" packages for
docs/manual/using.txt or · line 34
Quoted 10 lines
docs/manual/using.txt +5
-5-relevant libraries used by the configuration utilities. On Debian-like -systems, the +libncurses5-dev+ package is required to use the -'menuconfig' interface, +libqt4-dev+ is required to use the 'xconfig' -interface, and +libglib2.0-dev, libgtk2.0-dev and libglade2-dev+ are -needed to use the 'gconfig' interface. +utility (including the interface), so you may need to install +"development" packages for relevant libraries used by the +configuration utilities. Check the xref:requirement[] to know what +Buildroot needs, and specifically the xref:requirement-optional[system requirements] +to get the dependencies of favourite interface.
s/favourite/favorite/
as we generally use American style words (as you did before with honor, ...)
docs/manual/using.txt
Quoted 13 lines
?For each menu entry in the configuration tool, you can find associated ?help that describes the purpose of the entry.
docs/manual/using.txt +0
-0@@ -54,9 +53,9 @@ tell Buildroot to run each package compilation with +make -jN+.?This command will generally perform the following steps:
?* Download source files (as required)
docs/manual/using.txt +3
-3-* Configure, build and install the cross-compiling toolchain if an - ?internal toolchain is used, or import a toolchain if an external - ?toolchain is used +* Configure, build and install the cross-compiling toolchain using the + ?appropiate toolchain backend is used, or simply import a toolchain + ?if an external toolchain is used
s/appropiate/appropriate/
s/is used//
Quoted 77 lines
?* Build/install selected target packages
?* Build a kernel image, if selected
?* Build a bootloader image, if selecteddocs/manual/using.txt +0
-0@@ -103,78 +102,9 @@ This directory contains several subdirectories:?* +toolchain/+ contains the build directories for the various ? components of the cross-compilation toolchain.
docs/manual/using.txt +3
-66-Offline builds --------------- +These commands, +make menuconfig|gconfig|xconfig+ and +make+, are the +basic ones that allow to easily and quickly generate images fitting +your needs, with all the supports and applications you enabled. -If you intend to do an offline build and just want to download -all sources that you previously selected in the configurator -('menuconfig', 'xconfig' or 'gconfig'), then issue: - --------------------- - $ make source --------------------- - -You can now disconnect or copy the content of your +dl+ -directory to the build-host. - -Building out-of-tree --------------------- - -Buildroot supports building out of tree with a syntax similar to the -Linux kernel. To use it, add +O=<directory>+ to the make command line: - --------------------- - $ make O=/tmp/build --------------------- - -Or: - --------------------- - $ cd /tmp/build; make O=$PWD -C path/to/buildroot --------------------- - -All the output files will be located under +/tmp/build+. - -When using out-of-tree builds, the Buildroot +.config+ and temporary -files are also stored in the output directory. This means that you can -safely run multiple builds in parallel using the same source tree as -long as they use unique output directories. - -For ease of use, Buildroot generates a Makefile wrapper in the output -directory - So after the first run, you no longer need to pass +O=..+ -and +-C ..+, simply run (in the output directory): - --------------------- - $ make <target> --------------------- - -Environment variables ---------------------- -[[env-vars]] - -Buildroot also honors some environment variables, when they are passed -to +make+ or set in the environment: - -* +HOSTCXX+, the host C++ compiler to use -* +HOSTCC+, the host C compiler to use -* +UCLIBC_CONFIG_FILE=<path/to/.config>+, path to - ?the uClibc configuration file, used to compile uClibc, if an - ?internal toolchain is being built -* +BUSYBOX_CONFIG_FILE=<path/to/.config>+, path to - ?the Busybox configuration file -* +BUILDROOT_DL_DIR+ to override the directory in which - ?Buildroot stores/retrieves downloaded files - -An example that uses config files located in the toplevel directory and -in your $HOME: - --------------------- - $ make UCLIBC_CONFIG_FILE=uClibc.config BUSYBOX_CONFIG_FILE=$HOME/bb.config
docs/manual/using.txt This directory contains several subdirectories: · line 110
Quoted 10 lines
docs/manual/using.txt +2
-8--------------------- - -If you want to use a compiler other than the default +gcc+ -or +g+++ for building helper-binaries on your host, then do - --------------------- - $ make HOSTCXX=g++-4.3-HEAD HOSTCC=gcc-4.3-HEAD --------------------- +More details about the "make" command usages are given in +xref:make-tips[].
Is it common to talk about 'command usages' ? I would have put 'command usage'.
Quoted 7 lines
--
1.7.10.2_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH v2 5/11 manual: add make-tips.txt
In reply to Samuel MartinFrom: Samuel MARTIN <[email protected]>
create mode 100644 docs/manual/make-tips.txt
docs/manual/make-tips.txt new file +48 -0
@@ -0,0 +1,48 @@ +[[make-tips]] +'make' tips +----------- + +Because Buildroot is a set of Makefiles and patches, there are few +things useful to know, such as: + +Display all command executed by make: + +-------------------- + $ make V=0|1 <target> +-------------------- + +Display all available targets: + +-------------------- + $ make help +-------------------- + +Note that, some settings in the +.config+ file may hide some targets +like: + +* +busybox-menuconfig+ depends whether +busybox+ is enabled or not in + the +Package selection+ menu +* +linux-menuconfig+ and +linux-savedefconfig+ depends on whether + +linux+ is enabled or not +* +uclibc-menuconfig+ depends on whether the toolchain uses the + Buildroot internal toolchain backend or not +* +ctng-menuconfig+ depends on whether the toolchain uses the + crosstool-NG backend or not +* +barebox-menuconfig+ and +barebox-savedefconfig+ depends on whether + +barebox+ bootloader is enabled or not + +Delete all build products (including build directories, host, staging +and target trees, the images and the toolchain): + +-------------------- + $ make clean +-------------------- + +Delete all build products as well as the configuration: + +-------------------- + $ make distclean +-------------------- + +Note that if +ccache+ is enabled, running +make clean|distclean+ does +not empty the Buildroot's cache. To delete it, refer to xref:ccache[].
docs/manual/working-with.txt +2 -0
@@ -2,6 +2,8 @@ Working with Buildroot ====================== [[working-with-br]] +include::make-tips.txt[] + include::customize.txt[] include::common-usage.txt[]
Signature · 1 line
1.7.10.2
PATCH v2 5/11 manual: add make-tips.txt
Quoted 25 lines · Samuel Martin
From: Samuel MARTIN <[email protected]>
Signed-off-by Samuel Martin <[email protected]>?create mode 100644
docs/manual/make-tips.txtdocs/manual/make-tips.txt new file +12
-0@@ -0,0 +1,48 @@ +[[make-tips]] +'make' tips +----------- + +Because Buildroot is a set of Makefiles and patches, there are few +things useful to know, such as: + +Display all command executed by make: + +-------------------- + $ make V=0|1 <target> +--------------------
docs/manual/make-tips.txt line 22
Quoted 10 lines
docs/manual/make-tips.txt new file +10
-0+ +Display all available targets: + +-------------------- + $ make help +-------------------- + +Note that, some settings in the +.config+ file may hide some targets +like: +
In combination with the below, this is not a fluent sentence: 'some settings may hide some targets like ...menuconfig depends on ...'. This problem can be solved by removing 'like'.
Additionally I'd remove the comma after 'note that'.
docs/manual/make-tips.txt line 24
Quoted 2 lines
docs/manual/make-tips.txt new file +2
-0+* +busybox-menuconfig+ depends whether +busybox+ is enabled or not in + ?the +Package selection+ menu
s/depends/depends on/
docs/manual/make-tips.txt line 26
Quoted 2 lines
docs/manual/make-tips.txt new file +2
-0+* +linux-menuconfig+ and +linux-savedefconfig+ depends on whether + ?+linux+ is enabled or not
s/depends/depend/ (plural)
docs/manual/make-tips.txt
Quoted 6 lines
docs/manual/make-tips.txt new file +6
-0+* +uclibc-menuconfig+ depends on whether the toolchain uses the + ?Buildroot internal toolchain backend or not +* +ctng-menuconfig+ depends on whether the toolchain uses the + ?crosstool-NG backend or not +* +barebox-menuconfig+ and +barebox-savedefconfig+ depends on whether + ?+barebox+ bootloader is enabled or not
s/depends/depend/ (plural)
Quoted 6 lines
docs/manual/make-tips.txt new file +6
-0+ +Delete all build products (including build directories, host, staging +and target trees, the images and the toolchain): + +-------------------- + $ make clean
docs/manual/make-tips.txt line 48
Quoted 10 lines
docs/manual/make-tips.txt new file +10
-0+-------------------- + +Delete all build products as well as the configuration: + +-------------------- + $ make distclean +-------------------- + +Note that if +ccache+ is enabled, running +make clean|distclean+ does +not empty the Buildroot's cache. To delete it, refer to xref:ccache[].
"the Buildroot's cache" is not correct grammatically, but in fact it is more the compiler cache. Buildroot doesn't have a lot to do with it.
Quoted 20 lines
docs/manual/working-with.txt +0
-0@@ -2,6 +2,8 @@ Working with Buildroot?======================
?[[working-with-br]]docs/manual/working-with.txt +2
-0+include::make-tips.txt[] +?include::customize.txt[]
?include::common-usage.txt[]
--
1.7.10.2_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH v2 6/11 manual: update working-with.txt
In reply to Samuel MartinFrom: Samuel MARTIN <[email protected]>
docs/manual/rebuilding-packages.txt +2 -2
@@ -29,8 +29,8 @@ by the different packages, so some understanding of the particular package is needed. For packages relying on Buildroot packages infrastructures (see -xref:add-packages[this section] for details), the following stamp -files are relevant: +xref:adding-packages[] for details), the following stamp files are +relevant: * +output/build/packagename-version/.stamp_configured+. If removed, Buildroot will trigger the recompilation of the package from the
docs/manual/working-with.txt +11 -1
@@ -1,6 +1,9 @@ Working with Buildroot ====================== -[[working-with-br]] + +This section aims to explain how Buildroot allows you to tune, +customize almost everthing... making your configuration fitting your +needs. include::make-tips.txt[]
@@ -10,3 +13,10 @@ include::common-usage.txt[] Tweaking Buildroot ------------------ + +Because Buildroot does not yet fit all your requirements, you may be +intrested in tweaking it to add: + +* new packages: refer to the xref:adding-packages[Developer guide] + +* new board support: refer to the xref:board-support[Developer guide]
Signature · 1 line
1.7.10.2
PATCH v2 6/11 manual: update working-with.txt
Quoted 12 lines · Samuel Martin
From: Samuel MARTIN <[email protected]>
Signed-off-by Samuel Martin <[email protected]>docs/manual/rebuilding-packages.txt +0
-0@@ -29,8 +29,8 @@ by the different packages, so some understanding of the particular?package is needed.
Quoted 1 line
?For packages relying on Buildroot packages infrastructures (see
I know that you didn't change this here, but I'd change the second 'packages' to singular:
... on Buildroot package infrastructures.
Quoted 15 lines
docs/manual/rebuilding-packages.txt +2
-2-xref:add-packages[this section] for details), the following stamp -files are relevant: +xref:adding-packages[] for details), the following stamp files are +relevant:?* +output/build/packagename-version/.stamp_configured+. If removed, ? Buildroot will trigger the recompilation of the package from the
docs/manual/working-with.txt +0
-0@@ -1,6 +1,9 @@?Working with Buildroot
?======================
-[[working-with-br]]
docs/manual/working-with.txt line 6
Quoted 4 lines
docs/manual/working-with.txt +4
-0+ +This section aims to explain how Buildroot allows you to tune, +customize almost everthing... making your configuration fitting your +needs.
What is the difference between tune and customize? Later you also use 'tweaking'.
s/everthing/everything/
s/fitting/fit/
But, rephrasing suggestion:
This section explains how you can customize Buildroot to fit your needs.
docs/manual/working-with.txt include::common-usage.txt[] · line 18
Quoted 10 lines
?include::make-tips.txt[]
docs/manual/working-with.txt +0
-0@@ -10,3 +13,10 @@ include::common-usage.txt[]?Tweaking Buildroot
?------------------docs/manual/working-with.txt +3
-0+ +Because Buildroot does not yet fit all your requirements, you may be +intrested in tweaking it to add:
s/Because/If/
s/intrested/interested/
Quoted 11 lines
docs/manual/working-with.txt +4
-1+ +* new packages: refer to the xref:adding-packages[Developer guide] + +* new board support: refer to the xref:board-support[Developer guide] --1.7.10.2
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH v2 6/11 manual: update working-with.txt
2012/5/16 Thomas De Schampheleire <[email protected]>:
Quoted 3 lines · Samuel Martin
Quoted 2 lines
From: Samuel MARTIN <[email protected]>
[...]
Quoted 7 lines
Quoted 7 lines
docs/manual/working-with.txt +0
-0@@ -1,6 +1,9 @@?Working with Buildroot
?======================
Quoted 8 lines
docs/manual/working-with.txt line 6
Quoted 5 lines
-[[working-with-br]]
docs/manual/working-with.txt +4
-0+ +This section aims to explain how Buildroot allows you to tune, +customize almost everthing... making your configuration fitting your +needs.What is the difference between tune and customize? Later you also use 'tweaking'.
My first thoughts were: tuning or customizing BR means "making changes through the configuration interface (i.e. adjusting toolchain features, package selection and so on), whereas tweaking was more likely hacking BR itself (i.e adding new packages, support for new boards/architectures/...).
But, I admit the difference between these 3 words is not so obvious. Let's put 'hacking' in instead of 'tweaking'.
Quoted 5 lines
s/everthing/everything/
s/fitting/fit/But, rephrasing suggestion:
This section explains how you can customize Buildroot to fit your needs.
Fair enough.
The simpler, the better!
Quoted 26 lines
docs/manual/working-with.txt include::common-usage.txt[] · line 18
Quoted 11 lines
?include::make-tips.txt[]
docs/manual/working-with.txt +0
-0@@ -10,3 +13,10 @@ include::common-usage.txt[]?Tweaking Buildroot
?------------------docs/manual/working-with.txt +3
-0+ +Because Buildroot does not yet fit all your requirements, you may be +intrested in tweaking it to add:s/Because/If/
s/intrested/interested/Quoted 11 lines
docs/manual/working-with.txt +4
-1+ +* new packages: refer to the xref:adding-packages[Developer guide] + +* new board support: refer to the xref:board-support[Developer guide] --1.7.10.2
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH v2 7/11 manual: rework the intro of customize-rootfs.txt
In reply to Samuel MartinFrom: Samuel MARTIN <[email protected]>
docs/manual/customize-rootfs.txt +3 -1
@@ -2,7 +2,9 @@ Customizing the generated target filesystem ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -There are a few ways to customize the resulting target filesystem: +Apart changing one or another configuration through +make +*-menuconfig+, there are a few ways to customize the resulting target +filesystem: * Customize the target filesystem directly and rebuild the image. The target filesystem is available under +output/target/+. You can
Signature · 1 line
1.7.10.2
PATCH v2 7/11 manual: rework the intro of customize-rootfs.txt
Quoted 13 lines · Samuel Martin
From: Samuel MARTIN <[email protected]>
Signed-off-by Samuel Martin <[email protected]>docs/manual/customize-rootfs.txt +0
-0@@ -2,7 +2,9 @@?Customizing the generated target filesystem
?~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
docs/manual/customize-rootfs.txt line 7
Quoted 4 lines
docs/manual/customize-rootfs.txt +3
-1-There are a few ways to customize the resulting target filesystem: +Apart changing one or another configuration through +make +*-menuconfig+, there are a few ways to customize the resulting target +filesystem:
s/Apart/Apart from/
or
s/Apart/Besides/
I also don't think you can 'change one or another configuration'. You could 'change configuration' or 'change one or more configuration options'.
Quoted 10 lines
?* Customize the target filesystem directly and rebuild the image. ?The ? target filesystem is available under +output/target/+. ?You can --
1.7.10.2_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH v2 8/11 manual: add troubleshooting.txt
In reply to Samuel MartinFrom: Samuel MARTIN <[email protected]>
create mode 100644 docs/manual/troubleshooting.txt
docs/manual/manual.txt +1 -0
@@ -17,6 +17,7 @@ include::starting-up.txt[] include::working-with.txt[] +include::troubleshooting.txt[]
docs/manual/troubleshooting.txt new file +46 -0
46 lines not on this page · raw message
Signature · 1 line
1.7.10.2
PATCH v2 8/11 manual: add troubleshooting.txt
Quoted 42 lines · Samuel Martin
From: Samuel MARTIN <[email protected]>
Signed-off-by Samuel Martin <[email protected]>?create mode 100644
docs/manual/troubleshooting.txtdocs/manual/manual.txt +0
-0@@ -17,6 +17,7 @@ include::starting-up.txt[]?include::working-with.txt[]
docs/manual/manual.txt +1
-0+include::troubleshooting.txt[]docs/manual/troubleshooting.txt new file +17
-0@@ -0,0 +1,46 @@ +Troubleshooting +=============== + +LZO package configuration failure due to incorrect host architecture detection +------------------------------------------------------------------------------ + +Typical error output +~~~~~~~~~~~~~~~~~~~~ + +------------------------ +configure: Configuring LZO 2.03 +checking build system type... Invalid configuration `x86_64-unknown-linux-': machine `x86_64-unknown-linux' not recognized +configure: error: /bin/sh autoconf/config.sub x86_64-unknown-linux- failed +------------------------ + +Actually this is a known ccache/zlib issue (see +https://bugs.busybox.net/show_bug.cgi?id=4808) that occurs when the
docs/manual/troubleshooting.txt line 27
Quoted 10 lines
docs/manual/troubleshooting.txt new file +10
-0+zlib version of the host system is more recent that the one provided +by Buildroot. This misleads the Buildroot host binary +ccache+. + +This bug has been spotted, then fixed shortly after the Buildroot +2012.02 release. + +If you are using the release 2012.02 or elder and got this issue, then +applying this patch +http://git.buildroot.net/buildroot/patch/package/ccache/ccache.mk?id=7ea11dafff37c5403432f691cf3c46d1d5566e46 +should fix it.
s/elder/older/
Quoted 26 lines
docs/manual/troubleshooting.txt new file +19
-1+ +Solution +~~~~~~~~ + +* Get the upstream patch: ++ +----------------------- + $ wget -O /tmp/ccache-Force-ccache-to-use-its-internal-zlib.patch \ + ? ?"http://git.buildroot.net/buildroot/patch/package/ccache/ccache.mk?id=7ea11dafff37c5403432f691cf3c46d1d5566e46" +------------------------ + +* Apply this patch and rebuild ccache: ++ +------------------------ + $ cd buildroot + $ patch -p1 < /tmp/ccache-Force-ccache-to-use-its-internal-zlib.patch + $ make host-ccache-dirclean + $ make +------------------------ --1.7.10.2
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH v2 9/11 manual: add writing-rules.txt
In reply to Samuel MartinFrom: Samuel MARTIN <[email protected]>
create mode 100644 docs/manual/writing-rules.txt
docs/manual/adding-packages-directory.txt +5 -0
@@ -145,6 +145,9 @@ 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 package. +Further formating details: see xref:writing-rules-config-in[the +writing rules]. + The +.mk+ file ^^^^^^^^^^^^^^
@@ -185,3 +188,5 @@ different way, using different infrastructures: many of them in the tree, we keep them documented in a xref:handwritten-tutorial[tutorial]. +Further formating details: see xref:writing-rules-mk[the writing +rules].
docs/manual/developer-guide.txt +2 -0
@@ -1,6 +1,8 @@ Developer Guidelines ==================== +include::writing-rules.txt[] + include::adding-packages.txt[] include::board-support.txt[]
docs/manual/writing-rules.txt new file +119 -0
119 lines not on this page · raw message
Signature · 1 line
1.7.10.2
PATCH v2 9/11 manual: add writing-rules.txt
Quoted 46 lines · Samuel Martin
From: Samuel MARTIN <[email protected]>
Signed-off-by Samuel Martin <[email protected]>?create mode 100644
docs/manual/writing-rules.txtdocs/manual/adding-packages-directory.txt +0
-0@@ -145,6 +145,9 @@ 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 ?package.
docs/manual/adding-packages-directory.txt +3
-0+Further formating details: see xref:writing-rules-config-in[the +writing rules]. +?The +.mk+ file
?^^^^^^^^^^^^^^docs/manual/adding-packages-directory.txt +0
-0@@ -185,3 +188,5 @@ different way, using different infrastructures:? many of them in the tree, we keep them documented in a ? xref:handwritten-tutorial[tutorial].
docs/manual/adding-packages-directory.txt +2
-0+Further formating details: see xref:writing-rules-mk[the writing +rules].docs/manual/developer-guide.txt +0
-0@@ -1,6 +1,8 @@?Developer Guidelines
?====================docs/manual/developer-guide.txt +2
-0+include::writing-rules.txt[] +?include::adding-packages.txt[]
?include::board-support.txt[]
docs/manual/writing-rules.txt new file +0
-0
docs/manual/writing-rules.txt line 8
Quoted 8 lines
docs/manual/writing-rules.txt new file +8
-0@@ -0,0 +1,119 @@ +Writing rules +------------- + +Overall, those writing rules are here to help you adding new files in +Buildroot or refactoring existing ones. In these cases, should be followed. + +If you slightly modify some existing file, the important thing is +keeping th consistency of the whole file, so you can:
s/th/the
docs/manual/writing-rules.txt line 19
Quoted 11 lines
docs/manual/writing-rules.txt new file +11
-0+* either follow the potentially deprecated rules used all over this +file +* or entirely rework it in order to make it comply with those rules. + +[[writing-rules-config-in]] + ++Config.in+ file +~~~~~~~~~~~~~~~~ + ++Config.in+ files contain entry for almost anything configurable in +buildroot.
s/buildroot/Buildroot
Quoted 107 lines
docs/manual/writing-rules.txt new file +100
-1+ +Entry has the following pattern: + +--------------------- +config BR2_PACKAGE_LIBFOO + ? ? ? bool "libfoo" + ? ? ? depends on BR2_PACKAGE_LIBBAZ + ? ? ? select BR2_PACKAGE_LIBBAR + ? ? ? help + ? ? ? ? This is a comment that explains what libfoo is. + + ? ? ? ? http://foosoftware.org/libfoo/ +--------------------- + +* The +bool+, +depends on+, +select+ and +help+ lines are indented + ?with one tab. + +* The help text itself should be indented with one tab and two + ?spaces. + + +[[writing-rules-mk]] + +The +.mk+ file +~~~~~~~~~~~~~~ + +* Affectation: use +=+ preceeded and followed by one space: ++ +--------------------- +LIBFOO_VERSION = 1.0 +LIBFOO_CONF_OPT += --without-python-support +--------------------- + +* Indentation: use tab only: ++ +--------------------- +define LIBFOO_REMOVE_DOC +$(RM) -fr $(TARGET_DIR)/usr/share/libfoo/doc \ + ? ? ? $(TARGET_DIR)/usr/share/man/man3/libfoo* +endef +--------------------- + +* Optional dependency: + +** Prefer multi-line syntax. ++ +YES: ++ +--------------------- +ifeq ($(BR2_PACKAGE_PYTHON),y) +LIBFOO_CONF_OPT += --with-python-support +LIBFOO_DEPENDENCIES += python +else +LIBFOO_CONF_OPT += --without-python-support +endif +--------------------- ++ +NO: ++ +--------------------- +LIBFOO_CONF_OPT += --with$(if $(BR2_PACKAGE_PYTHON),,out)-python-support +LIBFOO_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,) +--------------------- + +** Keep configure options and dependencies close together. + +* Optional hook: Keep hook function definition close hooks variable + ?affection nested in the +if+ block: ++ +YES: ++ +--------------------- +ifneq ($(BR2_LIBFOO_INSTALL_DATA),y) +define LIBFOO_REMOVE_DATA + ? ? ? $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/data +endef +LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA +endif +--------------------- ++ +NO: ++ +--------------------- +define LIBFOO_REMOVE_DATA + ? ? ? $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/data +endef + +ifneq ($(BR2_LIBFOO_INSTALL_DATA),y) +LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA +endif +--------------------- + +The documentation +~~~~~~~~~~~~~~~~~ + +The documentation uses the +http://www.methods.co.nz/asciidoc/[asciidoc] format. + +Further details about the http://www.methods.co.nz/asciidoc/[asciidoc] +syntax: refer to http://www.methods.co.nz/asciidoc/userguide.html[]. --1.7.10.2
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH v2 9/11 manual: add writing-rules.txt
In reply to Samuel MartinQuoted 15 lines · Samuel Martin
From: Samuel MARTIN <[email protected]>
Signed-off-by Samuel Martin <[email protected]>?create mode 100644
docs/manual/writing-rules.txtdocs/manual/adding-packages-directory.txt +0
-0@@ -145,6 +145,9 @@ 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 ?package.
docs/manual/adding-packages-directory.txt is also enabled, but not necessarily built before your package. To do · line 149
Quoted 2 lines
docs/manual/adding-packages-directory.txt +2
-0+Further formating details: see xref:writing-rules-config-in[the +writing rules].
s/formating/formatting/
docs/manual/adding-packages-directory.txt different way, using different infrastructures: · line 192
Quoted 10 lines
+
?The +.mk+ file
?^^^^^^^^^^^^^^docs/manual/adding-packages-directory.txt +0
-0@@ -185,3 +188,5 @@ different way, using different infrastructures:? many of them in the tree, we keep them documented in a ? xref:handwritten-tutorial[tutorial].
docs/manual/adding-packages-directory.txt +2
-0+Further formating details: see xref:writing-rules-mk[the writing +rules].
idem, formatting
Quoted 19 lines
docs/manual/developer-guide.txt +0
-0@@ -1,6 +1,8 @@?Developer Guidelines
?====================docs/manual/developer-guide.txt +2
-0+include::writing-rules.txt[] +?include::adding-packages.txt[]
?include::board-support.txt[]
docs/manual/writing-rules.txt new file +0
-0
docs/manual/writing-rules.txt line 5
Quoted 5 lines
docs/manual/writing-rules.txt new file +5
-0@@ -0,0 +1,119 @@ +Writing rules +------------- + +Overall, those writing rules are here to help you adding new files in +Buildroot or refactoring existing ones. In these cases, should be followed.
Again, I'm not a native English speaker, but I think that you can either say:
... to help you add new files or refactor existing ones.
or
... to help you in adding new files or refactoring existing ones.
There is something missing in the sentence 'In these cases, should be followed.'
docs/manual/writing-rules.txt line 11
Quoted 6 lines
docs/manual/writing-rules.txt new file +6
-0+ +If you slightly modify some existing file, the important thing is +keeping th consistency of the whole file, so you can: +* either follow the potentially deprecated rules used all over this +file +* or entirely rework it in order to make it comply with those rules.
s/th/the/
docs/manual/writing-rules.txt line 19
Quoted 8 lines
docs/manual/writing-rules.txt new file +8
-0+ +[[writing-rules-config-in]] + ++Config.in+ file +~~~~~~~~~~~~~~~~ + ++Config.in+ files contain entry for almost anything configurable in +buildroot.
s/entry/entries/
docs/manual/writing-rules.txt line 21
Quoted 2 lines
docs/manual/writing-rules.txt new file +2
-0+ +Entry has the following pattern:
s/Entry/An entry/
Quoted 7 lines
docs/manual/writing-rules.txt new file +7
-0+ +--------------------- +config BR2_PACKAGE_LIBFOO + ? ? ? bool "libfoo" + ? ? ? depends on BR2_PACKAGE_LIBBAZ + ? ? ? select BR2_PACKAGE_LIBBAR + ? ? ? help
docs/manual/writing-rules.txt
Quoted 10 lines
docs/manual/writing-rules.txt new file +10
-0+ ? ? ? ? This is a comment that explains what libfoo is. + + ? ? ? ? http://foosoftware.org/libfoo/ +--------------------- + +* The +bool+, +depends on+, +select+ and +help+ lines are indented + ?with one tab. + +* The help text itself should be indented with one tab and two + ?spaces.
I'd refer to the fact that this is regular Kconfig, and a reference to the syntax description, for example in the Linux kernel documentation.
docs/manual/writing-rules.txt line 46
Quoted 8 lines
docs/manual/writing-rules.txt new file +8
-0+ + +[[writing-rules-mk]] + +The +.mk+ file +~~~~~~~~~~~~~~ + +* Affectation: use +=+ preceeded and followed by one space:
What is 'affectation' ? Do you mean assignment?
s/preceeded/preceded/
Quoted 31 lines
docs/manual/writing-rules.txt new file +31
-0++ +--------------------- +LIBFOO_VERSION = 1.0 +LIBFOO_CONF_OPT += --without-python-support +--------------------- + +* Indentation: use tab only: ++ +--------------------- +define LIBFOO_REMOVE_DOC +$(RM) -fr $(TARGET_DIR)/usr/share/libfoo/doc \ + ? ? ? $(TARGET_DIR)/usr/share/man/man3/libfoo* +endef +--------------------- + +* Optional dependency: + +** Prefer multi-line syntax. ++ +YES: ++ +--------------------- +ifeq ($(BR2_PACKAGE_PYTHON),y) +LIBFOO_CONF_OPT += --with-python-support +LIBFOO_DEPENDENCIES += python +else +LIBFOO_CONF_OPT += --without-python-support +endif +--------------------- ++ +NO:
docs/manual/writing-rules.txt
Quoted 10 lines
docs/manual/writing-rules.txt new file +10
-0++ +--------------------- +LIBFOO_CONF_OPT += --with$(if $(BR2_PACKAGE_PYTHON),,out)-python-support +LIBFOO_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,) +--------------------- + +** Keep configure options and dependencies close together. + +* Optional hook: Keep hook function definition close hooks variable + ?affection nested in the +if+ block:
Suggestion:
Optional hooks: keep hook definition and assignment together in one if block.
Quoted 39 lines
docs/manual/writing-rules.txt new file +32
-1++ +YES: ++ +--------------------- +ifneq ($(BR2_LIBFOO_INSTALL_DATA),y) +define LIBFOO_REMOVE_DATA + ? ? ? $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/datas/Optional hook/Optional hooks/ +endef +LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA +endif +--------------------- ++ +NO: ++ +--------------------- +define LIBFOO_REMOVE_DATA + ? ? ? $(RM) -fr $(TARGET_DIR)/usr/share/libfoo/data +endef + +ifneq ($(BR2_LIBFOO_INSTALL_DATA),y) +LIBFOO_POST_INSTALL_TARGET_HOOKS += LIBFOO_REMOVE_DATA +endif +--------------------- + +The documentation +~~~~~~~~~~~~~~~~~ + +The documentation uses the +http://www.methods.co.nz/asciidoc/[asciidoc] format. + +Further details about the http://www.methods.co.nz/asciidoc/[asciidoc] +syntax: refer to http://www.methods.co.nz/asciidoc/userguide.html[]. --1.7.10.2
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH v2 10/11 manual: add get-involved.txt
In reply to Samuel MartinFrom: Samuel MARTIN <[email protected]>
create mode 100644 docs/manual/get-involved.txt
docs/manual/get-involved.txt new file +67 -0
@@ -0,0 +1,67 @@ +Getting involved +================ + +Like any open source projects, Buildroot has different ways to share +information in its community and outside. + +One piece of it is the document you are currently reading ;-). + +Each of those ways may interest you if you are look for some help, +want to understand Buildroot or contribute to the project. + +Mailing List +------------ + +Buildroot has a mailing list +http://lists.busybox.net/pipermail/buildroot[] for discussion and +development. + +[[mailing-list-subscribe]] + +Subscribing to the mailing list +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +You can subscribe by visiting +http://lists.busybox.net/mailman/listinfo/buildroot[]. +Only subscribers to the Buildroot mailing list are allowed to post to +this list. + +The list is also available through _Gmane_ http://gmane.org[], at ++gmane.comp.lib.uclibc.buildroot+ +http://dir.gmane.org/gmane.comp.lib.uclibc.buildroot[]. + +Searching the List Archives +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Please search the mailing list archives before asking questions on 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 +annoying everyone on the list with frequently asked questions... + +IRC +--- + +The Buildroot IRC is irc://freenode.net/#buildroot[]. +The channel +#buildroot+ is hosted on Freenode +http://webchat.freenode.net[]. + +When asking for help on the IRC, share relevant logs or piece of code +using a code sharing website (see +http://en.wikipedia.org/wiki/Comparison_of_pastebins[], and pick up +one). + +Bugtracker +---------- + +The Buildroot bugtracker is at https://bugs.uclibc.org[]. + +Buildroot wikipage +------------------ + +Consecutively to the Buildroot developer day February 3, 2012, +a page dedicated to Buildroot has been created on +http://elinux.org[elinux.org]. + +This page is reachable at http://elinux.org/Buildroot[]. + +Currently, this page is mainly used as a _todo-list_.
docs/manual/manual.txt +2 -0
@@ -25,6 +25,8 @@ include::going-further.txt[] include::developer-guide.txt[] +include::get-involved.txt[] + include::legal-notice.txt[]
Signature · 1 line
1.7.10.2
PATCH v2 10/11 manual: add get-involved.txt
Quoted 13 lines · Samuel Martin
From: Samuel MARTIN <[email protected]>
Signed-off-by Samuel Martin <[email protected]>?create mode 100644
docs/manual/get-involved.txtdocs/manual/get-involved.txt new file +0
-0
docs/manual/get-involved.txt line 9
Quoted 9 lines
docs/manual/get-involved.txt new file +9
-0@@ -0,0 +1,67 @@ +Getting involved +================ + +Like any open source projects, Buildroot has different ways to share +information in its community and outside. + +One piece of it is the document you are currently reading ;-). + +Each of those ways may interest you if you are look for some help,
s/look/looking
Quoted 38 lines
docs/manual/get-involved.txt new file +38
-0+want to understand Buildroot or contribute to the project. + +Mailing List +------------ + +Buildroot has a mailing list +http://lists.busybox.net/pipermail/buildroot[] for discussion and +development. + +[[mailing-list-subscribe]] + +Subscribing to the mailing list +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +You can subscribe by visiting +http://lists.busybox.net/mailman/listinfo/buildroot[]. +Only subscribers to the Buildroot mailing list are allowed to post to +this list. + +The list is also available through _Gmane_ http://gmane.org[], at ++gmane.comp.lib.uclibc.buildroot+ +http://dir.gmane.org/gmane.comp.lib.uclibc.buildroot[]. + +Searching the List Archives +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Please search the mailing list archives before asking questions on 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 +annoying everyone on the list with frequently asked questions... + +IRC +--- + +The Buildroot IRC is irc://freenode.net/#buildroot[]. +The channel +#buildroot+ is hosted on Freenode +http://webchat.freenode.net[]. +
docs/manual/get-involved.txt line 57
Quoted 10 lines
docs/manual/get-involved.txt new file +10
-0+When asking for help on the IRC, share relevant logs or piece of code +using a code sharing website (see +http://en.wikipedia.org/wiki/Comparison_of_pastebins[], and pick up +one). + +Bugtracker +---------- + +The Buildroot bugtracker is at https://bugs.uclibc.org[]. +
patchwork will be used to keep an eye on patches/bugs, so bugtracker can be abandoned (require further discussion)
Quoted 30 lines
docs/manual/get-involved.txt new file +10
-0+Buildroot wikipage +------------------ + +Consecutively to the Buildroot developer day February 3, 2012, +a page dedicated to Buildroot has been created on +http://elinux.org[elinux.org]. + +This page is reachable at http://elinux.org/Buildroot[]. + +Currently, this page is mainly used as a _todo-list_.docs/manual/manual.txt +0
-0@@ -25,6 +25,8 @@ include::going-further.txt[]?include::developer-guide.txt[]
docs/manual/manual.txt +2
-0+include::get-involved.txt[] +?include::legal-notice.txt[]
--
1.7.10.2_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH v2 10/11 manual: add get-involved.txt
In reply to Samuel MartinQuoted 13 lines · Samuel Martin
From: Samuel MARTIN <[email protected]>
Signed-off-by Samuel Martin <[email protected]>?create mode 100644
docs/manual/get-involved.txtdocs/manual/get-involved.txt new file +0
-0
docs/manual/get-involved.txt line 5
Quoted 5 lines
docs/manual/get-involved.txt new file +5
-0@@ -0,0 +1,67 @@ +Getting involved +================ + +Like any open source projects, Buildroot has different ways to share +information in its community and outside.
s/projects/project/
Quoted 36 lines
docs/manual/get-involved.txt new file +36
-0+ +One piece of it is the document you are currently reading ;-). + +Each of those ways may interest you if you are look for some help, +want to understand Buildroot or contribute to the project. + +Mailing List +------------ + +Buildroot has a mailing list +http://lists.busybox.net/pipermail/buildroot[] for discussion and +development. + +[[mailing-list-subscribe]] + +Subscribing to the mailing list +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +You can subscribe by visiting +http://lists.busybox.net/mailman/listinfo/buildroot[]. +Only subscribers to the Buildroot mailing list are allowed to post to +this list. + +The list is also available through _Gmane_ http://gmane.org[], at ++gmane.comp.lib.uclibc.buildroot+ +http://dir.gmane.org/gmane.comp.lib.uclibc.buildroot[]. + +Searching the List Archives +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Please search the mailing list archives before asking questions on 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 +annoying everyone on the list with frequently asked questions... + +IRC
docs/manual/get-involved.txt line 51
Quoted 10 lines
docs/manual/get-involved.txt new file +10
-0+--- + +The Buildroot IRC is irc://freenode.net/#buildroot[]. +The channel +#buildroot+ is hosted on Freenode +http://webchat.freenode.net[]. + +When asking for help on the IRC, share relevant logs or piece of code +using a code sharing website (see +http://en.wikipedia.org/wiki/Comparison_of_pastebins[], and pick up +one).
s/the IRC/IRC/
s/piece of code/pieces of code/
s/pick up/pick/
docs/manual/get-involved.txt line 56
Quoted 5 lines
docs/manual/get-involved.txt new file +5
-0+ +Bugtracker +---------- + +The Buildroot bugtracker is at https://bugs.uclibc.org[].
It is also reachable through bugs.buildroot.org, so I think we should use that URL in the documentation.
docs/manual/get-involved.txt line 63
Quoted 7 lines
docs/manual/get-involved.txt new file +7
-0+ +Buildroot wikipage +------------------ + +Consecutively to the Buildroot developer day February 3, 2012, +a page dedicated to Buildroot has been created on +http://elinux.org[elinux.org].
'Consecutively to' feels strange to me. I'd write 'After' I think you should put 'on' before February.
Quoted 24 lines
docs/manual/get-involved.txt new file +4
-0+ +This page is reachable at http://elinux.org/Buildroot[]. + +Currently, this page is mainly used as a _todo-list_.docs/manual/manual.txt +0
-0@@ -25,6 +25,8 @@ include::going-further.txt[]?include::developer-guide.txt[]
docs/manual/manual.txt +2
-0+include::get-involved.txt[] +?include::legal-notice.txt[]
--
1.7.10.2_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH v2 11/11 manual: add contribute.txt
In reply to Samuel MartinFrom: Samuel MARTIN <[email protected]>
create mode 100644 docs/manual/contribute.txt
docs/manual/contribute.txt new file +63 -0
@@ -0,0 +1,63 @@ +Contibuting to Buildroot +======================== + +If you want to contribute to Buildroot, you will need a git view of +the project. Refer to xref:getting-buildroot[] to get it. + +Currently, the mailing list is the central place for contribution. +If you have not already subscribe to it, then refer to +xref:mailing-list-subscribe[]. + +Submiting patches +----------------- + +When your changes are done, and commited in your local git view, +_rebase_ your development branch on top of the upstream tree before +generating the patch set. To do so, run: + +--------------------- + $ git fetch --all --tags + $ git rebase origin/master +--------------------- + +Here, your are ready to generate then submit your patch set. + +To generate it, run: + +--------------------- + $ git format-patch -M -n -s -o outgoing origin/master +--------------------- + +This will generate patch files in the +outgoing+ subdirectory, +automatically adding the +signed-of-by+ line. + +If you want to present the whole patch set in a separate mail, add ++--cover-letter --summary+ to the previous command line (+man +git-format-patch+ for further information). + +Once patch files are generated, you can review/edit the commit message +before submitting them using your favourite text editor. + +Lastly, send/submit your patch set to the Buildroot mailing list: + +--------------------- + $ git send-email --to buildroot at busybox.net outgoing/* +--------------------- + +Note that +git+ should be configured to use your mail account. +To configure +git+, see +man git-send-email+ or google it. + +Reviewing/Testing patches +------------------------- + +In the review process, do not hesitate to respond to patch submissions +for remarks, suggestions or anything that will help everyone to +understand the patches and make them better. + +Some tags are used to help following the state of any patch posted on +the mailing-list: + +Acked-by:: Indicates that the patch can be committed. + +Tested-by:: Indicates that the patch has been tested. It is useful + but not necessary to add a comment about what has been tested.
docs/manual/manual.txt +2 -0
@@ -27,6 +27,8 @@ include::developer-guide.txt[] include::get-involved.txt[] +include::contribute.txt[] + include::legal-notice.txt[]
Signature · 1 line
1.7.10.2
PATCH v2 11/11 manual: add contribute.txt
Quoted 13 lines · Samuel Martin
From: Samuel MARTIN <[email protected]>
Signed-off-by Samuel Martin <[email protected]>?create mode 100644
docs/manual/contribute.txtdocs/manual/contribute.txt new file +0
-0
docs/manual/contribute.txt line 8
Quoted 8 lines
docs/manual/contribute.txt new file +8
-0@@ -0,0 +1,63 @@ +Contibuting to Buildroot +======================== + +If you want to contribute to Buildroot, you will need a git view of +the project. Refer to xref:getting-buildroot[] to get it. + +Currently, the mailing list is the central place for contribution. +If you have not already subscribe to it, then refer to
s/subscribe/subscribed
Quoted 5 lines
docs/manual/contribute.txt new file +5
-0+xref:mailing-list-subscribe[]. + +Submiting patches +----------------- +
docs/manual/contribute.txt line 23
Quoted 10 lines
docs/manual/contribute.txt new file +10
-0+When your changes are done, and commited in your local git view, +_rebase_ your development branch on top of the upstream tree before +generating the patch set. To do so, run: + +--------------------- + $ git fetch --all --tags + $ git rebase origin/master +--------------------- + +Here, your are ready to generate then submit your patch set.
s/your are ready/you are ready
Quoted 60 lines
docs/manual/contribute.txt new file +40
-0+ +To generate it, run: + +--------------------- + $ git format-patch -M -n -s -o outgoing origin/master +--------------------- + +This will generate patch files in the +outgoing+ subdirectory, +automatically adding the +signed-of-by+ line. + +If you want to present the whole patch set in a separate mail, add ++--cover-letter --summary+ to the previous command line (+man +git-format-patch+ for further information). + +Once patch files are generated, you can review/edit the commit message +before submitting them using your favourite text editor. + +Lastly, send/submit your patch set to the Buildroot mailing list: + +--------------------- + $ git send-email --to buildroot at busybox.net outgoing/* +--------------------- + +Note that +git+ should be configured to use your mail account. +To configure +git+, see +man git-send-email+ or google it. + +Reviewing/Testing patches +------------------------- + +In the review process, do not hesitate to respond to patch submissions +for remarks, suggestions or anything that will help everyone to +understand the patches and make them better. + +Some tags are used to help following the state of any patch posted on +the mailing-list: + +Acked-by:: Indicates that the patch can be committed. + +Tested-by:: Indicates that the patch has been tested. It is useful + ?but not necessary to add a comment about what has been tested.docs/manual/manual.txt +0
-0@@ -27,6 +27,8 @@ include::developer-guide.txt[]?include::get-involved.txt[]
docs/manual/manual.txt +2
-0+include::contribute.txt[] +?include::legal-notice.txt[]
--
1.7.10.2_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
PATCH v2 11/11 manual: add contribute.txt
In reply to Samuel MartinQuoted 14 lines · Samuel Martin
From: Samuel MARTIN <[email protected]>
Signed-off-by Samuel Martin <[email protected]>?create mode 100644
docs/manual/contribute.txtdocs/manual/contribute.txt new file +1
-0@@ -0,0 +1,63 @@ +Contibuting to Buildroot
docs/manual/contribute.txt line 11
Quoted 10 lines
docs/manual/contribute.txt new file +10
-0+======================== + +If you want to contribute to Buildroot, you will need a git view of +the project. Refer to xref:getting-buildroot[] to get it. + +Currently, the mailing list is the central place for contribution. +If you have not already subscribe to it, then refer to +xref:mailing-list-subscribe[]. + +Submiting patches
s/Submiting/Submitting/
docs/manual/contribute.txt line 17
Quoted 6 lines
docs/manual/contribute.txt new file +6
-0+----------------- + +When your changes are done, and commited in your local git view, +_rebase_ your development branch on top of the upstream tree before +generating the patch set. To do so, run: +
s/commited/committed/
Quoted 5 lines
docs/manual/contribute.txt new file +5
-0+--------------------- + $ git fetch --all --tags + $ git rebase origin/master +--------------------- +
docs/manual/contribute.txt line 32
Quoted 10 lines
docs/manual/contribute.txt new file +10
-0+Here, your are ready to generate then submit your patch set. + +To generate it, run: + +--------------------- + $ git format-patch -M -n -s -o outgoing origin/master +--------------------- + +This will generate patch files in the +outgoing+ subdirectory, +automatically adding the +signed-of-by+ line.
s/of/off/
docs/manual/contribute.txt line 39
Quoted 7 lines
docs/manual/contribute.txt new file +7
-0+ +If you want to present the whole patch set in a separate mail, add ++--cover-letter --summary+ to the previous command line (+man +git-format-patch+ for further information). + +Once patch files are generated, you can review/edit the commit message +before submitting them using your favourite text editor.
s/favourite/favorite/
Quoted 44 lines
docs/manual/contribute.txt new file +24
-0+ +Lastly, send/submit your patch set to the Buildroot mailing list: + +--------------------- + $ git send-email --to buildroot at busybox.net outgoing/* +--------------------- + +Note that +git+ should be configured to use your mail account. +To configure +git+, see +man git-send-email+ or google it. + +Reviewing/Testing patches +------------------------- + +In the review process, do not hesitate to respond to patch submissions +for remarks, suggestions or anything that will help everyone to +understand the patches and make them better. + +Some tags are used to help following the state of any patch posted on +the mailing-list: + +Acked-by:: Indicates that the patch can be committed. + +Tested-by:: Indicates that the patch has been tested. It is useful + ?but not necessary to add a comment about what has been tested.docs/manual/manual.txt +0
-0@@ -27,6 +27,8 @@ include::developer-guide.txt[]?include::get-involved.txt[]
docs/manual/manual.txt +2
-0+include::contribute.txt[] +?include::legal-notice.txt[]
--
1.7.10.2_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
cover RFC: Manual content reorganization
In reply to Samuel MARTINHello,
Le Wed, 21 Mar 2012 00:09:50 +0100,
Samuel MARTIN <[email protected]> a ?crit :
Quoted 10 lines
This patch series aims to reorganize the manual content, as well as complete it... thought there are still lacks here and there after that ;-)
This work intends to make the manual:
- understable and clear for new comers, even if they are not familiar with embedded development;
- useful for developers, contributors, even people that may want to redistribute third-party SDK/BSP based on Buildroot
- as the entry point (anyone discovering/needing/using Buildroot should find its way out straight forward reading the manual)
Those are good objectives that I fully agree with.
Quoted 5 lines
Although I am well aware that these are ambitious goals and this patch series does not acheive nor address all these points, at least, it is a starting point.
Let's talk about the new organization.
Quoted 9 lines
Overview of the new table of content:
1. About Buildroot
2. Starting up
Think this chapter like a tutorial.
Includes system requirements, how to get Buildroot and the first steps using it.
3. Working with Buildroot
Intends to present basics to make Buildroot fitting your needs using the available customization knobs.
Is this where we would put details like what's the difference between the three toolchain backends? Where we would explain how Buildroot reacts when one removes package from menuconfig and runs 'make'?
Quoted 1 line
4. Troubleshooting
What do you intend to put here? Our FAQ?
Quoted 3 lines
5. Going further in Buildroot's innards
Explains some topics like about embedded development, cross-compilation, etc, and gives more advanced tips about Buildroot usages.
I am not sure it is a good idea to mix topics not directly related to Buildroot (embedded development, cross-compilation) with recommendation on using Buildroot itself.
For example, is this where you would recommend to use post-build scripts instead of custom target skeleton? How to have a custom additional device table?
I am not sure to see clearly where's the boundary between (3) and (5). For example, in (3) you will probably want to explain the different /dev management mechanism, which will lead you to explain device table concepts and so on.
Quoted 7 lines
6. Developer Guidelines
Intends to provide all relevant information for anyone wanting to hack in Buildroot.
7. Getting involved
Provides all the way to keep informed about the Buildroot development.
8. Contibuting to Buildroot
Gives tips about patch submission.
I am not sure to understand where's the boundary between 6, 7 and 8 here.
I think we also need to differentiate two developer levels maybe:
* The new developer, which generally needs a tutorial and reference on how to add packages
* The hardcore developer, for which we will maybe want to provide details about Buildroot internals (even though I'm not sure those will ever be documented).
Quoted 11 lines
9. Legal notice
Intends to give legal/license details about Buildroot itself, software used/built by Buildroot, how to redistribute SDK based on, etc.
10. AppendixBTW, over the last days, some other topics came out of my mind, but I have intentionally omitted them, letting their respective authors writing documentation about them. For example:
- patches policy/howto, for which some great changes are on their way to be integrated;
Good point. Should be added to the "new package reference", that should be more clearly defined above.
Quoted 13 lines
- init system, maybe a paragraph about systemd (that is in the queue) and/or a comparative between the others available init systems could be added:
- package's license explaination;
- ... anything else i missed ;-)Right now, I'm not happy with everything I did.
For example, now I use a deeper toc (4 title levels in this patch set vs. 3 on the current git master). This has a side effect on the html manual, indeed the toc only shows the first two level, this reduce the readability, IOW the fact that one can quickly find the relevant piece of information he/she is looking for.
Quoted 2 lines
So, IOW, I'd like to know whether I'm on right path, the one the Buildroot community want to take.
I think it's a good strategy to first defined the organization of the manual before diving into the implementation of such organization. I would suggest to work on the Wiki page at
http://elinux.org/Buildroot:ManualOrganization. First by listing, in random order and without any organization, the topics we think should be discussed in the manual. And then, work on a proposed organization. Most likely, it'll be similar to what you're proposing, but I think that listing beforehand all the topics is a good idea.
Best regards,
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
cover RFC: Manual content reorganization
Hi Thomas, all,
2012/8/1 Thomas Petazzoni <[email protected]>:
Quoted 33 lines
Hello,
Le Wed, 21 Mar 2012 00:09:50 +0100,
Samuel MARTIN <[email protected]> a ?crit :Quoted 10 lines
This patch series aims to reorganize the manual content, as well as complete it... thought there are still lacks here and there after that ;-)
This work intends to make the manual:
- understable and clear for new comers, even if they are not familiar with embedded development;
- useful for developers, contributors, even people that may want to redistribute third-party SDK/BSP based on Buildroot
- as the entry point (anyone discovering/needing/using Buildroot should find its way out straight forward reading the manual)Those are good objectives that I fully agree with.
Quoted 5 lines
Although I am well aware that these are ambitious goals and this patch series does not acheive nor address all these points, at least, it is a starting point.
Let's talk about the new organization.
Quoted 9 lines
Overview of the new table of content:
1. About Buildroot
2. Starting up
Think this chapter like a tutorial.
Includes system requirements, how to get Buildroot and the first steps using it.
3. Working with Buildroot
Intends to present basics to make Buildroot fitting your needs using the available customization knobs.
Quoted 2 lines
Is this where we would put details like what's the difference between the three toolchain backends?
Yes.
Quoted 2 lines
Where we would explain how Buildroot
reacts when one removes package from menuconfig and runs 'make'?
Hum... not sure if this point is documented right now; but yes, I think this is the place where I would add it.
Quoted 4 lines
Quoted 2 lines
4. Troubleshooting
What do you intend to put here? Our FAQ?
The FAQ has its place here.
Quoted 8 lines
Quoted 4 lines
5. Going further in Buildroot's innards
Explains some topics like about embedded development, cross-compilation, etc, and gives more advanced tips about Buildroot usages.I am not sure it is a good idea to mix topics not directly related to Buildroot (embedded development, cross-compilation) with recommendation on using Buildroot itself.
In fact, most of this section come from from the current introduction. The truth is this chapter is part of what I'm not happy with. So, it certainly need some more rework.
Quoted 4 lines
For example, is this where you would recommend to use post-build scripts instead of custom target skeleton? How to have a custom additional device table?
Definitely yes.
Quoted 5 lines
I am not sure to see clearly where's the boundary between (3) and (5). For example, in (3) you will probably want to explain the different /dev management mechanism, which will lead you to explain device table concepts and so on.
Having to write some code (*.mk, scripts, etc) is (more or less) the boundary that lead me putting each section in chapter 3 or 5. IOW, anything explained in chapter 3 should be available from the menuconfig or is direct buildroot (make) invocation tips.
New comers should just have to read chapter 1 to 3 (maybe 4), and after that they should be able to use buildroot, though some options, like /dev management mechanism, may require some deeper knowledge or understanding of what it is.
In such a case, I would add a section in chapter 5, or add a new chapter.
Quoted 4 lines
Quoted 4 lines
6. Developer Guidelines
Intends to provide all relevant information for anyone wanting to hack in Buildroot.
Anything you want to know to add new software in BR, to hack in a way or another BR; whatever your will to push the patches upstream or not.
Quoted 2 lines
Quoted 2 lines
7. Getting involved
Provides all the way to keep informed about the Buildroot development.
All places where BR is on the www, all places where you should look to get information.
Quoted 2 lines
Quoted 2 lines
8. Contibuting to Buildroot
Gives tips about patch submission.
How to push your patch upstream, making them available for all BR users.
Hope, this is clearer.
Quoted 4 lines
I am not sure to understand where's the boundary between 6, 7 and 8 here.
Quoted 9 lines
I think we also need to differentiate two developer levels maybe:
* The new developer, which generally needs a tutorial and reference on how to add packages
* The hardcore developer, for which we will maybe want to provide details about Buildroot internals (even though I'm not sure those will ever be documented).
So, you would recommend to split chapter 6 in 2, one for new developers, the other for "hardcore developer"?
I disagree with not documenting BR internals.
I've been following BR and hacking in it for 3 years now, and I still discover features that are in BR for a while, but I've never noticed or known (certainly because I haven't need them for far), the latest one is the <pkg>_PERMISSIONS infrastructure!
Quoted 6 lines
Quoted 4 lines
9. Legal notice
Intends to give legal/license details about Buildroot itself, software used/built by Buildroot, how to redistribute SDK based on, etc.
10. Appendix
Quoted 13 lines
Quoted 5 lines
BTW, over the last days, some other topics came out of my mind, but I have intentionally omitted them, letting their respective authors writing documentation about them. For example:
- patches policy/howto, for which some great changes are on their way to be integrated;Good point. Should be added to the "new package reference", that should be more clearly defined above.
Quoted 4 lines
- init system, maybe a paragraph about systemd (that is in the queue) and/or a comparative between the others available init systems could be added:
- package's license explaination;
- ... anything else i missed ;-)
- /dev management (as you suggest above :P)
Quoted 12 lines
Quoted 11 lines
Right now, I'm not happy with everything I did.
For example, now I use a deeper toc (4 title levels in this patch set vs. 3 on the current git master). This has a side effect on the html manual, indeed the toc only shows the first two level, this reduce the readability, IOW the fact that one can quickly find the relevant piece of information he/she is looking for.So, IOW, I'd like to know whether I'm on right path, the one the Buildroot community want to take.
Quoted 8 lines
I think it's a good strategy to first defined the organization of the manual before diving into the implementation of such organization. I would suggest to work on the Wiki page at
http://elinux.org/Buildroot:ManualOrganization. First by listing, in random order and without any organization, the topics we think should be discussed in the manual. And then, work on a proposed organization. Most likely, it'll be similar to what you're proposing, but I think that listing beforehand all the topics is a good idea.
Definitely I agree.
This way, I'd really like to see more people involved in or touched by this doc work.
So, to all:
Grab your keyboard and fill the documentation wish list!
If you are hanging around BR world for a long while, try to remember what was missing in the doc when you started out;
or if you've just discovered BR, tell us what is disappointing for you because of the lack of documentation.
Though I make this call using some humorous tone, I really mean it. Some people have the knowledge, so don't really need the doc; some others want to learn.
So, tell us what is missing, we'll fill the gaps.
Yours,
Signature · 1 line
Sam
cover RFC: Manual content reorganization
In reply to Samuel MARTINQuoted 2 lines · Samuel MARTIN
This patch series aims to reorganize the manual content, as well as complete it... thought there are still lacks here and there after that
Sam,
Do you think we could still get this into 2012.11?
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
cover RFC: Manual content reorganization
2012/11/9 Arnout Vandecappelle <[email protected]>:
Quoted 9 lines · Samuel MARTIN
Quoted 3 lines
This patch series aims to reorganize the manual content, as well as complete it... thought there are still lacks here and there after that
Sam,
Do you think we could still get this into 2012.11?
On it, and hope so! ;-)
I think I'll repost the updated and rebased version by sunday, or early next week.
Regards,
Signature · 1 line
Sam