Also swaps the necessary variable check in busybox/init to acoomodate OPENELEC_ARCH
may or may not exist, while LIBREELEC_ARCH will be assumed to exist.
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
For multi-cluster CPUs (e.g. Amlogic S912) there is a separate
policy for each CPU cluster. Add a case in init script to cover
setting up_threshold for all clusters.
This changes the order of the script to be:
Necssary bring up tasks
Setting variables to control rest of system intialization
Sourcing shared functions
Setting script functions
Doing the work of bringing the system up
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
The init script currently touches a file at /dev/.storage_netboot if
/storage is a remote filesystem, so that scripts that run after the root
filesystem has been switched can behave differently depending on whether
/storage is mounted locally or remotely. Add similar functionality for
/flash by touching /dev/.flash_netboot if it is a remote filesystem.
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>