浏览代码

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.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Samuel Martin 12 年之前
父节点
当前提交
5e84b8b73c

+ 5 - 3
docs/manual/adding-packages-autotools.txt

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

+ 5 - 3
docs/manual/adding-packages-cmake.txt

@@ -1,10 +1,12 @@
+// -*- mode:doc; -*-
+
 Infrastructure for CMake-based packages
 Infrastructure for CMake-based packages
----------------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 [[cmake-package-tutorial]]
 [[cmake-package-tutorial]]
 
 
 +cmake-package+ tutorial
 +cmake-package+ tutorial
-~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 First, let's see how to write a +.mk+ file for a CMake-based package,
 First, let's see how to write a +.mk+ file for a CMake-based package,
 with an example :
 with an example :
@@ -63,7 +65,7 @@ package to be built.
 [[cmake-package-reference]]
 [[cmake-package-reference]]
 
 
 +cmake-package+ reference
 +cmake-package+ reference
-~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 The main macro of the CMake package infrastructure is
 The main macro of the CMake package infrastructure is
 +cmake-package+. It is similar to the +generic-package+ macro. The ability to
 +cmake-package+. It is similar to the +generic-package+ macro. The ability to

+ 3 - 1
docs/manual/adding-packages-conclusion.txt

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

+ 5 - 3
docs/manual/adding-packages-directory.txt

@@ -1,5 +1,7 @@
+// -*- mode:doc; -*-
+
 Package directory
 Package directory
------------------
+~~~~~~~~~~~~~~~~~
 
 
 First of all, create a directory under the +package+ directory for
 First of all, create a directory under the +package+ directory for
 your software, for example +libfoo+.
 your software, for example +libfoo+.
@@ -10,7 +12,7 @@ one of these categories, then create your package directory in these.
 
 
 
 
 +Config.in+ file
 +Config.in+ file
-~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^
 
 
 Then, create a file named +Config.in+. This file will contain the
 Then, create a file named +Config.in+. This file will contain the
 option descriptions related to our +libfoo+ software that will be used
 option descriptions related to our +libfoo+ software that will be used
@@ -146,7 +148,7 @@ so, the dependency also needs to be expressed in the +.mk+ file of the
 package.
 package.
 
 
 The +.mk+ file
 The +.mk+ file
-~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^
 
 
 Finally, here's the hardest part. Create a file named +libfoo.mk+. It
 Finally, here's the hardest part. Create a file named +libfoo.mk+. It
 describes how the package should be downloaded, configured, built,
 describes how the package should be downloaded, configured, built,

+ 5 - 3
docs/manual/adding-packages-generic.txt

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

+ 3 - 1
docs/manual/adding-packages-gettext.txt

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

+ 4 - 2
docs/manual/adding-packages.txt

@@ -1,6 +1,8 @@
-Adding new packages to Buildroot
-================================
+// -*- mode:doc -*- ;
+
 [[adding-packages]]
 [[adding-packages]]
+Adding new packages to Buildroot
+--------------------------------
 
 
 This section covers how new packages (userspace libraries or
 This section covers how new packages (userspace libraries or
 applications) can be integrated into Buildroot. It also shows how
 applications) can be integrated into Buildroot. It also shows how

+ 12 - 0
docs/manual/advanced.txt

@@ -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[]

+ 2 - 0
docs/manual/appendix.txt

@@ -1,3 +1,5 @@
+// -*- mode:doc; -*-
+
 Appendix
 Appendix
 ========
 ========
 
 

+ 4 - 1
docs/manual/board-support.txt

@@ -1,5 +1,8 @@
+// -*- mode:doc -*- ;
+
+[[board-support]]
 Creating your own board support
 Creating your own board support
-===============================
+-------------------------------
 
 
 Creating your own board support in Buildroot allows users of a
 Creating your own board support in Buildroot allows users of a
 particular hardware platform to easily build a system that is known to
 particular hardware platform to easily build a system that is known to

+ 4 - 1
docs/manual/ccache-support.txt

@@ -1,5 +1,8 @@
+// -*- mode:doc -*- ;
+
+[[ccache]]
 Using +ccache+ in Buildroot
 Using +ccache+ in Buildroot
