Commit Graph

22 Commits

Author SHA1 Message Date
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
MilhouseVH
cae8b49942 userconfig: overwrite our sample files 2017-03-23 20:27:21 +00:00
Peter Vicman
b3f49fad47 systemd: machine-id.service is required for systemd-tmpfiles-setup-dev.service
fixes unneeded console messages (mostly for first boot):

[FAILED] Failed to start Create Static Device Nodes in /dev.
See 'systemctl status systemd-tmpfiles-setup-dev.service' for details.
[  OK  ] Reached target Local File Systems (Pre).
[  OK  ] Mounted Debug File System.
[  OK  ] Mounted POSIX Message Queue File System.
[  OK  ] Mounted Variable Directory.
[  OK  ] Mounted Temporary Directory.
[  OK  ] Started Setup machine-id.
[  OK           Starting Journal Service...
[  OK  ] Reached target Local File Systems.
        Starting Setup Timezone data...
[  OK  ] Started Setup Timezone data.
2016-10-31 08:46:40 +01:00
Lukas Rusak
40af353132 rebrand: LibreELEC 2016-03-12 01:41:55 +01:00
Stefan Saraev
802a8e7cb5 userconfig: run after systemd-tmpfiles-setup 2015-01-18 18:10:09 +02:00
Stefan Saraev
0821b9008c debugconfig: run after systemd-tmpfiles-setup 2015-01-18 18:07:47 +02:00
Stephan Raue
c787c452ce systemd: move userconfig.service to sysinit.target 2014-11-08 18:45:02 +01:00
Stephan Raue
0d679d52d9 systemd: machine-id.service has no job after local-fs.target 2014-11-08 18:44:58 +01:00
Stefan Saraev
7720ff6f6d userconfig.service: make sure /storage/.config is there
because tmpfiles doesnt work here, as userconfig.service
is ordered before=local-fs.target (?!)

this also reverts 9de09b4507

thanks to @vpeter4
2014-08-12 20:24:05 +03:00
Stefan Saraev
046d192206 systemd: simplify userconfig.service
*.sample will not be force overwritten, but I dont really care
2014-08-04 02:03:41 +02:00
Stefan Saraev
2a9ff007e1 systemd: hwdb: fix udevadm path after systemd 209 2014-02-21 00:17:57 +02:00
Stephan Raue
6bfa5b0ee4 systemd: update to systemd-209, move systemd rootdir dir to /usr
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-02-20 19:44:18 +01:00
Stefan Saraev
e0166f1fdb systemd: add hwdb.service 2013-10-22 21:11:22 +03:00
Stefan Saraev
260069cca7 systemd: rework machine-idd service
- always set a *valid* machine-id
- start machine-id.service before journald
2013-10-08 18:40:48 +03:00
Stefan Saraev
baf8b197dc add optional /storage/.cache/debug.openelec to enable debugging 2013-08-30 20:35:24 +03:00
Stephan Raue
59dbdf7192 systemd: rework debugconfig.service
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-08-24 22:05:41 +02:00
Stephan Raue
b5a5bff496 systemd: rework userconfig.service
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-08-24 22:04:58 +02:00
Stephan Raue
755c10994e systemd: rework debugconfig service
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-08-18 14:10:28 +02:00
Stephan Raue
a2b8cac8c8 systemd: start debugconfig.service after local-fs.target
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-08-11 04:24:27 +02:00
Stephan Raue
cf90aeee41 systemd: add debug config script and service, add avahi debug options
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-08-11 00:25:22 +02:00
Stephan Raue
6c126347ad busybox: port userconfig script setup to systemd
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-08-08 04:00:57 +02:00
Stephan Raue
85c9783459 busybox: port machine-id script setup to systemd
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2013-08-08 03:43:08 +02:00