manual: rework the whole documentation stub
authorSamuel Martin <s.martin49@gmail.com>
Sun, 11 Nov 2012 03:14:42 +0000 (03:14 +0000)
committerPeter Korsgaard <jacmet@sunsite.dk>
Thu, 15 Nov 2012 22:58:38 +0000 (23:58 +0100)
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.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
31 files changed:
docs/manual/adding-packages-autotools.txt
docs/manual/adding-packages-cmake.txt
docs/manual/adding-packages-conclusion.txt
docs/manual/adding-packages-directory.txt
docs/manual/adding-packages-generic.txt
docs/manual/adding-packages-gettext.txt
docs/manual/adding-packages.txt
docs/manual/advanced.txt [new file with mode: 0644]
docs/manual/appendix.txt
docs/manual/board-support.txt
docs/manual/ccache-support.txt
docs/manual/common-usage.txt [new file with mode: 0644]
docs/manual/customize-busybox-config.txt
docs/manual/customize-kernel-config.txt
docs/manual/customize-rootfs.txt
docs/manual/customize-toolchain.txt
docs/manual/customize-uclibc-config.txt
docs/manual/customize.txt
docs/manual/developer-guide.txt [new file with mode: 0644]
docs/manual/download-location.txt
docs/manual/external-toolchain.txt
docs/manual/getting.txt
docs/manual/going-further.txt [new file with mode: 0644]
docs/manual/how-buildroot-works.txt
docs/manual/makedev-syntax.txt
docs/manual/manual.txt
docs/manual/rebuilding-packages.txt
docs/manual/starting-up.txt [new file with mode: 0644]
docs/manual/using-buildroot-toolchain.txt
docs/manual/using.txt
docs/manual/working-with.txt [new file with mode: 0644]

index b85b7af9f1fa4317ee9b7a857b1ba2d6853e50b2..1184b699663af990c27ea30f4e89c882e45ab99c 100644 (file)
@@ -1,10 +1,12 @@
+// -*- mode:doc; -*-
+
 Infrastructure for autotools-based packages
--------------------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 [[autotools-package-tutorial]]
 
 +autotools-package+ tutorial
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 First, let's see how to write a +.mk+ file for an autotools-based
 package, with an example :
@@ -64,7 +66,7 @@ package to be built.
 [[autotools-package-reference]]
 
 +autotools-package+ reference
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 The main macro of the autotools package infrastructure is
 +autotools-package+. It is similar to the +generic-package+ macro. The ability to
index da4984a525462fe423faba12ad96b544329ae64d..81ac0a722d508a93004d4df556cefbefeac1b5cf 100644 (file)
@@ -1,10 +1,12 @@
+// -*- mode:doc; -*-
+
 Infrastructure for CMake-based packages
----------------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 [[cmake-package-tutorial]]
 
 +cmake-package+ tutorial
-~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^
 
 First, let's see how to write a +.mk+ file for a CMake-based package,
 with an example :
@@ -63,7 +65,7 @@ package to be built.
 [[cmake-package-reference]]
 
 +cmake-package+ reference
-~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^
 
 The main macro of the CMake package infrastructure is
 +cmake-package+. It is similar to the +generic-package+ macro. The ability to
index 34758272754f7b720a871d92e6032a54b80151e7..ac20875ad5ed329c52be85a2622e26c72ad20a37 100644 (file)
@@ -1,5 +1,7 @@
+// -*- mode:doc; -*-
+
 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
index 4a96415adb6c9189e53feb21e3020f77727cfd2d..6030e0852c0177ee9ad6e5fdbbf1c7a0eb5bcae5 100644 (file)
@@ -1,5 +1,7 @@
+// -*- mode:doc; -*-
+
 Package directory
------------------
+~~~~~~~~~~~~~~~~~
 
 First of all, create a directory under the +package+ directory for
 your software, for example +libfoo+.
@@ -10,7 +12,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 +148,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,
index 7ecdb91184e869f68c07e1856f58fb0f4844d5e2..e3f16c25e191bd7df7e1cec731e0b7663b579f99 100644 (file)
@@ -1,5 +1,7 @@
+// -*- mode:doc; -*-
+
 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 +11,7 @@ system is based on hand-written Makefiles or shell scripts.
 [[generic-package-tutorial]]
 
 +generic-package+ Tutorial
-~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 ------------------------------
 01: #############################################################
@@ -90,7 +92,7 @@ Makefile code necessary to make your package working.
 [[generic-package-reference]]
 
 +generic-package+ Reference
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 There are two variants of the generic target. The +generic-package+ macro is
 used for packages to be cross-compiled for the target.  The