-===========================
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 http://ccache.samba.org[ccache] is a compiler cache. It stores the
 http://ccache.samba.org[ccache] is a compiler cache. It stores the
 object files resulting from each compilation process, and is able to
 object files resulting from each compilation process, and is able to

+ 6 - 0
docs/manual/common-usage.txt

@@ -0,0 +1,6 @@
+// -*- mode:doc; -*-
+
+Daily use
+---------
+
+include::rebuilding-packages.txt[]

+ 5 - 3
docs/manual/customize-busybox-config.txt

@@ -1,6 +1,8 @@
-Customizing the Busybox configuration
--------------------------------------
+// -*- mode:doc -*- ;
+
 [[busybox-custom]]
 [[busybox-custom]]
+Customizing the Busybox configuration
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 http://www.busybox.net/[Busybox] is very configurable, and you may
 http://www.busybox.net/[Busybox] is very configurable, and you may
 want to customize it. You can follow these simple steps to do so. This
 want to customize it. You can follow these simple steps to do so. This
@@ -20,5 +22,5 @@ Otherwise, you can simply change the
 options you want to change, without using the configuration tool.
 options you want to change, without using the configuration tool.
 
 
 If you want to use an existing config file for busybox, then see
 If you want to use an existing config file for busybox, then see
-section xref:env-vars[].
+xref:env-vars[].
 
 

+ 4 - 1
docs/manual/customize-kernel-config.txt

@@ -1,5 +1,8 @@
+// -*- mode:doc -*- ;
+
+[[kernel-custom]]
 Customizing the Linux kernel configuration
 Customizing the Linux kernel configuration
-------------------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 The Linux kernel configuration can be customized just like
 The Linux kernel configuration can be customized just like
 xref:busybox-custom[BusyBox] and xref:uclibc-custom[uClibc] using
 xref:busybox-custom[BusyBox] and xref:uclibc-custom[uClibc] using

+ 4 - 1
docs/manual/customize-rootfs.txt

@@ -1,5 +1,8 @@
+// -*- mode:doc -*- ;
+
+[[rootfs-custom]]
 Customizing the generated target filesystem
 Customizing the generated target filesystem
--------------------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 There are a few ways to customize the resulting target filesystem:
 There are a few ways to customize the resulting target filesystem:
 
 

+ 7 - 5
docs/manual/customize-toolchain.txt

@@ -1,12 +1,14 @@
-Customizing the toolchain
--------------------------
+// -*- mode:doc -*- ;
+
 [[toolchain-custom]]
 [[toolchain-custom]]
+Customizing the toolchain
+~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 There are three distinct types of toolchain backend supported in Buildroot,
 There are three distinct types of toolchain backend supported in Buildroot,
 available under the menu +Toolchain+, invoking +make menuconfig+.
 available under the menu +Toolchain+, invoking +make menuconfig+.
 
 
 Using the external toolchain backend
 Using the external toolchain backend
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 There is no way of tuning an external toolchain since Buildroot does not
 There is no way of tuning an external toolchain since Buildroot does not
 generate it.
 generate it.
