[LEDE-DEV] replacing files in base system from a package?
jo at mein.io
Sat Oct 15 16:04:57 PDT 2016
let me introduce a not strictly new way but another heavily under
documented buildroot feature which you can use to implement custom
modifications to packages which do not require source code edits.
For every processed package Makefile, the buildroot tries to include a a
Makefile fragment in $(TOPDIR)/overlay/*/$(PKG_DIR_NAME).mk which one
can use to monkey-patch internals without directly touching the package
For example to amend "base-files" to include a custom banner and
inittab, you could create an overlay file called
which extends the default Package/base-files/install recipe to copy your
custom files in the end.
Assuming a directory structure like this...
... the base-files.mk would need to include something like the following
code to splicy your custom files into the packaging procedure:
--- 8< ---
# Figure out the containing dir of this Makefile
OVERLAY_DIR:=$(dir $(abspath $(lastword $(MAKEFILE_LIST))))
# Declare custom installation commands
@echo "Installing extra files from $(OVERLAY_DIR)"
$(INSTALL_DATA) $(OVERLAY_DIR)/banner $(1)/etc/banner
$(INSTALL_DATA) $(OVERLAY_DIR)/inittab $(1)/etc/inittab
# Append custom commands to install recipe,
# and make sure to include a newline to avoid syntax error
Package/base-files/install += $(newline)$(custom_install_commands)
--- >8 ---
More information about the Lede-dev