1 Managing local additions
2 ========================
4 This section describes the site-local mechanism, what it is good for and
9 site-local is the name of a directory that won't ever appear in the
10 upstream coreboot repository but is referred to in several key places of its
11 configuration and build system. The intent is provide a single location to
12 store local modifications.
14 By keeping local additions to builds in this place, it can be versioned
15 independently from upstream (e.g. controlled by git in another repository)
16 and any changes made there won't ever conflict with upstream changes.
18 This optional directory is searched for in the top-level of the coreboot
19 repo and is called `site-local`.
21 Integration into the configuration system
22 -----------------------------------------
23 Kconfig includes `site-local/Kconfig` relatively early, so it can be used
24 to pre-define some configuration before coreboot's regular ruleset sets
27 Integration into the build system
28 ---------------------------------
29 The build system includes, if present, `site-local/Makefile.inc`. The main
30 purpose so far has been to add additional files to a CBFS image. A single
31 Makefile.inc can serve multiple boards, for example:
33 cbfs-files-$(CONFIG_BOARD_INTEL_D945GCLF) += pci8086,2772.rom
34 pci8086,2772.rom-file := intel_d945gclf/pci8086,2772.rom
35 pci8086,2772.rom-type := optionrom
37 cbfs-files-$(CONFIG_BOARD_KONTRON_986LCD_M) += pci8086,27a2.rom
38 pci8086,27a2.rom-file := kontron_986lcd-m/pci8086,27a2.rom
39 pci8086,27a2.rom-type := optionrom
41 This adds the correct Option ROM binary (which are non-redistributable and
42 therefore can't become part of the coreboot.org repos) to coreboot.rom when
43 built for intel/d945gclf or kontron/986lcd-m.