680641105d
This patch reworks the section 'Step-by-step instructions for storing configuration' as follows: - rename into 'Quick guide to storing your project-specific customizations' and hence make it serve as a summary to the chapter - change the introduction to make this clear - update paths to line-up with section 'recommended directory structure' - recommend BR2_GLOBAL_PATCH_DIR, as is done in the section on adding patches. - mention how to add packages in a project-specific directory (to be expanded in another patch) - minor rewording - rename file into customize-quick-guide.txt Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
61 lines
2.3 KiB
Plaintext
61 lines
2.3 KiB
Plaintext
// -*- mode:doc; -*-
|
|
// vim: set syntax=asciidoc:
|
|
|
|
[[customize]]
|
|
== Project-specific customization
|
|
|
|
Typical actions you may need to perform for a given project are:
|
|
|
|
* configuring Buildroot (including build options and toolchain,
|
|
bootloader, kernel, package and filesystem image type selection)
|
|
* configuring other components, like the Linux kernel and BusyBox
|
|
* customizing the generated target filesystem
|
|
** adding or overwriting files on the target filesystem (using
|
|
+BR2_ROOTFS_OVERLAY+)
|
|
** modifying or deleting files on the target filesystem (using
|
|
+BR2_ROOTFS_POST_BUILD_SCRIPT+)
|
|
** running arbitrary commands prior to generating the filesystem image
|
|
(using +BR2_ROOTFS_POST_BUILD_SCRIPT+)
|
|
** setting file permissions and ownership (using
|
|
+BR2_ROOTFS_DEVICE_TABLE+)
|
|
** adding custom devices nodes (using
|
|
+BR2_ROOTFS_STATIC_DEVICE_TABLE+)
|
|
* adding custom user accounts (using +BR2_ROOTFS_USERS_TABLES+)
|
|
* running arbitrary commands after generating the filesystem image
|
|
(using +BR2_ROOTFS_POST_IMAGE_SCRIPT+)
|
|
* adding project-specific patches to some packages (using
|
|
+BR2_GLOBAL_PATCH_DIR+)
|
|
* adding project-specific packages
|
|
|
|
An important note regarding such 'project-specific' customizations:
|
|
please carefully consider which changes are indeed project-specific and
|
|
which changes are also useful to developers outside your project. The
|
|
Buildroot community highly recommends and encourages the upstreaming of
|
|
improvements, packages and board support to the official Buildroot
|
|
project. Of course, it is sometimes not possible or desirable to
|
|
upstream because the changes are highly specific or proprietary.
|
|
|
|
This chapter describes how to make such project-specific customizations
|
|
in Buildroot and how to store them in a way that you can build the same
|
|
image in a reproducible way, even after running 'make clean'. By
|
|
following the recommended strategy, you can even use the same Buildroot
|
|
tree to build multiple distinct projects!
|
|
|
|
include::customize-directory-structure.txt[]
|
|
|
|
include::customize-outside-br.txt[]
|
|
|
|
include::customize-configuration.txt[]
|
|
|
|
include::customize-rootfs.txt[]
|
|
|
|
include::customize-users-tables.txt[]
|
|
|
|
include::customize-post-image.txt[]
|
|
|
|
include::customize-patches.txt[]
|
|
|
|
include::customize-packages.txt[]
|
|
|
|
include::customize-quick-guide.txt[]
|