summaryrefslogtreecommitdiffstats
path: root/docs/manual/customize.txt
blob: c876be82d778eea1c14fae46eafe24bf2ad5fb30 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// -*- mode:doc; -*-
// vim: set syntax=asciidoc:

== 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
- adding project-specific patches to some packages (using
  +BR2_GLOBAL_PATCH_DIR+)
- 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+)
- running arbitrary commands after generating the filesystem image
  (using +BR2_ROOTFS_POST_IMAGE_SCRIPT+)
- adding project-specific packages

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-rootfs.txt[]

include::customize-store.txt[]

include::customize-packages.txt[]

include::customize-outside-br.txt[]
OpenPOWER on IntegriCloud