1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- // -*- 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
- 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-rootfs.txt[]
- include::customize-post-image.txt[]
- include::customize-store.txt[]
- include::customize-packages.txt[]
|