mirror of
https://github.com/RROrg/rr.git
synced 2025-12-08 21:19:43 +08:00
优化模块处理逻辑,支持从不同目录加载和安装模块
This commit is contained in:
parent
c59f446006
commit
e748c366f2
@ -61,15 +61,16 @@ function getAllModules() {
|
|||||||
UNPATH="${TMP_PATH}/modules"
|
UNPATH="${TMP_PATH}/modules"
|
||||||
unpackModules "${PLATFORM}" "${PKVER}" "${UNPATH}"
|
unpackModules "${PLATFORM}" "${PKVER}" "${UNPATH}"
|
||||||
|
|
||||||
for F in ${UNPATH}/*.ko; do
|
for D in "" "update"; do
|
||||||
[ ! -e "${F}" ] && continue
|
for F in ${UNPATH}/${D:+${D}/}*.ko; do
|
||||||
local N DESC
|
[ ! -e "${F}" ] && continue
|
||||||
N="$(basename "${F}" .ko)"
|
local N DESC
|
||||||
DESC="$(modinfo -F description "${F}" 2>/dev/null)"
|
N="$(basename "${F}" .ko)"
|
||||||
DESC="$(echo "${DESC}" | tr -d '\n\r\t\\' | sed "s/\"/'/g")"
|
DESC="$(modinfo -F description "${F}" 2>/dev/null)"
|
||||||
echo "${N} \"${DESC:-${N}}\""
|
DESC="$(echo "${DESC}" | tr -d '\n\r\t\\' | sed "s/\"/'/g")"
|
||||||
|
echo "${D:+${D}/}${N} \"${DESC:-${D:+${D}/}${N}}\""
|
||||||
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
rm -rf "${UNPATH}"
|
rm -rf "${UNPATH}"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -122,15 +123,18 @@ function installModules() {
|
|||||||
unpackModules "${PLATFORM}" "${PKVER}" "${UNPATH}"
|
unpackModules "${PLATFORM}" "${PKVER}" "${UNPATH}"
|
||||||
|
|
||||||
ODP="$(readConfigKey "odp" "${USER_CONFIG_FILE}")"
|
ODP="$(readConfigKey "odp" "${USER_CONFIG_FILE}")"
|
||||||
for F in ${UNPATH}/*.ko; do
|
for D in "" "update"; do
|
||||||
[ ! -e "${F}" ] && continue
|
for F in ${UNPATH}/${D:+${D}/}*.ko; do
|
||||||
M=$(basename "${F}")
|
[ ! -e "${F}" ] && continue
|
||||||
[ "${ODP}" = "true" ] && [ -f "${RAMDISK_PATH}/usr/lib/modules/${M}" ] && continue
|
M=$(basename "${F}")
|
||||||
if echo "${MLIST}" | grep -wq "$(basename "${M}" .ko)"; then
|
[ "${ODP}" = "true" ] && [ -f "${RAMDISK_PATH}/usr/lib/modules/${D:+${D}/}${M}" ] && continue # TODO: check if module is already loaded
|
||||||
cp -f "${F}" "${RAMDISK_PATH}/usr/lib/modules/${M}" 2>"${LOG_FILE}"
|
if echo "${MLIST}" | grep -wq "${D:+${D}/}$(basename "${M}" .ko)"; then
|
||||||
else
|
mkdir -p "${RAMDISK_PATH}/usr/lib/modules/${D:+${D}/}"
|
||||||
rm -f "${RAMDISK_PATH}/usr/lib/modules/${M}" 2>"${LOG_FILE}"
|
cp -f "${F}" "${RAMDISK_PATH}/usr/lib/modules/${D:+${D}/}${M}" 2>"${LOG_FILE}"
|
||||||
fi
|
else
|
||||||
|
rm -f "${RAMDISK_PATH}/usr/lib/modules/${D:+${D}/}${M}" 2>"${LOG_FILE}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
done
|
done
|
||||||
rm -rf "${UNPATH}"
|
rm -rf "${UNPATH}"
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user