project or device options
this has been added at the end of the virtual debug package as
this is the last point in the build system that any packages are
compiled before images are created
this is needed for devices that require specific packages for
example u-boot, we can keep changes within the device folder
rather than adding multiple definitions to the project package
Running autoreconf on libtool is necessary after bumping to automake 1.15.1.
Build intltool before libtool.
Since libtool installs libtoolize, don't run --install whenever libtoolize isn't yet installed.
Core Kernel modules are now installed to
/usr/lib/kernel-overlays/base/lib/modules instead of /usr/lib/modules
Firmware files are installed to
/usr/lib/kernel-overlays/base/lib/firmware instead of /usr/lib/firmware
Packages can choose to install their modules and/or firmwareinto a
different overlay directory than base so they are not automatically enabled.
A new systemd service kernel-overlays, which is run before any modules
are loaded, adds overlays enabled via /storage/.cache/kernel-overlays/*.conf
These conf files must either contain the name of a system overlay,
which will then be searched for in /usr/lib/kernel-overlays/, or an
absolute path starting with '/'.
Overlaying is implemented by symlinking files from the overlays
to /usr/lib/modules and /usr/lib/firmware as not all platforms
support overlayfs.
This overlaying system can also be used by addons to provide optional
kernel modules and/or firmware by storing the absolute path to the addon
directory in the conf file and shipping kernel modules in
<addondir>/lib/modules/<KERNELVER>.
To save space only symlinks for modules matching the currently
running kernel version are created as addons may want to ship
modules for older kernel versions as well to be backward-compatible
to older LibreELEC versions.
Changes since v1:
- fixup kernel-overlays-service: add before kmod-static-nodes.service
Fix static device nodes for module autoloading not being created.
- fixup kernel-overlays-service: fail if /usr/lib/modules exists
- squash kernel overlays: use get_kernel_overlay_dir in linux/package.mk
- Add support for firmware files via kernel overlays
- config/functions: include kernel overlays in addon installation
Signed-off-by: Matthias Reichl <hias@horus.com>
xmlstarlet uses an exit code of 1 if the value wasn't found.
This causes the build to abort as the scripts are running with
"set -e".
Fix this so the code checking for empty responses can work
as intended.
Signed-off-by: Matthias Reichl <hias@horus.com>
Usage of PKG_NAME was a bug carried over from the original code
during refactoring. Since none of the addons set PKG_SECTION, and
therefore PKG_NAME and PKG_ADDON_ID were identical, this wasn't
noticed before.
Drop using PKG_NAME and only use PKG_ADDON_ID to fix this,
install_binary_addon can then also be used for addons which set
PKG_SECTION.
Signed-off-by: Matthias Reichl <hias@horus.com>
It returns the full module directory path, including /usr/lib/modules.
Use that in package.mk files to simply them and get rid of the
repeatedly added paths.
Signed-off-by: Matthias Reichl <hias@horus.com>