Commit Graph

644 Commits

Author SHA1 Message Date
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
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
Christian Hewitt
7866a62b5a Merge pull request #1980 from MilhouseVH/le90_optimise_extract
scripts/unpack: avoid calling scripts/extract for each tarball pattern
2017-09-20 21:41:39 +04:00
MilhouseVH
e70485eb84 scripts/unpack: avoid calling scripts/extract for each tarball pattern
Each time scripts/extract is called it sources config/options which is an
expensive operation.

We call scripts/extract 8 times for each possible tarball pattern, and for
7 of those 8 calls scripts/extract does nothing but source config/options
and then exit.

This change is more efficient, while functionally equivalent.
2017-09-14 10:50:40 +01:00
MilhouseVH
8f2e61c928 scripts/get: fix logic error when download is successful, but checksum is invalid
A download might succeed from, say, github, but have an invalid checksum. In this
case it would not attempt the alternative download from the mirror (which might
have the correct checksum), but instead it would repeatedly download from github
until the download limit is exceeded, and then fail completely.
2017-09-14 04:39:51 +01:00
MilhouseVH
096310f125 scripts/unpack: use git apply whenever patch includes a renamed file 2017-08-31 00:40:30 +01:00
Christian Hewitt
1ca3686dc2 Merge pull request #1893 from zalaare/pr_master_ova-syslinux-default-and-ova-name
build system: drop .img extension for the open virtual appliance
2017-08-25 07:44:56 +04:00