mirror of
https://github.com/RROrg/rr.git
synced 2025-12-10 05:59:47 +08:00
更新菜单和ramdisk补丁脚本,优化模块重写和依赖关系处理
This commit is contained in:
parent
e748c366f2
commit
2b0985d276
@ -456,6 +456,7 @@ function reconfiguringV() {
|
|||||||
deleteConfigKey "addons.\"${ADDON}\"" "${USER_CONFIG_FILE}"
|
deleteConfigKey "addons.\"${ADDON}\"" "${USER_CONFIG_FILE}"
|
||||||
fi
|
fi
|
||||||
done <<<"$(readConfigMap "addons" "${USER_CONFIG_FILE}")"
|
done <<<"$(readConfigMap "addons" "${USER_CONFIG_FILE}")"
|
||||||
|
|
||||||
# Rewrite modules
|
# Rewrite modules
|
||||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||||
mergeConfigModules "$(getAllModules "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}" | awk '{print $1}')" "${USER_CONFIG_FILE}"
|
mergeConfigModules "$(getAllModules "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}" | awk '{print $1}')" "${USER_CONFIG_FILE}"
|
||||||
|
|||||||
@ -100,6 +100,7 @@ while IFS=': ' read -r KEY VALUE; do
|
|||||||
done <<<"$(readConfigMap "synoinfo" "${USER_CONFIG_FILE}")"
|
done <<<"$(readConfigMap "synoinfo" "${USER_CONFIG_FILE}")"
|
||||||
|
|
||||||
# Patches (diff -Naru OLDFILE NEWFILE > xxx.patch)
|
# Patches (diff -Naru OLDFILE NEWFILE > xxx.patch)
|
||||||
|
echo -n "."
|
||||||
PATCHS=(
|
PATCHS=(
|
||||||
"ramdisk-etc-rc-*.patch"
|
"ramdisk-etc-rc-*.patch"
|
||||||
"ramdisk-init-script-*.patch"
|
"ramdisk-init-script-*.patch"
|
||||||
@ -119,11 +120,26 @@ for PE in "${PATCHS[@]}"; do
|
|||||||
done
|
done
|
||||||
[ ${RET} -ne 0 ] && exit 1
|
[ ${RET} -ne 0 ] && exit 1
|
||||||
done
|
done
|
||||||
|
# for DSM 7.3
|
||||||
|
sed -i 's#/usr/syno/sbin/broadcom_update.sh#/usr/syno/sbin/broadcom_update.sh.rr#g' "${RAMDISK_PATH}/linuxrc.syno.impl"
|
||||||
|
# LKM
|
||||||
|
gzip -dc "${LKMS_PATH}/rp-${PLATFORM}-${KPRE:+${KPRE}-}${KVER}-${LKM}.ko.gz" >"${RAMDISK_PATH}/usr/lib/modules/rp.ko" 2>"${LOG_FILE}" || exit 1
|
||||||
|
if [ "$(echo "${KVER:-4}" | cut -d'.' -f1)" -lt 5 ]; then
|
||||||
|
# Copying fake modprobe
|
||||||
|
cp -f "${WORK_PATH}/patch/iosched-trampoline.sh" "${RAMDISK_PATH}/usr/sbin/modprobe"
|
||||||
|
else
|
||||||
|
# for issues/313
|
||||||
|
sed -i 's#/dev/console#/var/log/lrc#g' "${RAMDISK_PATH}/usr/bin/busybox"
|
||||||
|
sed -i '/^echo "START/a \\nmknod -m 0666 /dev/console c 1 3' "${RAMDISK_PATH}/linuxrc.syno"
|
||||||
|
fi
|
||||||
|
|
||||||
mkdir -p "${RAMDISK_PATH}/addons"
|
if [ "${PLATFORM}" = "broadwellntbap" ]; then
|
||||||
|
sed -i 's/IsUCOrXA="yes"/XIsUCOrXA="yes"/g; s/IsUCOrXA=yes/XIsUCOrXA=yes/g' "${RAMDISK_PATH}/usr/syno/share/environments.sh"
|
||||||
|
fi
|
||||||
|
|
||||||
# Addons
|
# Addons
|
||||||
echo -n "."
|
echo -n "."
|
||||||
|
mkdir -p "${RAMDISK_PATH}/addons"
|
||||||
echo "Create addons.sh" >"${LOG_FILE}"
|
echo "Create addons.sh" >"${LOG_FILE}"
|
||||||
{
|
{
|
||||||
echo "#!/bin/sh"
|
echo "#!/bin/sh"
|
||||||
@ -159,14 +175,17 @@ for ADDON in "${!ADDONS[@]}"; do
|
|||||||
echo "/addons/${ADDON}.sh \${1} ${PARAMS}" >>"${RAMDISK_PATH}/addons/addons.sh" 2>>"${LOG_FILE}" || exit 1
|
echo "/addons/${ADDON}.sh \${1} ${PARAMS}" >>"${RAMDISK_PATH}/addons/addons.sh" 2>>"${LOG_FILE}" || exit 1
|
||||||
done
|
done
|
||||||
|
|
||||||
# Extract ck modules to ramdisk
|
# Modules
|
||||||
echo -n "."
|
echo -n "."
|
||||||
installModules "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}" "${!MODULES[@]}" || exit 1
|
installModules "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}" "${!MODULES[@]}" || exit 1
|
||||||
|
# Build modules dependencies
|
||||||
# Copying fake modprobe
|
# ${WORK_PATH}/depmod -a -b ${RAMDISK_PATH} 2>/dev/null # addon eudev will do this
|
||||||
[ "$(echo "${KVER:-4}" | cut -d'.' -f1)" -lt 5 ] && cp -f "${WORK_PATH}/patch/iosched-trampoline.sh" "${RAMDISK_PATH}/usr/sbin/modprobe"
|
# Copying modulelist
|
||||||
# Copying LKM to /usr/lib/modules
|
if [ -f "${USER_UP_PATH}/modulelist" ]; then
|
||||||
gzip -dc "${LKMS_PATH}/rp-${PLATFORM}-${KPRE:+${KPRE}-}${KVER}-${LKM}.ko.gz" >"${RAMDISK_PATH}/usr/lib/modules/rp.ko" 2>"${LOG_FILE}" || exit 1
|
cp -f "${USER_UP_PATH}/modulelist" "${RAMDISK_PATH}/addons/modulelist"
|
||||||
|
else
|
||||||
|
cp -f "${WORK_PATH}/patch/modulelist" "${RAMDISK_PATH}/addons/modulelist"
|
||||||
|
fi
|
||||||
|
|
||||||
# Patch synoinfo.conf
|
# Patch synoinfo.conf
|
||||||
echo -n "."
|
echo -n "."
|
||||||
@ -189,17 +208,7 @@ fi
|
|||||||
echo -n "."
|
echo -n "."
|
||||||
echo "Modify files" >"${LOG_FILE}"
|
echo "Modify files" >"${LOG_FILE}"
|
||||||
# Remove function from scripts
|
# Remove function from scripts
|
||||||
[ "2" = "${BUILDNUM:0:1}" ] && find "${RAMDISK_PATH}/addons/" -type f -name "*.sh" -exec sed -i 's/function //g' {} \;
|
[ "${BUILDNUM}" -le 25556 ] && find "${RAMDISK_PATH}/addons/" -type f -name "*.sh" -exec sed -i 's/function //g' {} \;
|
||||||
|
|
||||||
# Build modules dependencies
|
|
||||||
# ${WORK_PATH}/depmod -a -b ${RAMDISK_PATH} 2>/dev/null # addon eudev will do this
|
|
||||||
|
|
||||||
# Copying modulelist
|
|
||||||
if [ -f "${USER_UP_PATH}/modulelist" ]; then
|
|
||||||
cp -f "${USER_UP_PATH}/modulelist" "${RAMDISK_PATH}/addons/modulelist"
|
|
||||||
else
|
|
||||||
cp -f "${WORK_PATH}/patch/modulelist" "${RAMDISK_PATH}/addons/modulelist"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# backup current loader configs
|
# backup current loader configs
|
||||||
mkdir -p "${RAMDISK_PATH}/usr/rr"
|
mkdir -p "${RAMDISK_PATH}/usr/rr"
|
||||||
@ -232,18 +241,6 @@ for N in $(seq 0 7); do
|
|||||||
echo -e "DEVICE=eth${N}\nBOOTPROTO=dhcp\nONBOOT=yes\nIPV6INIT=auto_dhcp\nIPV6_ACCEPT_RA=1" >"${RAMDISK_PATH}/etc/sysconfig/network-scripts/ifcfg-eth${N}"
|
echo -e "DEVICE=eth${N}\nBOOTPROTO=dhcp\nONBOOT=yes\nIPV6INIT=auto_dhcp\nIPV6_ACCEPT_RA=1" >"${RAMDISK_PATH}/etc/sysconfig/network-scripts/ifcfg-eth${N}"
|
||||||
done
|
done
|
||||||
|
|
||||||
# issues/313
|
|
||||||
if [ "$(echo "${KVER:-4}" | cut -d'.' -f1)" -lt 5 ]; then
|
|
||||||
:
|
|
||||||
else
|
|
||||||
sed -i 's#/dev/console#/var/log/lrc#g' "${RAMDISK_PATH}/usr/bin/busybox"
|
|
||||||
sed -i '/^echo "START/a \\nmknod -m 0666 /dev/console c 1 3' "${RAMDISK_PATH}/linuxrc.syno"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "${PLATFORM}" = "broadwellntbap" ]; then
|
|
||||||
sed -i 's/IsUCOrXA="yes"/XIsUCOrXA="yes"/g; s/IsUCOrXA=yes/XIsUCOrXA=yes/g' "${RAMDISK_PATH}/usr/syno/share/environments.sh"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Call user patch scripts
|
# Call user patch scripts
|
||||||
echo -n "."
|
echo -n "."
|
||||||
for F in ${SCRIPTS_PATH}/*.sh; do
|
for F in ${SCRIPTS_PATH}/*.sh; do
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user