diff --git a/packages/linux/package.mk b/packages/linux/package.mk index b17be702c2..b4fbc68d5b 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -296,10 +296,6 @@ makeinstall_init() { post_install() { mkdir -p $INSTALL/$(get_full_firmware_dir)/ - ln -sf /storage/.config/firmware/ $INSTALL/$(get_full_firmware_dir)/updates - - # bluez looks in /etc/firmware/ - ln -sf /$(get_full_firmware_dir)/ $INSTALL/etc/firmware # regdb and signature is now loaded as firmware by 4.15+ if grep -q ^CONFIG_CFG80211_REQUIRE_SIGNED_REGDB= $PKG_BUILD/.config; then diff --git a/packages/network/bluez/package.mk b/packages/network/bluez/package.mk index 5f21f5d8dc..a208a1d3f3 100644 --- a/packages/network/bluez/package.mk +++ b/packages/network/bluez/package.mk @@ -59,6 +59,9 @@ post_makeinstall_target() { mkdir -p $INSTALL/usr/share/services cp -P $PKG_DIR/default.d/*.conf $INSTALL/usr/share/services + + # bluez looks in /etc/firmware/ + ln -sf /usr/lib/firmware $INSTALL/etc/firmware } post_install() { diff --git a/packages/sysutils/systemd/scripts/kernel-overlays-setup b/packages/sysutils/systemd/scripts/kernel-overlays-setup index f9d1b27353..8b27956967 100755 --- a/packages/sysutils/systemd/scripts/kernel-overlays-setup +++ b/packages/sysutils/systemd/scripts/kernel-overlays-setup @@ -8,6 +8,7 @@ OVERLAY_CONFIG_DIR=/storage/.cache/kernel-overlays KVER=$(uname -r) MODULES_DIR="/var/lib/modules/${KVER}" FIRMWARE_DIR="/var/lib/firmware" +USER_FIRMWARE_DIR="/storage/.config/firmware" mkdir -p "${MODULES_DIR}" mkdir -p "${FIRMWARE_DIR}" @@ -73,4 +74,12 @@ if [ -d "${OVERLAY_CONFIG_DIR}" ] ; then fi fi +if [ -d "${USER_FIRMWARE_DIR}" -a -n "$(ls ${USER_FIRMWARE_DIR})" ] ; then + if cp -rfs "${USER_FIRMWARE_DIR}"/* "${FIRMWARE_DIR}" ; then + log "added firmware from ${USER_FIRMWARE_DIR}" + else + log "failed to add firmware from ${USER_FIRMWARE_DIR}" + fi +fi + log "done"