Commit Graph

649 Commits

Author SHA1 Message Date
Lukas Rusak
1d7f6e733e Merge pull request #2080 from MilhouseVH/le90_more_bs_optimisations
buildsystem: more optimisations
2017-10-14 14:34:56 -07:00
Lukas Rusak
01f3934769 Merge pull request #2079 from Kwiboo/apply-patches
scripts/unpack: apply more patches
2017-10-14 10:12:57 -07:00
Lukas Rusak
e119599518 scripts/build: use ninja for cmake builds 2017-10-13 15:01:50 -07:00
MilhouseVH
41dd8f9534 Merge pull request #2061 from maideii/libreelec-8.2
added EFI 32bit support via GRUB2
2017-10-12 23:05:17 +01:00
Matthias Reichl
ad9e8dc372 Add support for kernel overlays
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>
2017-10-12 20:04:02 +02:00
Matthias Reichl
eee1d7ac63 addons: move addon installation functions to config/functions
Signed-off-by: Matthias Reichl <hias@horus.com>
2017-10-12 19:59:11 +02:00
Matthias Reichl
a03bfcbd1a addons: allow packages to define the full version number
This is intended to disable automatic appending of PKG_REV
in case the full version number, including PKG_REV, has already
been setup in addon.xml by the package build script.

Signed-off-by: Matthias Reichl <hias@horus.com>
2017-10-12 19:59:11 +02:00
Matthias Reichl
4b14c6c946 config/functions: only use PKG_ADDON_ID for install_binary_addon
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>
2017-10-12 19:59:11 +02:00
Christian Hewitt
157816bac7 Merge pull request #2076 from Kwiboo/mkimage-patitions
scripts/mkimage: rename gpt partitions and use generated serial number
2017-10-12 21:33:12 +04:00
Christian Hewitt
09d09d240e Merge pull request #2087 from Raybuntu/6432
AArch64 projects: add 32-bit userspace support
2017-10-12 21:08:34 +04:00
Radostan Riedel
de9d1af69f AArch64 projects: add 32-bit userspace support 2017-10-12 10:07:43 +02:00
Christian Hewitt
0e838f9472 Merge pull request #2068 from CvH/9.0-addon-broken
add addon broken support to addon building
2017-10-12 11:00:41 +04:00
maideii
7121db0b95 added EFI 32bit support via GRUB2 - fixed Virtual config 2017-10-11 10:48:56 +08:00
maideii
03ec8f3048 added EFI 32bit support via GRUB2 - indentation mistake 2017-10-10 11:38:52 +08:00
maideii
c268754d0d added EFI 32bit support via GRUB2-expanded all the config with variables 2017-10-10 11:31:49 +08:00
MilhouseVH
60f117a793 buildsystem: eliminate unecessary awk usage 2017-10-09 13:11:43 +01:00
Jonas Karlman
82bc756eac scripts/unpack: apply device specific PKG_PATCH_DIRS 2017-10-08 21:52:53 +02:00
Jonas Karlman
03caac8396 scripts/unpack: apply *.patch 2017-10-08 21:52:53 +02:00
Jonas Karlman
eadaa52918 scripts/mkimage: rename gpt patitions to system and storage 2017-10-08 20:08:02 +02:00
Jonas Karlman
6176f8b96b scripts/mkimage: use generated serial number for system partition
Also removes unused UUID_SYSTEM variable
2017-10-08 20:08:02 +02:00
cvh
ac43838c8b scripts/install_addon: add addon broken support 2017-10-06 01:09:23 +02:00
maideii
8d501bbd3e added EFI 32bit support via GRUB2 2017-10-04 14:04:21 +08:00
Alexander D. Kanevskiy
311a53a15e Fix perl/JSON.pm dependency on OpenSUSE and CentOS 2017-09-23 16:15:23 +03:00
sonique6784
ea8fa964c1 scripts: update checkdeps for openjdk and libjson-perl on Arch 2017-09-23 13:29:25 +04:00
MilhouseVH
8d1d97f0d1 squashfs: change upstream to kernel.org; update to squashfs-1a6ffc7 2017-09-22 13:58:12 +01:00