Difference between revisions of "Buildroot:ManualOrganization"

From eLinux.org
Jump to: navigation, search
(add toc suggestion)
(Blanked the page)
 
Line 1: Line 1:
= Discussion around the organization of the Buildroot manual =
 
  
== List of topics that must be covered ==
 
* Starting with Buildroot (out-of-box experience, just using menuconfig options to get something, no need to hack anything)
 
* Configuration
 
** Explain the impact of the target architecture variant selection
 
** Explain the toolchain backends
 
** Explain the init systems
 
** Explain the /dev management strategies. Explain custom device tables.
 
** Explain the configuration of the kernel, and real-time extensions
 
** Explain the root filesystem types, with specific details on the special initramfs case
 
** Explain usage of the board/ directory
 
** Explain usage of post-build scripts, give examples (set a root password, etc.), and explain why it's better than custom target skeletons.
 
* How to add new packages
 
** The different package infrastructures
 
** Details on autotools-package infrastructure, on cmake-package infrastructure, generic-package infrastructure
 
** Details on how to write the Config.in files: when 'depends on' should be used, when 'select' should be used. How to properly handle dependencies on toolchain features (RPC, locale, etc.)
 
** Details on hooks
 
** Details on adding patches to packages
 
** Details on adding licensing information to packages
 
** Details on gettext/libiconv handling
 
** The different download infrastructures
 
* Contribution
 
** How to report bugs (bug tracker, IRC). Explain to include the .config file + 100-200 last lines of build log after doing a complete 'make clean; make'
 
** How to send patches.
 
 
== Proposed organization ==
 
 
''This toc suggestion is close to the one already posted on the mailing list (see: http://lists.busybox.net/pipermail/buildroot/2012-March/051952.html), and is here to give some starting-point.''
 
 
# About Buildroot
 
# Starting up
 
## System requirements
 
### Mandatory packages
 
### Optional packages
 
## Getting Buildroot
 
## Using Buildroot
 
# Working with Buildroot
 
## make tips
 
## Customization
 
### Customizing the generated target filesystem
 
### Customizing the Busybox configuration
 
### Customizing the uClibc configuration
 
### Customizing the Linux kernel configuration
 
### Customizing the toolchain
 
#### Using the external toolchain backend
 
#### Using the internal Buildroot toolchain backend
 
#### Using the Crosstool-NG backend
 
## Daily use
 
### Understanding how to rebuild packages
 
### Offline builds
 
### Building out-of-tree
 
### Environment variables
 
## Hacking Buildroot
 
# Frequently Asked Questions & Troubleshooting
 
## The boot hangs after Starting network…
 
## module-init-tools fails to build with cannot find -lc
 
## LZO package configuration failure due to incorrect host architecture detection
 
### Typical error output
 
### Solution
 
# Going further in Buildroot’s innards
 
## Embedded system basics & Reasons to use Buildroot
 
### Cross-compilation & cross-toolchain
 
### Why choose Buildroot
 
## How Buildroot works
 
## Advanced usage
 
### Using the generated toolchain outside Buildroot
 
### Using an external toolchain
 
### Using ccache in Buildroot
 
### Location of downloaded packages
 
### Package make targets
 
# Developer Guidelines
 
## Writing rules
 
### Config.in file
 
### The .mk file
 
### The documentation
 
## Adding new packages to Buildroot
 
### Package directory
 
#### Config.in file
 
#### The .mk file
 
### Infrastructure for packages with specific build systems
 
#### generic-package Tutorial
 
#### generic-package Reference
 
### Infrastructure for autotools-based packages
 
#### autotools-package tutorial
 
#### autotools-package reference
 
### Infrastructure for CMake-based packages
 
#### cmake-package tutorial
 
#### cmake-package reference
 
### Manual Makefile
 
### Gettext integration and interaction with packages
 
### Conclusion
 
## Patch Policy
 
### Provinding patches
 
#### Additionnal tarball
 
#### Within Buildroot
 
### How patches are applied
 
### Format and licensing of the package patches
 
## Download infrastructure
 
## Creating your own board support
 
# Getting involved
 
## Mailing List
 
### Subscribing to the mailing list
 
### Searching the List Archives
 
## IRC
 
## Patchwork
 
## Bugtracker
 
## Buildroot wikipage
 
# Contibuting to Buildroot
 
## Submitting patches
 
## Reviewing/Testing patches
 
## Autobuild
 
# Legal notice and licensing
 
## Complying with opensource licenses
 
## Complying with the Buildroot license
 
# Appendix
 
## Makedev syntax documentation
 
## Deprecated list
 

Latest revision as of 19:07, 9 February 2013