diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 7eba1e703c..b4fbc68d5b 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -296,7 +296,6 @@ makeinstall_init() { post_install() { mkdir -p $INSTALL/$(get_full_firmware_dir)/ - ln -sf /storage/.config/firmware/ $INSTALL/$(get_full_firmware_dir)/updates # 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/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"