index e0df1a412e5929e6ba09c17d8df7a243a61cd723..89461a7cd146e2e6054668d51a649a47d8516115 100644 (file)
@@ -1,5 +1,7 @@
+// -*- mode:doc; -*-
+
 Gettext integration and interaction with packages
--------------------------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 Many packages that support internationalization use the gettext
 library. Dependencies for this library are fairly complicated and
index f672ec625bbc91c609f2c2baf99f13de928e8236..8221c855af6da663122c73112f2a7ecd509e5a91 100644 (file)
@@ -1,6 +1,8 @@
-Adding new packages to Buildroot
-================================
+// -*- mode:doc -*- ;
+
 [[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
diff --git a/docs/manual/advanced.txt b/docs/manual/advanced.txt
new file mode 100644 (file)
index 0000000..cd53182
--- /dev/null
@@ -0,0 +1,12 @@
+// -*- mode:doc; -*-
+
+Advanced usage
+--------------
+
+include::using-buildroot-toolchain.txt[]
+
+include::external-toolchain.txt[]
+
+include::ccache-support.txt[]
+
+include::download-location.txt[]
index f41c82cdbf407474931ce82ba46cd51a9edfa8fd..a6642b5cbb3689b5818e34f33a6a967056ec71b7 100644 (file)
@@ -1,3 +1,5 @@
+// -*- mode:doc; -*-
+
 Appendix
 ========
 
index d1d9d6380199969739a2622f910513129f669a5c..e20e72186d25fcb747342b2f54f7b6201bfb5984 100644 (file)
@@ -1,5 +1,8 @@
+// -*- mode:doc -*- ;
+
+[[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
index ab8cbad1de6cc93c85c6868b61a4e202011b0f65..95cd662033e64083e111556de0137e298972adc9 100644 (file)
@@ -1,5 +1,8 @@
+// -*- mode:doc -*- ;
+
+[[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
diff --git a/docs/manual/common-usage.txt b/docs/manual/common-usage.txt
new file mode 100644 (file)
index 0000000..b343606
--- /dev/null
@@ -0,0 +1,6 @@
+// -*- mode:doc; -*-
+
+Daily use
+---------
+
+include::rebuilding-packages.txt[]
index 60e6a55618da9b6047deb3f32bf6e2a0919fe44d..fe9cddaad550f55e76a27fa3270693e0a25f4bbd 100644 (file)
@@ -1,6 +1,8 @@
-Customizing the Busybox configuration
--------------------------------------
+// -*- mode:doc -*- ;
+
 [[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 +22,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[].
 
index 6bafe46d7135c37dc750e65c1e23f69db4e6e58e..107227040b9b7ebbc0505bbfd5afcc788ea540e8 100644 (file)
@@ -1,5 +1,8 @@
+// -*- mode:doc -*- ;
+
+[[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
index 44007c70ff04424e735fe08b56bfaf5b50fbbe01..7ac51955419ec161c6f54f401bc4483fc4cfc7e3 100644 (file)
@@ -1,5 +1,8 @@
+// -*- mode:doc -*- ;
+
+[[rootfs-custom]]
 Customizing the generated target filesystem
--------------------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 There are a few ways to customize the resulting target filesystem:
 
index 08b60a264e5e85e77b72af857de6c51224cda45c..91657cf679e44ccb9d06e9d483e67c446de8a3db 100644 (file)
@@ -1,12 +1,14 @@
-Customizing the toolchain
--------------------------
+// -*- mode:doc -*- ;
+
 [[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 +17,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 +34,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
index e2e67992001fdecc7f38aca43ba0900776710662..88121ea8ade78863acee9a2749bb2fd797177c3b 100644 (file)
@@ -1,6 +1,8 @@
-Customizing the uClibc configuration
-------------------------------------
+// -*- mode:doc -*- ;
+
 [[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
index e8235dee86d07b216e591354a7b2bbf87629186a..1e6f4e85ac9bc145a175ce53ef314a29dee0f328 100644 (file)
@@ -1,5 +1,7 @@
+// -*- mode:doc; -*-
+
 Customization
-=============
+-------------
 
 include::customize-rootfs.txt[]
 
diff --git a/docs/manual/developer-guide.txt b/docs/manual/developer-guide.txt
new file mode 100644 (file)
index 0000000..37f703d
--- /dev/null
@@ -0,0 +1,8 @@
+// -*- mode:doc; -*-
+
+Developer Guidelines
+====================
+
+include::adding-packages.txt[]
+
+include::board-support.txt[]
index cb6147f2bb936374cdd18c3eb0839ee086395e1b..8c66a76dd03d036c9df73f3e29496c104af135af 100644 (file)
@@ -1,5 +1,7 @@
+// -*- mode:doc; -*-
+
 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
index 62eb0a386fc2018a6991373b6acf18528feca668..b33737609f19bb01de730c567a24b0ef57968fce 100644 (file)
@@ -1,6 +1,8 @@
-Using an external toolchain
-===========================
+// -*- mode:doc -*- ;
+
 [[external-toolchain]]
+Using an external toolchain
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 Using an already existing toolchain is useful for different
 reasons:
index 42ca0098d3d4b45c1ea6562cc0b32056fa893c55..a51caa0e784d147cc15488db6bc6b9ffc289ec4e 100644 (file)
@@ -1,5 +1,8 @@
+// -*- mode:doc -*- ;
+
+[[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
diff --git a/docs/manual/going-further.txt b/docs/manual/going-further.txt
new file mode 100644 (file)
index 0000000..6f3cd6e
--- /dev/null
@@ -0,0 +1,6 @@
+Going further in Buildroot's innards
+====================================
+
+include::how-buildroot-works.txt[]
+
+include::advanced.txt[]
index 481e5a480d2ff33169eb3d2b96318dce6442aec5..879cff3991da8608b50976cb5a32f0467dd7a622 100644 (file)
@@ -1,5 +1,7 @@
+// -*- mode:doc; -*-
+
 How Buildroot works
-===================
+-------------------
 
 As mentioned above, Buildroot is basically a set of Makefiles that
 download, configure, and compile software with the correct options. It
index 4728c4bebc691ff251b4435a291519ba1b8763c2..4703b2f0eeff307f2b64ae319a59a2ab74df00e3 100644 (file)
@@ -1,3 +1,5 @@
+// -*- mode:doc -*- ;
+
 [[makedev-syntax]]
 Makedev syntax documentation
 ----------------------------
index de4b5949bc20a2f549311e7cbf9835246915e793..00bd0372e571511144c47e48785cafa188e06e9f 100644 (file)
@@ -1,3 +1,5 @@
+// -*- mode:doc; -*-
+
 The Buildroot user manual
 =========================
 :toc:
@@ -11,25 +13,13 @@ image::logo.png[]
 
 include::introduction.txt[]
 
-include::getting.txt[]
-
-include::using.txt[]
-
-include::customize.txt[]
-
-include::rebuilding-packages.txt[]
-
-include::how-buildroot-works.txt[]
-
-include::using-buildroot-toolchain.txt[]
-
-include::external-toolchain.txt[]
+include::starting-up.txt[]
 
-include::ccache-support.txt[]
+include::working-with.txt[]
 
-include::download-location.txt[]
+include::going-further.txt[]
 
-include::adding-packages.txt[]
+include::developer-guide.txt[]
 
 include::faq.txt[]
 
index fb6d69646f4b21d96951844a9261d1155e8f784a..824b35c329650b5b3616077b5d52c8ed3bb048db 100644 (file)
@@ -1,5 +1,7 @@
+// -*- mode:doc -*- ;
+
 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
diff --git a/docs/manual/starting-up.txt b/docs/manual/starting-up.txt
new file mode 100644 (file)
index 0000000..8ba16c9
--- /dev/null
@@ -0,0 +1,9 @@
+// -*- mode:doc; -*-
+
+Starting up
+===========
+
+include::getting.txt[]
+
+include::using.txt[]
+
index 712e9a89ee9e8015d374f54383aaab600045a91a..750fa9948324e9116cc39d2f16803ae50d649f52 100644 (file)
@@ -1,5 +1,7 @@
+// -*- mode:doc; -*-
+
 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
index fcbd24b8503bab19725228658c7682a328f42b53..5741473c07fb2b7ef19cc9a33d2a84e04c17717d 100644 (file)
@@ -1,8 +1,7 @@
-Using Buildroot
-===============
+// -*- mode:doc; -*-
 
-Configuration and general usage
--------------------------------
+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
diff --git a/docs/manual/working-with.txt b/docs/manual/working-with.txt
new file mode 100644 (file)
index 0000000..3c57504
--- /dev/null
@@ -0,0 +1,21 @@
+// -*- mode:doc; -*-
+
+Working with Buildroot
+======================
+
+This section explains how you can customize Buildroot to fit your
+needs.
+
+include::customize.txt[]
+
+include::common-usage.txt[]
+
+Hacking Buildroot
+-----------------
+
+If Buildroot does not yet fit all your requirements, you may be
+interested in hacking it to add:
+
+* new packages: refer to the xref:adding-packages[Developer guide]
+
+* new board support: refer to the xref:board-support[Developer guide]