@@ -15,7 +17,7 @@ It also requires to set the Buildroot settings according to the toolchain ones
 (see xref:external-toolchain[]).
 (see xref:external-toolchain[]).
 
 
 Using the internal Buildroot toolchain backend
 Using the internal Buildroot toolchain backend
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 The internal Buildroot toolchain backend *only* allows to generate
 The internal Buildroot toolchain backend *only* allows to generate
 *http://www.uclibc.org/[uClibc]-based toolchains*.
 *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+.
 the menu +Toolchain+.
 
 
 Using the Crosstool-NG backend
 Using the Crosstool-NG backend
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 
 The http://crosstool-ng.org[crosstool-NG] toolchain backend enables a rather
 The http://crosstool-ng.org[crosstool-NG] toolchain backend enables a rather
 limited set of settings under the Buildroot +Toolchain+ menu (ie. when invoking
 limited set of settings under the Buildroot +Toolchain+ menu (ie. when invoking

+ 4 - 2
docs/manual/customize-uclibc-config.txt

@@ -1,6 +1,8 @@
-Customizing the uClibc configuration
-------------------------------------
+// -*- mode:doc -*- ;
+
 [[uclibc-custom]]
 [[uclibc-custom]]
+Customizing the uClibc configuration
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 Just like xref:busybox-custom[BusyBox], http://www.uclibc.org/[uClibc]
 Just like xref:busybox-custom[BusyBox], http://www.uclibc.org/[uClibc]
 offers a lot of configuration options. They allow you to select
 offers a lot of configuration options. They allow you to select

+ 3 - 1
docs/manual/customize.txt

@@ -1,5 +1,7 @@
+// -*- mode:doc; -*-
+
 Customization
 Customization
-=============
+-------------
 
 
 include::customize-rootfs.txt[]
 include::customize-rootfs.txt[]
 
 

+ 8 - 0
docs/manual/developer-guide.txt

@@ -0,0 +1,8 @@
+// -*- mode:doc; -*-
+
+Developer Guidelines
+====================
+
+include::adding-packages.txt[]
+
+include::board-support.txt[]

+ 3 - 1
docs/manual/download-location.txt

@@ -1,5 +1,7 @@
+// -*- mode:doc; -*-
+
 Location of downloaded packages
 Location of downloaded packages
-===============================
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 It might be useful to know that the various tarballs that are
 It might be useful to know that the various tarballs that are
 downloaded by the Makefiles are all stored in the +DL_DIR+ which by
 downloaded by the Makefiles are all stored in the +DL_DIR+ which by

+ 4 - 2
docs/manual/external-toolchain.txt

@@ -1,6 +1,8 @@
-Using an external toolchain
-===========================
+// -*- mode:doc -*- ;
+
 [[external-toolchain]]
 [[external-toolchain]]
+Using an external toolchain
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 Using an already existing toolchain is useful for different
 Using an already existing toolchain is useful for different
 reasons:
 reasons:

+ 4 - 1
docs/manual/getting.txt

@@ -1,5 +1,8 @@
+// -*- mode:doc -*- ;
+
+[[getting-buildroot]]
 Getting Buildroot
 Getting Buildroot
-=================
+-----------------
 
 
 Buildroot releases are made approximately every 3 months. Direct Git
 Buildroot releases are made approximately every 3 months. Direct Git
 access and daily snapshots are also available, if you want more
 access and daily snapshots are also available, if you want more

+ 6 - 0
docs/manual/going-further.txt

@@ -0,0 +1,6 @@
+Going further in Buildroot's innards
+====================================
+
+include::how-buildroot-works.txt[]
+
+include::advanced.txt[]

+ 3 - 1
docs/manual/how-buildroot-works.txt

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

+ 2 - 0
docs/manual/makedev-syntax.txt

@@ -1,3 +1,5 @@
+// -*- mode:doc -*- ;
+
 [[makedev-syntax]]
 [[makedev-syntax]]
 Makedev syntax documentation
 Makedev syntax documentation
 ----------------------------
 ----------------------------

+ 6 - 16
docs/manual/manual.txt

@@ -1,3 +1,5 @@
+// -*- mode:doc; -*-
+
 The Buildroot user manual
 The Buildroot user manual
 =========================
 =========================
 :toc:
 :toc:
@@ -11,25 +13,13 @@ image::logo.png[]
 
 
 include::introduction.txt[]
 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[]
 include::faq.txt[]
 
 

+ 3 - 1
docs/manual/rebuilding-packages.txt

@@ -1,5 +1,7 @@
+// -*- mode:doc -*- ;
+
 Understanding how to rebuild packages
 Understanding how to rebuild packages
-=====================================
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
 One of the most common questions asked by Buildroot users is how to
 One of the most common questions asked by Buildroot users is how to
 rebuild a given package or how to remove a package without rebuilding
 rebuild a given package or how to remove a package without rebuilding

+ 9 - 0
docs/manual/starting-up.txt

@@ -0,0 +1,9 @@
+// -*- mode:doc; -*-
+
+Starting up
+===========
+
+include::getting.txt[]
+
+include::using.txt[]
+

+ 3 - 1
docs/manual/using-buildroot-toolchain.txt

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

+ 3 - 4
docs/manual/using.txt

@@ -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
 Buildroot has a nice configuration tool similar to the one you can
 find in the http://www.kernel.org/[Linux kernel] or in
 find in the http://www.kernel.org/[Linux kernel] or in

+ 21 - 0
docs/manual/working-with.txt

@@ -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]