mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-30 22:26:42 +00:00
Merge pull request #2414 from chewitt/mr823
release: initial backports and updates for LE 8.2.3
This commit is contained in:
commit
71060aaf91
45
packages/linux-drivers/intel_nuc_led/package.mk
Normal file
45
packages/linux-drivers/intel_nuc_led/package.mk
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
################################################################################
|
||||||
|
# This file is part of LibreELEC - https://LibreELEC.tv
|
||||||
|
# Copyright (C) 2016 Team LibreELEC
|
||||||
|
#
|
||||||
|
# LibreELEC is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# LibreELEC is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
PKG_NAME="intel_nuc_led"
|
||||||
|
PKG_VERSION="fedb38e"
|
||||||
|
PKG_ARCH="x86_64"
|
||||||
|
PKG_LICENSE="GPL"
|
||||||
|
PKG_SITE="https://github.com/milesp20/intel_nuc_led/"
|
||||||
|
PKG_URL="https://github.com/milesp20/intel_nuc_led/archive/$PKG_VERSION.tar.gz"
|
||||||
|
PKG_DEPENDS_TARGET="toolchain linux"
|
||||||
|
PKG_NEED_UNPACK="$LINUX_DEPENDS"
|
||||||
|
PKG_SECTION="driver"
|
||||||
|
PKG_SHORTDESC="Intel NUC7i[x]BN and NUC6CAY LED Control for Linux"
|
||||||
|
PKG_LONGDESC="Intel NUC7i[x]BN and NUC6CAY LED Control for Linux"
|
||||||
|
|
||||||
|
PKG_IS_ADDON="no"
|
||||||
|
PKG_AUTORECONF="no"
|
||||||
|
|
||||||
|
pre_make_target() {
|
||||||
|
unset LDFLAGS
|
||||||
|
}
|
||||||
|
|
||||||
|
make_target() {
|
||||||
|
make KDIR=$(kernel_path)
|
||||||
|
}
|
||||||
|
|
||||||
|
makeinstall_target() {
|
||||||
|
mkdir -p $INSTALL/usr/lib/modules/$(get_module_dir)/$PKG_NAME
|
||||||
|
cp *.ko $INSTALL/usr/lib/modules/$(get_module_dir)/$PKG_NAME
|
||||||
|
}
|
@ -69,5 +69,6 @@ makeinstall_target() {
|
|||||||
done
|
done
|
||||||
|
|
||||||
# The following file is installed by brcmfmac_sdio-firmware-rpi
|
# The following file is installed by brcmfmac_sdio-firmware-rpi
|
||||||
rm -fr $FW_TARGET_DIR/brcm/brcmfmac43430-sdio.bin
|
rm -fr $FW_TARGET_DIR/brcm/brcmfmac43430*-sdio.bin
|
||||||
|
rm -fr $FW_TARGET_DIR/brcm/brcmfmac43455*-sdio.bin
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="wlan-firmware"
|
PKG_NAME="wlan-firmware"
|
||||||
PKG_VERSION="34a47d9"
|
PKG_VERSION="cfc1842"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="Free-to-use"
|
PKG_LICENSE="Free-to-use"
|
||||||
PKG_SITE="https://github.com/LibreELEC/wlan-firmware"
|
PKG_SITE="https://github.com/LibreELEC/wlan-firmware"
|
||||||
|
@ -0,0 +1,54 @@
|
|||||||
|
From 3364d0056328b93fb10ab929ae99933af9e304ad Mon Sep 17 00:00:00 2001
|
||||||
|
From: MilhouseVH <milhouseVH.github@nmacleod.com>
|
||||||
|
Date: Thu, 4 Jan 2018 19:56:05 +0000
|
||||||
|
Subject: [PATCH] Revert "softirq: Let ksoftirqd do its job"
|
||||||
|
|
||||||
|
See: https://forum.libreelec.tv/thread/4235-dvb-issue-since-le-switched-to-kernel-4-9-x/?postID=75965#post75965
|
||||||
|
---
|
||||||
|
kernel/softirq.c | 16 +---------------
|
||||||
|
1 file changed, 1 insertion(+), 15 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/kernel/softirq.c b/kernel/softirq.c
|
||||||
|
index 4e09821..58bb6f6 100644
|
||||||
|
--- a/kernel/softirq.c
|
||||||
|
+++ b/kernel/softirq.c
|
||||||
|
@@ -77,17 +77,6 @@ static void wakeup_softirqd(void)
|
||||||
|
wake_up_process(tsk);
|
||||||
|
}
|
||||||
|
|
||||||
|
-/*
|
||||||
|
- * If ksoftirqd is scheduled, we do not want to process pending softirqs
|
||||||
|
- * right now. Let ksoftirqd handle this at its own rate, to get fairness.
|
||||||
|
- */
|
||||||
|
-static bool ksoftirqd_running(void)
|
||||||
|
-{
|
||||||
|
- struct task_struct *tsk = __this_cpu_read(ksoftirqd);
|
||||||
|
-
|
||||||
|
- return tsk && (tsk->state == TASK_RUNNING);
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
/*
|
||||||
|
* preempt_count and SOFTIRQ_OFFSET usage:
|
||||||
|
* - preempt_count is changed by SOFTIRQ_OFFSET on entering or leaving
|
||||||
|
@@ -324,7 +313,7 @@ asmlinkage __visible void do_softirq(void)
|
||||||
|
|
||||||
|
pending = local_softirq_pending();
|
||||||
|
|
||||||
|
- if (pending && !ksoftirqd_running())
|
||||||
|
+ if (pending)
|
||||||
|
do_softirq_own_stack();
|
||||||
|
|
||||||
|
local_irq_restore(flags);
|
||||||
|
@@ -351,9 +340,6 @@ void irq_enter(void)
|
||||||
|
|
||||||
|
static inline void invoke_softirq(void)
|
||||||
|
{
|
||||||
|
- if (ksoftirqd_running())
|
||||||
|
- return;
|
||||||
|
-
|
||||||
|
if (!force_irqthreads) {
|
||||||
|
#ifdef CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK
|
||||||
|
/*
|
||||||
|
--
|
||||||
|
2.14.1
|
||||||
|
|
@ -0,0 +1,54 @@
|
|||||||
|
From 3364d0056328b93fb10ab929ae99933af9e304ad Mon Sep 17 00:00:00 2001
|
||||||
|
From: MilhouseVH <milhouseVH.github@nmacleod.com>
|
||||||
|
Date: Thu, 4 Jan 2018 19:56:05 +0000
|
||||||
|
Subject: [PATCH] Revert "softirq: Let ksoftirqd do its job"
|
||||||
|
|
||||||
|
See: https://forum.libreelec.tv/thread/4235-dvb-issue-since-le-switched-to-kernel-4-9-x/?postID=75965#post75965
|
||||||
|
---
|
||||||
|
kernel/softirq.c | 16 +---------------
|
||||||
|
1 file changed, 1 insertion(+), 15 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/kernel/softirq.c b/kernel/softirq.c
|
||||||
|
index 4e09821..58bb6f6 100644
|
||||||
|
--- a/kernel/softirq.c
|
||||||
|
+++ b/kernel/softirq.c
|
||||||
|
@@ -77,17 +77,6 @@ static void wakeup_softirqd(void)
|
||||||
|
wake_up_process(tsk);
|
||||||
|
}
|
||||||
|
|
||||||
|
-/*
|
||||||
|
- * If ksoftirqd is scheduled, we do not want to process pending softirqs
|
||||||
|
- * right now. Let ksoftirqd handle this at its own rate, to get fairness.
|
||||||
|
- */
|
||||||
|
-static bool ksoftirqd_running(void)
|
||||||
|
-{
|
||||||
|
- struct task_struct *tsk = __this_cpu_read(ksoftirqd);
|
||||||
|
-
|
||||||
|
- return tsk && (tsk->state == TASK_RUNNING);
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
/*
|
||||||
|
* preempt_count and SOFTIRQ_OFFSET usage:
|
||||||
|
* - preempt_count is changed by SOFTIRQ_OFFSET on entering or leaving
|
||||||
|
@@ -324,7 +313,7 @@ asmlinkage __visible void do_softirq(void)
|
||||||
|
|
||||||
|
pending = local_softirq_pending();
|
||||||
|
|
||||||
|
- if (pending && !ksoftirqd_running())
|
||||||
|
+ if (pending)
|
||||||
|
do_softirq_own_stack();
|
||||||
|
|
||||||
|
local_irq_restore(flags);
|
||||||
|
@@ -351,9 +340,6 @@ void irq_enter(void)
|
||||||
|
|
||||||
|
static inline void invoke_softirq(void)
|
||||||
|
{
|
||||||
|
- if (ksoftirqd_running())
|
||||||
|
- return;
|
||||||
|
-
|
||||||
|
if (!force_irqthreads) {
|
||||||
|
#ifdef CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK
|
||||||
|
/*
|
||||||
|
--
|
||||||
|
2.14.1
|
||||||
|
|
@ -0,0 +1,89 @@
|
|||||||
|
From 28ad70a06fb84fe63cd036970db2561b2fd1562b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hans de Goede <hdegoede@redhat.com>
|
||||||
|
Date: Sun, 5 Nov 2017 16:51:23 +0100
|
||||||
|
Subject: [PATCH v3 1/2] i915: pm: Be less agressive with clockfreq changes on
|
||||||
|
Bay Trail
|
||||||
|
|
||||||
|
Bay Trail devices are known to hang when changing the frequency often,
|
||||||
|
this is discussed in great length in:
|
||||||
|
https://bugzilla.kernel.org/show_bug.cgi?id=109051
|
||||||
|
|
||||||
|
Commit 6067a27d1f01 ("drm/i915: Avoid tweaking evaluation thresholds
|
||||||
|
on Baytrail v3") is an attempt to workaround this. Several users in
|
||||||
|
bko109051 report that an earlier version of this patch, v1:
|
||||||
|
https://bugzilla.kernel.org/attachment.cgi?id=251471
|
||||||
|
|
||||||
|
Works better for them and they still see hangs with the merged v3.
|
||||||
|
|
||||||
|
Comparing the 2 versions shows that they are indeed not equivalent,
|
||||||
|
v1 not only skips writing the GEN6_RP* registers from valleyview_set_rps,
|
||||||
|
as v3 does. It also contained these modifications to i915_irq.c:
|
||||||
|
|
||||||
|
if (pm_iir & GEN6_PM_RP_DOWN_EI_EXPIRED) {
|
||||||
|
if (!vlv_c0_above(dev_priv,
|
||||||
|
&dev_priv->rps.down_ei, &now,
|
||||||
|
- dev_priv->rps.down_threshold))
|
||||||
|
+ VLV_RP_DOWN_EI_THRESHOLD))
|
||||||
|
events |= GEN6_PM_RP_DOWN_THRESHOLD;
|
||||||
|
dev_priv->rps.down_ei = now;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pm_iir & GEN6_PM_RP_UP_EI_EXPIRED) {
|
||||||
|
if (vlv_c0_above(dev_priv,
|
||||||
|
&dev_priv->rps.up_ei, &now,
|
||||||
|
- dev_priv->rps.up_threshold))
|
||||||
|
+ VLV_RP_UP_EI_THRESHOLD))
|
||||||
|
events |= GEN6_PM_RP_UP_THRESHOLD;
|
||||||
|
dev_priv->rps.up_ei = now;
|
||||||
|
}
|
||||||
|
|
||||||
|
Which use less aggressive up/down thresholds, which results in less
|
||||||
|
GEN6_PM_RP_*_THRESHOLD events and thus in less calls to intel_set_rps() ->
|
||||||
|
valleyview_set_rps() -> vlv_punit_write(PUNIT_REG_GPU_FREQ_REQ).
|
||||||
|
With the last call being the likely cause of the hang.
|
||||||
|
|
||||||
|
This commit hardcodes the threshold_up and _down values for Bay Trail to
|
||||||
|
less aggressive values, reducing the amount of clock frequency changes,
|
||||||
|
thus avoiding the hangs some people are still seeing with the merged fix.
|
||||||
|
|
||||||
|
Buglink: https://bugzilla.kernel.org/show_bug.cgi?id=109051
|
||||||
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||||
|
---
|
||||||
|
drivers/gpu/drm/i915/i915_reg.h | 3 +++
|
||||||
|
drivers/gpu/drm/i915/intel_pm.c | 5 ++++-
|
||||||
|
2 files changed, 7 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
|
||||||
|
index 68a58cce6ab1..2561af075ebb 100644
|
||||||
|
--- a/drivers/gpu/drm/i915/i915_reg.h
|
||||||
|
+++ b/drivers/gpu/drm/i915/i915_reg.h
|
||||||
|
@@ -1355,6 +1355,9 @@ enum i915_power_well_id {
|
||||||
|
#define VLV_BIAS_CPU_125_SOC_875 (6 << 2)
|
||||||
|
#define CHV_BIAS_CPU_50_SOC_50 (3 << 2)
|
||||||
|
|
||||||
|
+#define VLV_RP_UP_EI_THRESHOLD 90
|
||||||
|
+#define VLV_RP_DOWN_EI_THRESHOLD 70
|
||||||
|
+
|
||||||
|
/* vlv2 north clock has */
|
||||||
|
#define CCK_FUSE_REG 0x8
|
||||||
|
#define CCK_FUSE_HPLL_FREQ_MASK 0x3
|
||||||
|
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
|
||||||
|
index 01966b89be14..177b6caa0a38 100644
|
||||||
|
--- a/drivers/gpu/drm/i915/intel_pm.c
|
||||||
|
+++ b/drivers/gpu/drm/i915/intel_pm.c
|
||||||
|
@@ -6096,8 +6096,11 @@ static void gen6_set_rps_thresholds(struct drm_i915_private *dev_priv, u8 val)
|
||||||
|
/* When byt can survive without system hang with dynamic
|
||||||
|
* sw freq adjustments, this restriction can be lifted.
|
||||||
|
*/
|
||||||
|
- if (IS_VALLEYVIEW(dev_priv))
|
||||||
|
+ if (IS_VALLEYVIEW(dev_priv)) {
|
||||||
|
+ threshold_up = VLV_RP_UP_EI_THRESHOLD;
|
||||||
|
+ threshold_down = VLV_RP_DOWN_EI_THRESHOLD;
|
||||||
|
goto skip_hw_write;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
I915_WRITE(GEN6_RP_UP_EI,
|
||||||
|
GT_INTERVAL_FROM_US(dev_priv, ei_up));
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
@ -0,0 +1,53 @@
|
|||||||
|
From 945d0eb39d8920854c72ecb743c07d54b738cf7f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hans de Goede <hdegoede@redhat.com>
|
||||||
|
Date: Thu, 9 Nov 2017 14:21:24 +0100
|
||||||
|
Subject: [PATCH v3 2/2] intel_idle: Disable C6N and C6S on Bay Trail
|
||||||
|
|
||||||
|
It seems that Bay Trail SoCs sometimes have issues waking from C6,
|
||||||
|
a lot of users even report Bay Trail devices only being stable
|
||||||
|
when passing intel_idle.max_cstate=1 to the kernel.
|
||||||
|
|
||||||
|
This commits disables the C6 states while leaving the C7 states
|
||||||
|
available so that the cores can still reach deep sleep states.
|
||||||
|
|
||||||
|
There are several indicators that this is part of the solution for
|
||||||
|
all the users who need to pass intel_idle.max_cstate=1:
|
||||||
|
|
||||||
|
1) The "VLP52 EOI Transactions May Not be Sent if Software
|
||||||
|
Enters Core C6 During an Interrupt Service Routine" errata.
|
||||||
|
|
||||||
|
2) Several users who need intel_idle.max_cstate=1 indicate in bko109051
|
||||||
|
(which has over 800 comments!) that using a shell script which
|
||||||
|
disables C6N and C6S through sysfs allows them to remove
|
||||||
|
intel_idle.max_cstate=1 and still have a stable system which does
|
||||||
|
use the C7 states for power-saving.
|
||||||
|
|
||||||
|
BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=109051
|
||||||
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||||
|
---
|
||||||
|
drivers/idle/intel_idle.c | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/drivers/idle/intel_idle.c b/drivers/idle/intel_idle.c
|
||||||
|
index 5dc7ea4b6bc4..fe05984c9e81 100644
|
||||||
|
--- a/drivers/idle/intel_idle.c
|
||||||
|
+++ b/drivers/idle/intel_idle.c
|
||||||
|
@@ -221,6 +221,7 @@ static struct cpuidle_state byt_cstates[] = {
|
||||||
|
.flags = MWAIT2flg(0x58) | CPUIDLE_FLAG_TLB_FLUSHED,
|
||||||
|
.exit_latency = 300,
|
||||||
|
.target_residency = 275,
|
||||||
|
+ .disabled = true,
|
||||||
|
.enter = &intel_idle,
|
||||||
|
.enter_s2idle = intel_idle_s2idle, },
|
||||||
|
{
|
||||||
|
@@ -229,6 +230,7 @@ static struct cpuidle_state byt_cstates[] = {
|
||||||
|
.flags = MWAIT2flg(0x52) | CPUIDLE_FLAG_TLB_FLUSHED,
|
||||||
|
.exit_latency = 500,
|
||||||
|
.target_residency = 560,
|
||||||
|
+ .disabled = true,
|
||||||
|
.enter = &intel_idle,
|
||||||
|
.enter_s2idle = intel_idle_s2idle, },
|
||||||
|
{
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
@ -17,7 +17,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
PKG_NAME="LibreELEC-settings"
|
PKG_NAME="LibreELEC-settings"
|
||||||
PKG_VERSION="12c5f24"
|
PKG_VERSION="f3bf1f2"
|
||||||
PKG_ARCH="any"
|
PKG_ARCH="any"
|
||||||
PKG_LICENSE="prop."
|
PKG_LICENSE="prop."
|
||||||
PKG_SITE="https://libreelec.tv"
|
PKG_SITE="https://libreelec.tv"
|
||||||
|
@ -60,117 +60,117 @@
|
|||||||
allocation roundup size = 0
|
allocation roundup size = 0
|
||||||
|
|
||||||
# Using the following configurations as a template allows you to add
|
# Using the following configurations as a template allows you to add
|
||||||
# writable shares of disks and paths under /storage
|
# writeable shares of disks and paths under /storage
|
||||||
|
|
||||||
[Update]
|
[Update]
|
||||||
path = /storage/.update
|
path = /storage/.update
|
||||||
available = yes
|
available = yes
|
||||||
browsable = yes
|
browseable = yes
|
||||||
public = yes
|
public = yes
|
||||||
writable = yes
|
writeable = yes
|
||||||
root preexec = mkdir -p /storage/.update
|
root preexec = mkdir -p /storage/.update
|
||||||
|
|
||||||
[Videos]
|
[Videos]
|
||||||
path = /storage/videos
|
path = /storage/videos
|
||||||
available = yes
|
available = yes
|
||||||
browsable = yes
|
browseable = yes
|
||||||
public = yes
|
public = yes
|
||||||
writable = yes
|
writeable = yes
|
||||||
root preexec = mkdir -p /storage/videos
|
root preexec = mkdir -p /storage/videos
|
||||||
|
|
||||||
[Music]
|
[Music]
|
||||||
path = /storage/music
|
path = /storage/music
|
||||||
available = yes
|
available = yes
|
||||||
browsable = yes
|
browseable = yes
|
||||||
public = yes
|
public = yes
|
||||||
writable = yes
|
writeable = yes
|
||||||
root preexec = mkdir -p /storage/music
|
root preexec = mkdir -p /storage/music
|
||||||
|
|
||||||
[TV Shows]
|
[TV Shows]
|
||||||
path = /storage/tvshows
|
path = /storage/tvshows
|
||||||
available = yes
|
available = yes
|
||||||
browsable = yes
|
browseable = yes
|
||||||
public = yes
|
public = yes
|
||||||
writable = yes
|
writeable = yes
|
||||||
root preexec = mkdir -p /storage/tvshows
|
root preexec = mkdir -p /storage/tvshows
|
||||||
|
|
||||||
[Recordings]
|
[Recordings]
|
||||||
path = /storage/recordings
|
path = /storage/recordings
|
||||||
available = yes
|
available = yes
|
||||||
browsable = yes
|
browseable = yes
|
||||||
public = yes
|
public = yes
|
||||||
writable = yes
|
writeable = yes
|
||||||
root preexec = mkdir -p /storage/recordings
|
root preexec = mkdir -p /storage/recordings
|
||||||
|
|
||||||
[Downloads]
|
[Downloads]
|
||||||
path = /storage/downloads
|
path = /storage/downloads
|
||||||
available = yes
|
available = yes
|
||||||
browsable = yes
|
browseable = yes
|
||||||
public = yes
|
public = yes
|
||||||
writable = yes
|
writeable = yes
|
||||||
root preexec = mkdir -p /storage/downloads
|
root preexec = mkdir -p /storage/downloads
|
||||||
|
|
||||||
[Pictures]
|
[Pictures]
|
||||||
path = /storage/pictures
|
path = /storage/pictures
|
||||||
available = yes
|
available = yes
|
||||||
browsable = yes
|
browseable = yes
|
||||||
public = yes
|
public = yes
|
||||||
writable = yes
|
writeable = yes
|
||||||
root preexec = mkdir -p /storage/pictures
|
root preexec = mkdir -p /storage/pictures
|
||||||
|
|
||||||
[Emulators]
|
[Emulators]
|
||||||
path = /storage/emulators
|
path = /storage/emulators
|
||||||
available = yes
|
available = yes
|
||||||
browsable = yes
|
browseable = yes
|
||||||
public = yes
|
public = yes
|
||||||
writable = yes
|
writeable = yes
|
||||||
root preexec = mkdir -p /storage/emulators
|
root preexec = mkdir -p /storage/emulators
|
||||||
|
|
||||||
[Configfiles]
|
[Configfiles]
|
||||||
path = /storage/.config
|
path = /storage/.config
|
||||||
available = yes
|
available = yes
|
||||||
browsable = yes
|
browseable = yes
|
||||||
public = yes
|
public = yes
|
||||||
writable = yes
|
writeable = yes
|
||||||
root preexec = mkdir -p /storage/.config
|
root preexec = mkdir -p /storage/.config
|
||||||
|
|
||||||
[Userdata]
|
[Userdata]
|
||||||
path = /storage/.kodi/userdata
|
path = /storage/.kodi/userdata
|
||||||
available = yes
|
available = yes
|
||||||
browsable = yes
|
browseable = yes
|
||||||
public = yes
|
public = yes
|
||||||
writable = yes
|
writeable = yes
|
||||||
root preexec = mkdir -p /storage/.kodi/userdata
|
root preexec = mkdir -p /storage/.kodi/userdata
|
||||||
|
|
||||||
[Screenshots]
|
[Screenshots]
|
||||||
path = /storage/screenshots
|
path = /storage/screenshots
|
||||||
available = yes
|
available = yes
|
||||||
browsable = yes
|
browseable = yes
|
||||||
public = yes
|
public = yes
|
||||||
writable = yes
|
writeable = yes
|
||||||
root preexec = mkdir -p /storage/screenshots
|
root preexec = mkdir -p /storage/screenshots
|
||||||
|
|
||||||
[Logfiles]
|
[Logfiles]
|
||||||
path = /storage/logfiles
|
path = /storage/logfiles
|
||||||
available = yes
|
available = yes
|
||||||
browsable = yes
|
browseable = yes
|
||||||
public = yes
|
public = yes
|
||||||
writable = yes
|
writeable = yes
|
||||||
root preexec = mkdir -p /storage/logfiles
|
root preexec = mkdir -p /storage/logfiles
|
||||||
root preexec = createlog
|
root preexec = createlog
|
||||||
|
|
||||||
[Backup]
|
[Backup]
|
||||||
path = /storage/backup
|
path = /storage/backup
|
||||||
available = yes
|
available = yes
|
||||||
browsable = yes
|
browseable = yes
|
||||||
public = yes
|
public = yes
|
||||||
writable = yes
|
writeable = yes
|
||||||
root preexec = mkdir -p /storage/backup
|
root preexec = mkdir -p /storage/backup
|
||||||
|
|
||||||
[Picons]
|
[Picons]
|
||||||
path = /storage/picons
|
path = /storage/picons
|
||||||
available = yes
|
available = yes
|
||||||
browsable = yes
|
browseable = yes
|
||||||
public = yes
|
public = yes
|
||||||
writable = yes
|
writeable = yes
|
||||||
root preexec = mkdir -p /storage/picons/tvh /storage/picons/vdr
|
root preexec = mkdir -p /storage/picons/tvh /storage/picons/vdr
|
||||||
|
@ -30,12 +30,15 @@ SAMBA_MAXPROTOCOL=SMB3
|
|||||||
|
|
||||||
. /storage/.cache/services/samba.conf
|
. /storage/.cache/services/samba.conf
|
||||||
|
|
||||||
|
# fixup synonyms
|
||||||
|
sed -i 's/browsable/browseable/g; s/writable/writeable/g' $SMB_CONF
|
||||||
|
|
||||||
# handle external drives
|
# handle external drives
|
||||||
if [ "$SAMBA_AUTOSHARE" == "true" ] ; then
|
if [ "$SAMBA_AUTOSHARE" == "true" ] ; then
|
||||||
for dir in /media/* ; do
|
for dir in /media/* ; do
|
||||||
if [ -d "$dir" ] ; then
|
if [ -d "$dir" ] ; then
|
||||||
name=$(basename "$dir")
|
name=$(basename "$dir")
|
||||||
echo -e "[$name]\n path = $dir\n available = yes\n browsable = yes\n public = yes\n writable = yes\n" >> $SMB_CONF
|
echo -e "[$name]\n path = $dir\n available = yes\n browseable = yes\n public = yes\n writeable = yes\n" >> $SMB_CONF
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
@ -1,26 +1,25 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# This file is part of OpenELEC - http://www.openelec.tv
|
# This file is part of LibreELEC - https://libreelec.tv
|
||||||
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
|
# Copyright (C) 2017-present Team LibreELEC
|
||||||
#
|
#
|
||||||
# OpenELEC is free software: you can redistribute it and/or modify
|
# LibreELEC is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
# the Free Software Foundation, either version 2 of the License, or
|
# the Free Software Foundation, either version 2 of the License, or
|
||||||
# (at your option) any later version.
|
# (at your option) any later version.
|
||||||
#
|
#
|
||||||
# OpenELEC is distributed in the hope that it will be useful,
|
# LibreELEC is distributed in the hope that it will be useful,
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
#
|
if [ -n "${PASTEUSR}" -a "${PASTEPWD}" ]; then
|
||||||
# wrapper for curl, posting to the sprunge.us pastebin
|
cat "$@" | curl -F 'f:1=<-' ${PASTEUSR}:${PASTEPWD}@ix.io
|
||||||
# reads from stdin if called without an argument
|
else
|
||||||
#
|
cat "$@" | curl -F 'f:1=<-' http://ix.io
|
||||||
|
fi
|
||||||
cat "$@" | curl -F 'sprunge=<-' http://sprunge.us
|
|
||||||
|
@ -85,4 +85,4 @@
|
|||||||
# for a list of additinoal drivers see packages/linux-drivers
|
# for a list of additinoal drivers see packages/linux-drivers
|
||||||
# Space separated list is supported,
|
# Space separated list is supported,
|
||||||
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
|
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
|
||||||
ADDITIONAL_DRIVERS="$ADDITIONAL_DRIVERS bcm_sta media_build"
|
ADDITIONAL_DRIVERS="$ADDITIONAL_DRIVERS bcm_sta media_build intel_nuc_led"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user