mirror of
https://github.com/RROrg/rr.git
synced 2025-06-21 05:51:05 +08:00
add cks
This commit is contained in:
parent
0bdd33b41c
commit
f8dfce09c7
@ -40,16 +40,13 @@ fi
|
|||||||
|
|
||||||
# Check if DSM ramdisk changed, patch it if necessary
|
# Check if DSM ramdisk changed, patch it if necessary
|
||||||
RAMDISK_HASH="$(readConfigKey "ramdisk-hash" "${USER_CONFIG_FILE}")"
|
RAMDISK_HASH="$(readConfigKey "ramdisk-hash" "${USER_CONFIG_FILE}")"
|
||||||
RAMDISK_HASH_CUR="$(sha256sum "${ORI_RDGZ_FILE}" | awk '{print $1}')"
|
if [ -f ${PART1_PATH}/.build -o "$(sha256sum "${ORI_RDGZ_FILE}" | awk '{print $1}')" != "${RAMDISK_HASH}" ]; then
|
||||||
if [ -f ${PART1_PATH}/.build -o "${RAMDISK_HASH_CUR}" != "${RAMDISK_HASH}" ]; then
|
|
||||||
echo -e "\033[1;43m$(TEXT "DSM Ramdisk changed")\033[0m"
|
echo -e "\033[1;43m$(TEXT "DSM Ramdisk changed")\033[0m"
|
||||||
${WORK_PATH}/ramdisk-patch.sh
|
${WORK_PATH}/ramdisk-patch.sh
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo -e "\033[1;43m$(TEXT "Ramdisk not patched,\nPlease upgrade the bootloader version and try again.\nPatch error:\n")$(<"${LOG_FILE}")\033[0m"
|
echo -e "\033[1;43m$(TEXT "Ramdisk not patched,\nPlease upgrade the bootloader version and try again.\nPatch error:\n")$(<"${LOG_FILE}")\033[0m"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
# Update SHA256 hash
|
|
||||||
writeConfigKey "ramdisk-hash" "${RAMDISK_HASH_CUR}" "${USER_CONFIG_FILE}"
|
|
||||||
fi
|
fi
|
||||||
[ -f ${PART1_PATH}/.build ] && rm -f ${PART1_PATH}/.build
|
[ -f ${PART1_PATH}/.build ] && rm -f ${PART1_PATH}/.build
|
||||||
|
|
||||||
@ -58,18 +55,20 @@ MODEL="$(readConfigKey "model" "${USER_CONFIG_FILE}")"
|
|||||||
PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")"
|
PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")"
|
||||||
BUILDNUM="$(readConfigKey "buildnum" "${USER_CONFIG_FILE}")"
|
BUILDNUM="$(readConfigKey "buildnum" "${USER_CONFIG_FILE}")"
|
||||||
SMALLNUM="$(readConfigKey "smallnum" "${USER_CONFIG_FILE}")"
|
SMALLNUM="$(readConfigKey "smallnum" "${USER_CONFIG_FILE}")"
|
||||||
|
KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||||
LKM="$(readConfigKey "lkm" "${USER_CONFIG_FILE}")"
|
LKM="$(readConfigKey "lkm" "${USER_CONFIG_FILE}")"
|
||||||
|
|
||||||
DMI="$(dmesg | grep -i "DMI:" | sed 's/\[.*\] DMI: //i')"
|
DMI="$(dmesg | grep -i "DMI:" | sed 's/\[.*\] DMI: //i')"
|
||||||
CPU="$(echo $(cat /proc/cpuinfo | grep 'model name' | uniq | awk -F':' '{print $2}'))"
|
CPU="$(echo $(cat /proc/cpuinfo | grep 'model name' | uniq | awk -F':' '{print $2}'))"
|
||||||
MEM="$(free -m | grep -i mem | awk '{print$2}') MB"
|
MEM="$(free -m | grep -i mem | awk '{print$2}') MB"
|
||||||
|
|
||||||
echo -e "$(TEXT "Model:") \033[1;36m${MODEL}\033[0m"
|
echo -e "$(TEXT "Model: ") \033[1;36m${MODEL}\033[0m"
|
||||||
echo -e "$(TEXT "Build:") \033[1;36m${PRODUCTVER}(${BUILDNUM}$([ ${SMALLNUM:-0} -ne 0 ] && echo "u${SMALLNUM}"))\033[0m"
|
echo -e "$(TEXT "Version: ") \033[1;36m${PRODUCTVER}(${BUILDNUM}$([ ${SMALLNUM:-0} -ne 0 ] && echo "u${SMALLNUM}"))\033[0m"
|
||||||
echo -e "$(TEXT "LKM: ") \033[1;36m${LKM}\033[0m"
|
echo -e "$(TEXT "Kernel: ") \033[1;36m${KERNEL}\033[0m"
|
||||||
echo -e "$(TEXT "DMI: ") \033[1;36m${DMI}\033[0m"
|
echo -e "$(TEXT "LKM: ") \033[1;36m${LKM}\033[0m"
|
||||||
echo -e "$(TEXT "CPU: ") \033[1;36m${CPU}\033[0m"
|
echo -e "$(TEXT "DMI: ") \033[1;36m${DMI}\033[0m"
|
||||||
echo -e "$(TEXT "MEM: ") \033[1;36m${MEM}\033[0m"
|
echo -e "$(TEXT "CPU: ") \033[1;36m${CPU}\033[0m"
|
||||||
|
echo -e "$(TEXT "MEM: ") \033[1;36m${MEM}\033[0m"
|
||||||
|
|
||||||
if [ ! -f "${WORK_PATH}/model-configs/${MODEL}.yml" ] || [ -z "$(readModelKey ${MODEL} "productvers.[${PRODUCTVER}]")" ]; then
|
if [ ! -f "${WORK_PATH}/model-configs/${MODEL}.yml" ] || [ -z "$(readModelKey ${MODEL} "productvers.[${PRODUCTVER}]")" ]; then
|
||||||
echo -e "\033[1;33m*** $(printf "$(TEXT "The current version of bootloader does not support booting %s-%s, please upgrade and rebuild.")" "${MODEL}" "${PRODUCTVER}") ***\033[0m"
|
echo -e "\033[1;33m*** $(printf "$(TEXT "The current version of bootloader does not support booting %s-%s, please upgrade and rebuild.")" "${MODEL}" "${PRODUCTVER}") ***\033[0m"
|
||||||
|
@ -45,21 +45,24 @@ function checkAddonExist() {
|
|||||||
###############################################################################
|
###############################################################################
|
||||||
# Install Addon into ramdisk image
|
# Install Addon into ramdisk image
|
||||||
# 1 - Addon id
|
# 1 - Addon id
|
||||||
|
# 2 - Platform
|
||||||
|
# 3 - Kernel Version
|
||||||
|
# Return ERROR if not installed
|
||||||
function installAddon() {
|
function installAddon() {
|
||||||
if [ -z "${1}" ]; then
|
if [ -z "${1}" ]; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
ADDON="${1}"
|
local ADDON="${1}"
|
||||||
mkdir -p "${TMP_PATH}/${ADDON}"
|
mkdir -p "${TMP_PATH}/${ADDON}"
|
||||||
HAS_FILES=0
|
local HAS_FILES=0
|
||||||
# First check generic files
|
# First check generic files
|
||||||
if [ -f "${ADDONS_PATH}/${ADDON}/all.tgz" ]; then
|
if [ -f "${ADDONS_PATH}/${ADDON}/all.tgz" ]; then
|
||||||
tar -zxf "${ADDONS_PATH}/${ADDON}/all.tgz" -C "${TMP_PATH}/${ADDON}"
|
tar -zxf "${ADDONS_PATH}/${ADDON}/all.tgz" -C "${TMP_PATH}/${ADDON}"
|
||||||
HAS_FILES=1
|
HAS_FILES=1
|
||||||
fi
|
fi
|
||||||
# Now check specific platform files
|
# Now check specific platform files
|
||||||
if [ -f "${ADDONS_PATH}/${ADDON}/${PLATFORM}-${KVER}.tgz" ]; then
|
if [ -f "${ADDONS_PATH}/${ADDON}/${2}-${3}.tgz" ]; then
|
||||||
tar -zxf "${ADDONS_PATH}/${ADDON}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/${ADDON}"
|
tar -zxf "${ADDONS_PATH}/${ADDON}/${2}-${3}.tgz" -C "${TMP_PATH}/${ADDON}"
|
||||||
HAS_FILES=1
|
HAS_FILES=1
|
||||||
fi
|
fi
|
||||||
# If has files to copy, copy it, else return error
|
# If has files to copy, copy it, else return error
|
||||||
@ -83,7 +86,7 @@ function untarAddon() {
|
|||||||
rm -rf "${TMP_PATH}/addon"
|
rm -rf "${TMP_PATH}/addon"
|
||||||
mkdir -p "${TMP_PATH}/addon"
|
mkdir -p "${TMP_PATH}/addon"
|
||||||
tar -xaf "${1}" -C "${TMP_PATH}/addon" || return
|
tar -xaf "${1}" -C "${TMP_PATH}/addon" || return
|
||||||
ADDON=$(readConfigKey "name" "${TMP_PATH}/addon/manifest.yml")
|
local ADDON=$(readConfigKey "name" "${TMP_PATH}/addon/manifest.yml")
|
||||||
[ -z "${ADDON}" ] && return
|
[ -z "${ADDON}" ] && return
|
||||||
rm -rf "${ADDONS_PATH}/${ADDON}"
|
rm -rf "${ADDONS_PATH}/${ADDON}"
|
||||||
mv -f "${TMP_PATH}/addon" "${ADDONS_PATH}/${ADDON}"
|
mv -f "${TMP_PATH}/addon" "${ADDONS_PATH}/${ADDON}"
|
||||||
@ -94,7 +97,7 @@ function untarAddon() {
|
|||||||
# Detect if has new local plugins to install/reinstall
|
# Detect if has new local plugins to install/reinstall
|
||||||
function updateAddons() {
|
function updateAddons() {
|
||||||
for F in $(ls ${PART3_PATH}/*.addon 2>/dev/null); do
|
for F in $(ls ${PART3_PATH}/*.addon 2>/dev/null); do
|
||||||
ADDON=$(basename "${F}" | sed 's|.addon||')
|
local ADDON=$(basename "${F}" | sed 's|.addon||')
|
||||||
rm -rf "${ADDONS_PATH}/${ADDON}"
|
rm -rf "${ADDONS_PATH}/${ADDON}"
|
||||||
mkdir -p "${ADDONS_PATH}/${ADDON}"
|
mkdir -p "${ADDONS_PATH}/${ADDON}"
|
||||||
echo "Installing ${F} to ${ADDONS_PATH}/${ADDON}"
|
echo "Installing ${F} to ${ADDONS_PATH}/${ADDON}"
|
||||||
|
@ -24,7 +24,8 @@ RR_RAMDISK_FILE="${PART3_PATH}/initrd-rr"
|
|||||||
MOD_ZIMAGE_FILE="${PART3_PATH}/zImage-dsm"
|
MOD_ZIMAGE_FILE="${PART3_PATH}/zImage-dsm"
|
||||||
MOD_RDGZ_FILE="${PART3_PATH}/initrd-dsm"
|
MOD_RDGZ_FILE="${PART3_PATH}/initrd-dsm"
|
||||||
|
|
||||||
LKM_PATH="${PART3_PATH}/lkms"
|
CKS_PATH="${PART3_PATH}/cks"
|
||||||
|
LKMS_PATH="${PART3_PATH}/lkms"
|
||||||
ADDONS_PATH="${PART3_PATH}/addons"
|
ADDONS_PATH="${PART3_PATH}/addons"
|
||||||
MODULES_PATH="${PART3_PATH}/modules"
|
MODULES_PATH="${PART3_PATH}/modules"
|
||||||
USER_UP_PATH="${PART3_PATH}/users"
|
USER_UP_PATH="${PART3_PATH}/users"
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
# 1 - Platform
|
# 1 - Platform
|
||||||
# 2 - Kernel Version
|
# 2 - Kernel Version
|
||||||
function getAllModules() {
|
function getAllModules() {
|
||||||
PLATFORM=${1}
|
local PLATFORM=${1}
|
||||||
KVER=${2}
|
local KVER=${2}
|
||||||
|
|
||||||
if [ -z "${PLATFORM}" -o -z "${KVER}" ]; then
|
if [ -z "${PLATFORM}" -o -z "${KVER}" ]; then
|
||||||
echo ""
|
echo ""
|
||||||
@ -13,27 +13,71 @@ function getAllModules() {
|
|||||||
# Unzip modules for temporary folder
|
# Unzip modules for temporary folder
|
||||||
rm -rf "${TMP_PATH}/modules"
|
rm -rf "${TMP_PATH}/modules"
|
||||||
mkdir -p "${TMP_PATH}/modules"
|
mkdir -p "${TMP_PATH}/modules"
|
||||||
tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
local KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||||
|
if [ "${KERNEL}" = "custom" ]; then
|
||||||
|
tar -zxf "${CKS_PATH}/modules-${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||||
|
else
|
||||||
|
tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||||
|
fi
|
||||||
# Get list of all modules
|
# Get list of all modules
|
||||||
for F in $(ls ${TMP_PATH}/modules/*.ko 2>/dev/null); do
|
for F in $(ls ${TMP_PATH}/modules/*.ko 2>/dev/null); do
|
||||||
X=$(basename ${F})
|
local X=$(basename ${F})
|
||||||
M=${X:0:-3}
|
local M=${X:0:-3}
|
||||||
DESC=$(modinfo ${F} | awk -F':' '/description:/{ print $2}' | awk '{sub(/^[ ]+/,""); print}')
|
local DESC=$(modinfo ${F} | awk -F':' '/description:/{ print $2}' | awk '{sub(/^[ ]+/,""); print}')
|
||||||
[ -z "${DESC}" ] && DESC="${X}"
|
[ -z "${DESC}" ] && DESC="${X}"
|
||||||
echo "${M} \"${DESC}\""
|
echo "${M} \"${DESC}\""
|
||||||
done
|
done
|
||||||
rm -rf "${TMP_PATH}/modules"
|
rm -rf "${TMP_PATH}/modules"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Return list of all modules available
|
||||||
|
# 1 - Platform
|
||||||
|
# 2 - Kernel Version
|
||||||
|
# 3 - Module list
|
||||||
|
function installModules() {
|
||||||
|
local PLATFORM=${1}
|
||||||
|
local KVER=${2}
|
||||||
|
local MLIST=${3}
|
||||||
|
|
||||||
|
if [ -z "${PLATFORM}" -o -z "${KVER}" ]; then
|
||||||
|
echo ""
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
# Unzip modules for temporary folder
|
||||||
|
rm -rf "${TMP_PATH}/modules"
|
||||||
|
mkdir -p "${TMP_PATH}/modules"
|
||||||
|
local KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||||
|
if [ "${KERNEL}" = "custom" ]; then
|
||||||
|
tar -zxf "${CKS_PATH}/modules-${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||||
|
else
|
||||||
|
tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||||
|
fi
|
||||||
|
local ODP="$(readConfigKey "odp" "${USER_CONFIG_FILE}")"
|
||||||
|
for F in $(ls "${TMP_PATH}/modules/"*.ko 2>/dev/null); do
|
||||||
|
local M=$(basename ${F})
|
||||||
|
[ "${ODP}" = "true" -a -f "${RAMDISK_PATH}/usr/lib/modules/${M}" ] && continue
|
||||||
|
if echo "${MLIST}" | grep -wq "${M:0:-3}"; then
|
||||||
|
cp -f "${F}" "${RAMDISK_PATH}/usr/lib/modules/${M}"
|
||||||
|
else
|
||||||
|
rm -f "${RAMDISK_PATH}/usr/lib/modules/${M}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
mkdir -p "${RAMDISK_PATH}/usr/lib/firmware"
|
||||||
|
tar -zxf "${MODULES_PATH}/firmware.tgz" -C "${RAMDISK_PATH}/usr/lib/firmware"
|
||||||
|
# Clean
|
||||||
|
rm -rf "${TMP_PATH}/modules"
|
||||||
|
}
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# add a ko of modules.tgz
|
# add a ko of modules.tgz
|
||||||
# 1 - Platform
|
# 1 - Platform
|
||||||
# 2 - Kernel Version
|
# 2 - Kernel Version
|
||||||
# 3 - ko file
|
# 3 - ko file
|
||||||
function addToModules() {
|
function addToModules() {
|
||||||
PLATFORM=${1}
|
local PLATFORM=${1}
|
||||||
KVER=${2}
|
local KVER=${2}
|
||||||
KOFILE=${3}
|
local KOFILE=${3}
|
||||||
|
|
||||||
if [ -z "${PLATFORM}" -o -z "${KVER}" -o -z "${KOFILE}" ]; then
|
if [ -z "${PLATFORM}" -o -z "${KVER}" -o -z "${KOFILE}" ]; then
|
||||||
echo ""
|
echo ""
|
||||||
@ -42,9 +86,18 @@ function addToModules() {
|
|||||||
# Unzip modules for temporary folder
|
# Unzip modules for temporary folder
|
||||||
rm -rf "${TMP_PATH}/modules"
|
rm -rf "${TMP_PATH}/modules"
|
||||||
mkdir -p "${TMP_PATH}/modules"
|
mkdir -p "${TMP_PATH}/modules"
|
||||||
tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
local KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||||
|
if [ "${KERNEL}" = "custom" ]; then
|
||||||
|
tar -zxf "${CKS_PATH}/modules-${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||||
|
else
|
||||||
|
tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||||
|
fi
|
||||||
cp -f ${KOFILE} ${TMP_PATH}/modules
|
cp -f ${KOFILE} ${TMP_PATH}/modules
|
||||||
tar -zcf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules" .
|
if [ "${KERNEL}" = "custom" ]; then
|
||||||
|
tar -zcf "${CKS_PATH}/modules-${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules" .
|
||||||
|
else
|
||||||
|
tar -zcf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules" .
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@ -53,9 +106,9 @@ function addToModules() {
|
|||||||
# 2 - Kernel Version
|
# 2 - Kernel Version
|
||||||
# 3 - ko name
|
# 3 - ko name
|
||||||
function delToModules() {
|
function delToModules() {
|
||||||
PLATFORM=${1}
|
local PLATFORM=${1}
|
||||||
KVER=${2}
|
local KVER=${2}
|
||||||
KONAME=${3}
|
local KONAME=${3}
|
||||||
|
|
||||||
if [ -z "${PLATFORM}" -o -z "${KVER}" -o -z "${KONAME}" ]; then
|
if [ -z "${PLATFORM}" -o -z "${KVER}" -o -z "${KONAME}" ]; then
|
||||||
echo ""
|
echo ""
|
||||||
@ -64,9 +117,18 @@ function delToModules() {
|
|||||||
# Unzip modules for temporary folder
|
# Unzip modules for temporary folder
|
||||||
rm -rf "${TMP_PATH}/modules"
|
rm -rf "${TMP_PATH}/modules"
|
||||||
mkdir -p "${TMP_PATH}/modules"
|
mkdir -p "${TMP_PATH}/modules"
|
||||||
tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
local KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||||
|
if [ "${KERNEL}" = "custom" ]; then
|
||||||
|
tar -zxf "${CKS_PATH}/modules-${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||||
|
else
|
||||||
|
tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||||
|
fi
|
||||||
rm -f ${TMP_PATH}/modules/${KONAME}
|
rm -f ${TMP_PATH}/modules/${KONAME}
|
||||||
tar -zcf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules" .
|
if [ "${KERNEL}" = "true" ]; then
|
||||||
|
tar -zcf "${CKS_PATH}/modules-${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules" .
|
||||||
|
else
|
||||||
|
tar -zcf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules" .
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@ -86,9 +148,9 @@ function getdepends() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
PLATFORM=${1}
|
local PLATFORM=${1}
|
||||||
KVER=${2}
|
local KVER=${2}
|
||||||
KONAME=${3}
|
local KONAME=${3}
|
||||||
|
|
||||||
if [ -z "${PLATFORM}" -o -z "${KVER}" -o -z "${KONAME}" ]; then
|
if [ -z "${PLATFORM}" -o -z "${KVER}" -o -z "${KONAME}" ]; then
|
||||||
echo ""
|
echo ""
|
||||||
@ -97,8 +159,13 @@ function getdepends() {
|
|||||||
# Unzip modules for temporary folder
|
# Unzip modules for temporary folder
|
||||||
rm -rf "${TMP_PATH}/modules"
|
rm -rf "${TMP_PATH}/modules"
|
||||||
mkdir -p "${TMP_PATH}/modules"
|
mkdir -p "${TMP_PATH}/modules"
|
||||||
tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
local KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||||
DPS=($(_getdepends ${KONAME} | tr ' ' '\n' | sort -u))
|
if [ "${KERNEL}" = "custom" ]; then
|
||||||
|
tar -zxf "${CKS_PATH}/modules-${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||||
|
else
|
||||||
|
tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||||
|
fi
|
||||||
|
local DPS=($(_getdepends ${KONAME} | tr ' ' '\n' | sort -u))
|
||||||
echo ${DPS[@]}
|
echo ${DPS[@]}
|
||||||
rm -rf "${TMP_PATH}/modules"
|
rm -rf "${TMP_PATH}/modules"
|
||||||
}
|
}
|
||||||
|
@ -26,6 +26,8 @@ ETHX=$(ls /sys/class/net/ 2>/dev/null | grep -v lo) || true
|
|||||||
if [ ! -f "${USER_CONFIG_FILE}" ]; then
|
if [ ! -f "${USER_CONFIG_FILE}" ]; then
|
||||||
touch "${USER_CONFIG_FILE}"
|
touch "${USER_CONFIG_FILE}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
initConfigKey "kernel" "official" "${USER_CONFIG_FILE}"
|
||||||
initConfigKey "lkm" "prod" "${USER_CONFIG_FILE}"
|
initConfigKey "lkm" "prod" "${USER_CONFIG_FILE}"
|
||||||
initConfigKey "dsmlogo" "true" "${USER_CONFIG_FILE}"
|
initConfigKey "dsmlogo" "true" "${USER_CONFIG_FILE}"
|
||||||
initConfigKey "directboot" "false" "${USER_CONFIG_FILE}"
|
initConfigKey "directboot" "false" "${USER_CONFIG_FILE}"
|
||||||
@ -195,8 +197,9 @@ if [ ${RAM:-0} -le 3500 ]; then
|
|||||||
echo -e "\033[1;33m$(TEXT "You have less than 4GB of RAM, if errors occur in loader creation, please increase the amount of memory.")\033[0m\n"
|
echo -e "\033[1;33m$(TEXT "You have less than 4GB of RAM, if errors occur in loader creation, please increase the amount of memory.")\033[0m\n"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
mkdir -p "${CKS_PATH}"
|
||||||
|
mkdir -p "${LKMS_PATH}"
|
||||||
mkdir -p "${ADDONS_PATH}"
|
mkdir -p "${ADDONS_PATH}"
|
||||||
mkdir -p "${LKM_PATH}"
|
|
||||||
mkdir -p "${MODULES_PATH}"
|
mkdir -p "${MODULES_PATH}"
|
||||||
|
|
||||||
updateAddons
|
updateAddons
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -29,6 +29,7 @@ BUILDNUM="$(readConfigKey "buildnum" "${USER_CONFIG_FILE}")"
|
|||||||
SMALLNUM="$(readConfigKey "smallnum" "${USER_CONFIG_FILE}")"
|
SMALLNUM="$(readConfigKey "smallnum" "${USER_CONFIG_FILE}")"
|
||||||
LAYOUT="$(readConfigKey "layout" "${USER_CONFIG_FILE}")"
|
LAYOUT="$(readConfigKey "layout" "${USER_CONFIG_FILE}")"
|
||||||
KEYMAP="$(readConfigKey "keymap" "${USER_CONFIG_FILE}")"
|
KEYMAP="$(readConfigKey "keymap" "${USER_CONFIG_FILE}")"
|
||||||
|
KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||||
LKM="$(readConfigKey "lkm" "${USER_CONFIG_FILE}")"
|
LKM="$(readConfigKey "lkm" "${USER_CONFIG_FILE}")"
|
||||||
DSMLOGO="$(readConfigKey "dsmlogo" "${USER_CONFIG_FILE}")"
|
DSMLOGO="$(readConfigKey "dsmlogo" "${USER_CONFIG_FILE}")"
|
||||||
DIRECTBOOT="$(readConfigKey "directboot" "${USER_CONFIG_FILE}")"
|
DIRECTBOOT="$(readConfigKey "directboot" "${USER_CONFIG_FILE}")"
|
||||||
@ -169,7 +170,7 @@ function modelMenu() {
|
|||||||
[ "${DT}" = "true" ] && M_2="* "
|
[ "${DT}" = "true" ] && M_2="* "
|
||||||
fi
|
fi
|
||||||
if [ "${NVME}" = "2" ]; then
|
if [ "${NVME}" = "2" ]; then
|
||||||
if echo ${models[@]} | grep -q ${M}; then
|
if echo "${models[@]}" | grep -wq "${M}"; then
|
||||||
M_2="* "
|
M_2="* "
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@ -312,11 +313,11 @@ function productversMenu() {
|
|||||||
KPRE="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kpre")"
|
KPRE="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kpre")"
|
||||||
while IFS=': ' read ADDON PARAM; do
|
while IFS=': ' read ADDON PARAM; do
|
||||||
[ -z "${ADDON}" ] && continue
|
[ -z "${ADDON}" ] && continue
|
||||||
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "${KVER}"; then
|
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}"; then
|
||||||
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}")
|
||||||
# Rebuild modules
|
# Rewrite modules
|
||||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||||
while read ID DESC; do
|
while read ID DESC; do
|
||||||
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
|
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
|
||||||
@ -444,7 +445,7 @@ function ParsePat() {
|
|||||||
KPRE="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kpre")"
|
KPRE="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kpre")"
|
||||||
while IFS=': ' read ADDON PARAM; do
|
while IFS=': ' read ADDON PARAM; do
|
||||||
[ -z "${ADDON}" ] && continue
|
[ -z "${ADDON}" ] && continue
|
||||||
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "${KVER}"; then
|
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}"; then
|
||||||
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}")
|
||||||
@ -601,7 +602,7 @@ function addonMenu() {
|
|||||||
fi
|
fi
|
||||||
ADDON="$(untarAddon "${TMP_UP_PATH}/${USER_FILE}")"
|
ADDON="$(untarAddon "${TMP_UP_PATH}/${USER_FILE}")"
|
||||||
if [ -n "${ADDON}" ]; then
|
if [ -n "${ADDON}" ]; then
|
||||||
[ -f "${PART3_PATH}/addons/VERSION" ] && rm -f "${PART3_PATH}/addons/VERSION"
|
[ -f "${ADDONS_PATH}/VERSION" ] && rm -f "${ADDONS_PATH}/VERSION"
|
||||||
DIALOG --title "$(TEXT "Addons")" \
|
DIALOG --title "$(TEXT "Addons")" \
|
||||||
--msgbox "$(printf "$(TEXT "Addon '%s' added to loader, Please enable it in 'Add an addon' menu.")" "${ADDON}")" 0 0
|
--msgbox "$(printf "$(TEXT "Addon '%s' added to loader, Please enable it in 'Add an addon' menu.")" "${ADDON}")" 0 0
|
||||||
else
|
else
|
||||||
@ -734,7 +735,7 @@ function moduleMenu() {
|
|||||||
popd
|
popd
|
||||||
if [ -n "${USER_FILE}" -a "${USER_FILE##*.}" = "ko" ]; then
|
if [ -n "${USER_FILE}" -a "${USER_FILE##*.}" = "ko" ]; then
|
||||||
addToModules ${PLATFORM} "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}" "${TMP_UP_PATH}/${USER_FILE}"
|
addToModules ${PLATFORM} "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}" "${TMP_UP_PATH}/${USER_FILE}"
|
||||||
[ -f "${PART3_PATH}/modules/VERSION" ] && rm -f "${PART3_PATH}/modules/VERSION"
|
[ -f "${MODULES_PATH}/VERSION" ] && rm -f "${MODULES_PATH}/VERSION"
|
||||||
DIALOG --title "$(TEXT "Modules")" \
|
DIALOG --title "$(TEXT "Modules")" \
|
||||||
--msgbox "$(printf "$(TEXT "Module '%s' added to %s-%s")" "${USER_FILE}" "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")" 0 0
|
--msgbox "$(printf "$(TEXT "Module '%s' added to %s-%s")" "${USER_FILE}" "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")" 0 0
|
||||||
rm -f "${TMP_UP_PATH}/${USER_FILE}"
|
rm -f "${TMP_UP_PATH}/${USER_FILE}"
|
||||||
@ -2257,11 +2258,20 @@ function updateRR() {
|
|||||||
rm -Rf "${VALUE}"
|
rm -Rf "${VALUE}"
|
||||||
mkdir -p "${VALUE}"
|
mkdir -p "${VALUE}"
|
||||||
tar -zxf "${TMP_PATH}/$(basename "${KEY}").tgz" -C "${VALUE}"
|
tar -zxf "${TMP_PATH}/$(basename "${KEY}").tgz" -C "${VALUE}"
|
||||||
|
if [ "$(realpath "${VALUE}")" = "$(realpath "${MODULES_PATH}")" ]; then
|
||||||
|
if [ -n "${PLATFORM}" -a -n "${KVER}" ]; then
|
||||||
|
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||||
|
while read ID DESC; do
|
||||||
|
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
|
||||||
|
done < <(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
|
||||||
|
fi
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
mkdir -p "$(dirname "${VALUE}")"
|
mkdir -p "$(dirname "${VALUE}")"
|
||||||
mv -f "${TMP_PATH}/$(basename "${KEY}")" "${VALUE}"
|
mv -f "${TMP_PATH}/$(basename "${KEY}")" "${VALUE}"
|
||||||
fi
|
fi
|
||||||
done < <(readConfigMap "replace" "${TMP_PATH}/update-list.yml")
|
done < <(readConfigMap "replace" "${TMP_PATH}/update-list.yml")
|
||||||
|
touch ${PART1_PATH}/.build
|
||||||
DIALOG --title "${T}" \
|
DIALOG --title "${T}" \
|
||||||
--msgbox "$(printf "$(TEXT "RR updated with success to %s!\nReboot?")" "${TAG}")" 0 0
|
--msgbox "$(printf "$(TEXT "RR updated with success to %s!\nReboot?")" "${TAG}")" 0 0
|
||||||
rebootTo config
|
rebootTo config
|
||||||
@ -2301,8 +2311,11 @@ function updateExts() {
|
|||||||
done < <(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
|
done < <(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
|
||||||
fi
|
fi
|
||||||
elif [ "${1}" = "LKMs" ]; then
|
elif [ "${1}" = "LKMs" ]; then
|
||||||
rm -rf "${LKM_PATH}/"*
|
rm -rf "${LKMS_PATH}/"*
|
||||||
unzip "${TMP_PATH}/rp-lkms.zip" -d "${LKM_PATH}" >/dev/null 2>&1
|
unzip "${TMP_PATH}/rp-lkms.zip" -d "${LKMS_PATH}" >/dev/null 2>&1
|
||||||
|
elif [ "${1}" = "CKs" ]; then
|
||||||
|
rm -rf "${CKS_PATH}/"*
|
||||||
|
unzip "${TMP_PATH}/rr-cks.zip" -d "${CKS_PATH}" >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
touch ${PART1_PATH}/.build
|
touch ${PART1_PATH}/.build
|
||||||
if [ ! "${2}" = "0" ]; then
|
if [ ! "${2}" = "0" ]; then
|
||||||
@ -2318,21 +2331,23 @@ function updateExts() {
|
|||||||
function updateMenu() {
|
function updateMenu() {
|
||||||
while true; do
|
while true; do
|
||||||
CUR_RR_VER="${RR_VERSION:-0}"
|
CUR_RR_VER="${RR_VERSION:-0}"
|
||||||
CUR_ADDONS_VER="$(cat "${PART3_PATH}/addons/VERSION" 2>/dev/null)"
|
CUR_ADDONS_VER="$(cat "${ADDONS_PATH}/VERSION" 2>/dev/null)"
|
||||||
CUR_MODULES_VER="$(cat "${PART3_PATH}/modules/VERSION" 2>/dev/null)"
|
CUR_MODULES_VER="$(cat "${MODULES_PATH}/VERSION" 2>/dev/null)"
|
||||||
CUR_LKMS_VER="$(cat "${PART3_PATH}/lkms/VERSION" 2>/dev/null)"
|
CUR_LKMS_VER="$(cat "${LKMS_PATH}/VERSION" 2>/dev/null)"
|
||||||
|
CUR_CKS_VER="$(cat "${CKS_PATH}/VERSION" 2>/dev/null)"
|
||||||
rm -f "${TMP_PATH}/menu"
|
rm -f "${TMP_PATH}/menu"
|
||||||
echo "a \"$(TEXT "Update all")\"" >>"${TMP_PATH}/menu"
|
echo "a \"$(TEXT "Update all")\"" >>"${TMP_PATH}/menu"
|
||||||
echo "r \"$(TEXT "Update RR")(${CUR_RR_VER:-None})\"" >>"${TMP_PATH}/menu"
|
echo "r \"$(TEXT "Update RR")(${CUR_RR_VER:-None})\"" >>"${TMP_PATH}/menu"
|
||||||
echo "d \"$(TEXT "Update addons")(${CUR_ADDONS_VER:-None})\"" >>"${TMP_PATH}/menu"
|
echo "d \"$(TEXT "Update addons")(${CUR_ADDONS_VER:-None})\"" >>"${TMP_PATH}/menu"
|
||||||
echo "m \"$(TEXT "Update modules")(${CUR_MODULES_VER:-None})\"" >>"${TMP_PATH}/menu"
|
echo "m \"$(TEXT "Update modules")(${CUR_MODULES_VER:-None})\"" >>"${TMP_PATH}/menu"
|
||||||
echo "l \"$(TEXT "Update LKMs")(${CUR_LKMS_VER:-None})\"" >>"${TMP_PATH}/menu"
|
echo "l \"$(TEXT "Update LKMs")(${CUR_LKMS_VER:-None})\"" >>"${TMP_PATH}/menu"
|
||||||
|
echo "c \"$(TEXT "Update CKs")(${CUR_CKS_VER:-None})\"" >>"${TMP_PATH}/menu"
|
||||||
echo "u \"$(TEXT "Local upload")\"" >>"${TMP_PATH}/menu"
|
echo "u \"$(TEXT "Local upload")\"" >>"${TMP_PATH}/menu"
|
||||||
echo "b \"$(TEXT "Pre Release:") \Z4${PRERELEASE}\Zn\"" >>"${TMP_PATH}/menu"
|
echo "b \"$(TEXT "Pre Release:") \Z4${PRERELEASE}\Zn\"" >>"${TMP_PATH}/menu"
|
||||||
echo "e \"$(TEXT "Exit")\"" >>"${TMP_PATH}/menu"
|
echo "e \"$(TEXT "Exit")\"" >>"${TMP_PATH}/menu"
|
||||||
|
|
||||||
DIALOG --title "$(TEXT "Update")" \
|
DIALOG --title "$(TEXT "Update")" \
|
||||||
--menu "$(TEXT "Manually uploading update.zip,addons.zip,modules.zip,rp-lkms.zip to /tmp/ will skip the download.")" 0 0 0 --file "${TMP_PATH}/menu" \
|
--menu "$(TEXT "Manually uploading update.zip,addons.zip,modules.zip,rp-lkms.zip,rr-cks.zip to /tmp/ will skip the download.")" 0 0 0 --file "${TMP_PATH}/menu" \
|
||||||
2>${TMP_PATH}/resp
|
2>${TMP_PATH}/resp
|
||||||
[ $? -ne 0 ] && return
|
[ $? -ne 0 ] && return
|
||||||
case "$(<${TMP_PATH}/resp)" in
|
case "$(<${TMP_PATH}/resp)" in
|
||||||
@ -2352,6 +2367,11 @@ function updateMenu() {
|
|||||||
downloadExts "LKMs" "${CUR_LKMS_VER:-None}" "https://github.com/XXXXXX/rr-lkms" "rp-lkms" "1"
|
downloadExts "LKMs" "${CUR_LKMS_VER:-None}" "https://github.com/XXXXXX/rr-lkms" "rp-lkms" "1"
|
||||||
fi
|
fi
|
||||||
[ -f "${TMP_PATH}/rp-lkms.zip" ] && updateExts "LKMs" "1"
|
[ -f "${TMP_PATH}/rp-lkms.zip" ] && updateExts "LKMs" "1"
|
||||||
|
T="$(printf "$(TEXT "Update %s")" "$(TEXT "CKs")")"
|
||||||
|
if [ ! -f "${TMP_PATH}/rp-cks.zip" ]; then
|
||||||
|
downloadExts "CKs" "${CUR_CKS_VER:-None}" "https://github.com/XXXXXX/rr-cks" "rr-cks" "1"
|
||||||
|
fi
|
||||||
|
[ -f "${TMP_PATH}/rr-cks.zip" ] && updateExts "CKs" "1"
|
||||||
T="$(printf "$(TEXT "Update %s")" "$(TEXT "RR")")"
|
T="$(printf "$(TEXT "Update %s")" "$(TEXT "RR")")"
|
||||||
if [ ! -f "${TMP_PATH}/update.zip" ]; then
|
if [ ! -f "${TMP_PATH}/update.zip" ]; then
|
||||||
downloadExts "RR" "${CUR_RR_VER:-None}" "https://github.com/XXXXXX/rr" "update" "0"
|
downloadExts "RR" "${CUR_RR_VER:-None}" "https://github.com/XXXXXX/rr" "update" "0"
|
||||||
@ -2390,11 +2410,19 @@ function updateMenu() {
|
|||||||
fi
|
fi
|
||||||
updateExts "LKMs" "0"
|
updateExts "LKMs" "0"
|
||||||
;;
|
;;
|
||||||
|
c)
|
||||||
|
T="$(printf "$(TEXT "Update %s")" "$(TEXT "CKs")")"
|
||||||
|
if [ ! -f "${TMP_PATH}/rr-cks.zip" ]; then
|
||||||
|
downloadExts "CKs" "${CUR_CKS_VER:-None}" "https://github.com/XXXXXX/rr-cks" "rr-cks" "0"
|
||||||
|
[ $? -ne 0 ] && continue
|
||||||
|
fi
|
||||||
|
updateExts "CKs" "0"
|
||||||
|
;;
|
||||||
u)
|
u)
|
||||||
if ! tty | grep -q "/dev/pts" || [ -z "${SSH_TTY}" ]; then
|
if ! tty | grep -q "/dev/pts" || [ -z "${SSH_TTY}" ]; then
|
||||||
MSG=""
|
MSG=""
|
||||||
MSG+="$(TEXT "This feature is only available when accessed via ssh (Requires a terminal that supports ZModem protocol).\n")"
|
MSG+="$(TEXT "This feature is only available when accessed via ssh (Requires a terminal that supports ZModem protocol).\n")"
|
||||||
MSG+="$(TEXT "Or upload update.zip, addons.zip, modules.zip, rp-lkms.zip to /tmp/ via DUFS will skip the download.\n")"
|
MSG+="$(TEXT "Or upload update.zip, addons.zip, modules.zip, rp-lkms.zip,rr-cks.zip to /tmp/ via DUFS will skip the download.\n")"
|
||||||
DIALOG --title "$(TEXT "Update")" \
|
DIALOG --title "$(TEXT "Update")" \
|
||||||
--msgbox "${MSG}" 0 0
|
--msgbox "${MSG}" 0 0
|
||||||
return
|
return
|
||||||
@ -2405,9 +2433,10 @@ function updateMenu() {
|
|||||||
MSG+="$(TEXT "Upload addons*.zip will update Addons.\n")"
|
MSG+="$(TEXT "Upload addons*.zip will update Addons.\n")"
|
||||||
MSG+="$(TEXT "Upload modules*.zip will update Modules.\n")"
|
MSG+="$(TEXT "Upload modules*.zip will update Modules.\n")"
|
||||||
MSG+="$(TEXT "Upload rp-lkms*.zip will update LKMs.\n")"
|
MSG+="$(TEXT "Upload rp-lkms*.zip will update LKMs.\n")"
|
||||||
|
MSG+="$(TEXT "Upload rr-cks*.zip will update CKs.\n")"
|
||||||
DIALOG --title "$(TEXT "Update")" \
|
DIALOG --title "$(TEXT "Update")" \
|
||||||
--msgbox "${MSG}" 0 0
|
--msgbox "${MSG}" 0 0
|
||||||
EXTS=(update*.zip addons*.zip modules*.zip rp-lkms*.zip)
|
EXTS=(update*.zip addons*.zip modules*.zip rp-lkms*.zip rr-cks*.zip)
|
||||||
TMP_UP_PATH="${TMP_PATH}/users"
|
TMP_UP_PATH="${TMP_PATH}/users"
|
||||||
USER_FILE=""
|
USER_FILE=""
|
||||||
rm -rf "${TMP_UP_PATH}"
|
rm -rf "${TMP_UP_PATH}"
|
||||||
@ -2441,6 +2470,10 @@ function updateMenu() {
|
|||||||
rm -f "${TMP_PATH}/rp-lkms.zip"
|
rm -f "${TMP_PATH}/rp-lkms.zip"
|
||||||
mv -f "${TMP_UP_PATH}/${USER_FILE}" "${TMP_PATH}/rp-lkms.zip"
|
mv -f "${TMP_UP_PATH}/${USER_FILE}" "${TMP_PATH}/rp-lkms.zip"
|
||||||
updateExts "LKMs" "0"
|
updateExts "LKMs" "0"
|
||||||
|
elif [[ "${USER_FILE}" = rr-cks*.zip ]]; then
|
||||||
|
rm -f "${TMP_PATH}/rr-cks.zip"
|
||||||
|
mv -f "${TMP_UP_PATH}/${USER_FILE}" "${TMP_PATH}/rr-cks.zip"
|
||||||
|
updateExts "CKs" "0"
|
||||||
else
|
else
|
||||||
DIALOG --title "$(TEXT "Update")" \
|
DIALOG --title "$(TEXT "Update")" \
|
||||||
--msgbox "$(TEXT "Not a valid file, please try again!")" 0 0
|
--msgbox "$(TEXT "Not a valid file, please try again!")" 0 0
|
||||||
@ -2488,6 +2521,13 @@ while true; do
|
|||||||
fi
|
fi
|
||||||
echo "u \"$(TEXT "Parse pat")\"" >>"${TMP_PATH}/menu"
|
echo "u \"$(TEXT "Parse pat")\"" >>"${TMP_PATH}/menu"
|
||||||
if [ -n "${PRODUCTVER}" ]; then
|
if [ -n "${PRODUCTVER}" ]; then
|
||||||
|
PLATFORM="$(readModelKey "${MODEL}" "platform")"
|
||||||
|
KVER="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kver")"
|
||||||
|
KPRE="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kpre")"
|
||||||
|
if [ -f "${CKS_PATH}/bzImage-${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}.gz" ] &&
|
||||||
|
[ -f "${CKS_PATH}/modules-${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}.tgz" ]; then
|
||||||
|
echo "s \"$(TEXT "Kernel:") \Z4${KERNEL}\Zn\"" >>"${TMP_PATH}/menu"
|
||||||
|
fi
|
||||||
echo "a \"$(TEXT "Addons menu")\"" >>"${TMP_PATH}/menu"
|
echo "a \"$(TEXT "Addons menu")\"" >>"${TMP_PATH}/menu"
|
||||||
echo "o \"$(TEXT "Modules menu")\"" >>"${TMP_PATH}/menu"
|
echo "o \"$(TEXT "Modules menu")\"" >>"${TMP_PATH}/menu"
|
||||||
echo "x \"$(TEXT "Cmdline menu")\"" >>"${TMP_PATH}/menu"
|
echo "x \"$(TEXT "Cmdline menu")\"" >>"${TMP_PATH}/menu"
|
||||||
@ -2528,6 +2568,25 @@ while true; do
|
|||||||
ParsePat
|
ParsePat
|
||||||
NEXT="d"
|
NEXT="d"
|
||||||
;;
|
;;
|
||||||
|
s)
|
||||||
|
DIALOG --title "$(TEXT "Main menu")" \
|
||||||
|
--infobox "$(TEXT "Change ...")" 0 0
|
||||||
|
[ ! "${KERNEL}" = "custom" ] && KERNEL='custom' || KERNEL='official'
|
||||||
|
writeConfigKey "kernel" "${KERNEL}" "${USER_CONFIG_FILE}"
|
||||||
|
if [ "${ODP}" = "true" ]; then
|
||||||
|
ODP="false"
|
||||||
|
writeConfigKey "odp" "${ODP}" "${USER_CONFIG_FILE}"
|
||||||
|
fi
|
||||||
|
if [ -n "${PLATFORM}" -a -n "${KVER}" ]; then
|
||||||
|
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||||
|
while read ID DESC; do
|
||||||
|
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
|
||||||
|
done < <(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
|
||||||
|
fi
|
||||||
|
touch ${PART1_PATH}/.build
|
||||||
|
|
||||||
|
NEXT="o"
|
||||||
|
;;
|
||||||
a)
|
a)
|
||||||
addonMenu
|
addonMenu
|
||||||
NEXT="d"
|
NEXT="d"
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
. ${WORK_PATH}/include/functions.sh
|
. ${WORK_PATH}/include/functions.sh
|
||||||
. ${WORK_PATH}/include/addons.sh
|
. ${WORK_PATH}/include/addons.sh
|
||||||
|
. ${WORK_PATH}/include/modules.sh
|
||||||
|
|
||||||
set -o pipefail # Get exit code from process piped
|
set -o pipefail # Get exit code from process piped
|
||||||
|
|
||||||
@ -29,6 +30,7 @@ MODEL="$(readConfigKey "model" "${USER_CONFIG_FILE}")"
|
|||||||
PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")"
|
PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")"
|
||||||
BUILDNUM="$(readConfigKey "buildnum" "${USER_CONFIG_FILE}")"
|
BUILDNUM="$(readConfigKey "buildnum" "${USER_CONFIG_FILE}")"
|
||||||
SMALLNUM="$(readConfigKey "smallnum" "${USER_CONFIG_FILE}")"
|
SMALLNUM="$(readConfigKey "smallnum" "${USER_CONFIG_FILE}")"
|
||||||
|
KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||||
LKM="$(readConfigKey "lkm" "${USER_CONFIG_FILE}")"
|
LKM="$(readConfigKey "lkm" "${USER_CONFIG_FILE}")"
|
||||||
SN="$(readConfigKey "sn" "${USER_CONFIG_FILE}")"
|
SN="$(readConfigKey "sn" "${USER_CONFIG_FILE}")"
|
||||||
LAYOUT="$(readConfigKey "layout" "${USER_CONFIG_FILE}")"
|
LAYOUT="$(readConfigKey "layout" "${USER_CONFIG_FILE}")"
|
||||||
@ -51,7 +53,7 @@ if [ -n "${PRODUCTVER}" -a -n "${BUILDNUM}" -a -n "${SMALLNUM}" ] &&
|
|||||||
PATSUM=""
|
PATSUM=""
|
||||||
# Clean old pat file
|
# Clean old pat file
|
||||||
rm -f "${PART3_PATH}/dl/${MODEL}-${PRODUCTVER}.pat" 2>/dev/null || true
|
rm -f "${PART3_PATH}/dl/${MODEL}-${PRODUCTVER}.pat" 2>/dev/null || true
|
||||||
fi
|
fi
|
||||||
# Update new buildnumber
|
# Update new buildnumber
|
||||||
PRODUCTVER=${majorversion}.${minorversion}
|
PRODUCTVER=${majorversion}.${minorversion}
|
||||||
BUILDNUM=${buildnumber}
|
BUILDNUM=${buildnumber}
|
||||||
@ -127,30 +129,15 @@ echo "_set_conf_kv 'SN' '${SN}' '/tmpRoot/etc.defaults/synoinfo.conf'" >>"${TMP_
|
|||||||
sed -e "/@@@CONFIG-GENERATED@@@/ {" -e "r ${TMP_PATH}/rp.txt" -e 'd' -e '}' -i "${RAMDISK_PATH}/sbin/init.post"
|
sed -e "/@@@CONFIG-GENERATED@@@/ {" -e "r ${TMP_PATH}/rp.txt" -e 'd' -e '}' -i "${RAMDISK_PATH}/sbin/init.post"
|
||||||
rm -f "${TMP_PATH}/rp.txt"
|
rm -f "${TMP_PATH}/rp.txt"
|
||||||
|
|
||||||
|
# Extract ck modules to ramdisk
|
||||||
echo -n "."
|
echo -n "."
|
||||||
# Extract modules to ramdisk
|
installModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}" "${!MODULES[@]}"
|
||||||
rm -rf "${TMP_PATH}/modules"
|
|
||||||
mkdir -p "${TMP_PATH}/modules"
|
|
||||||
tar -zxf "${MODULES_PATH}/${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}.tgz" -C "${TMP_PATH}/modules"
|
|
||||||
for F in $(ls "${TMP_PATH}/modules/"*.ko 2>/dev/null); do
|
|
||||||
M=$(basename ${F})
|
|
||||||
[ "${ODP}" = "true" -a -f "${RAMDISK_PATH}/usr/lib/modules/${M}" ] && continue
|
|
||||||
if arrayExistItem "${M:0:-3}" "${!MODULES[@]}"; then
|
|
||||||
cp -f "${F}" "${RAMDISK_PATH}/usr/lib/modules/${M}"
|
|
||||||
else
|
|
||||||
rm -f "${RAMDISK_PATH}/usr/lib/modules/${M}"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
mkdir -p "${RAMDISK_PATH}/usr/lib/firmware"
|
|
||||||
tar -zxf "${MODULES_PATH}/firmware.tgz" -C "${RAMDISK_PATH}/usr/lib/firmware"
|
|
||||||
# Clean
|
|
||||||
rm -rf "${TMP_PATH}/modules"
|
|
||||||
|
|
||||||
echo -n "."
|
echo -n "."
|
||||||
# Copying fake modprobe
|
# Copying fake modprobe
|
||||||
cp -f "${WORK_PATH}/patch/iosched-trampoline.sh" "${RAMDISK_PATH}/usr/sbin/modprobe"
|
cp -f "${WORK_PATH}/patch/iosched-trampoline.sh" "${RAMDISK_PATH}/usr/sbin/modprobe"
|
||||||
# Copying LKM to /usr/lib/modules
|
# Copying LKM to /usr/lib/modules
|
||||||
gzip -dc "${LKM_PATH}/rp-${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}-${LKM}.ko.gz" >"${RAMDISK_PATH}/usr/lib/modules/rp.ko"
|
gzip -dc "${LKMS_PATH}/rp-${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}-${LKM}.ko.gz" >"${RAMDISK_PATH}/usr/lib/modules/rp.ko"
|
||||||
|
|
||||||
# Addons
|
# Addons
|
||||||
echo -n "."
|
echo -n "."
|
||||||
@ -168,24 +155,24 @@ echo "export KEYMAP=${KEYMAP}" >>"${RAMDISK_PATH}/addons/addons.sh"
|
|||||||
chmod +x "${RAMDISK_PATH}/addons/addons.sh"
|
chmod +x "${RAMDISK_PATH}/addons/addons.sh"
|
||||||
|
|
||||||
# Required addons: restore
|
# Required addons: restore
|
||||||
installAddon revert
|
installAddon "revert" "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}"
|
||||||
echo "/addons/revert.sh \${1} " >>"${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
|
echo "/addons/revert.sh \${1} " >>"${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
|
||||||
|
|
||||||
# Required addons: eudev, disks, localrss, wol
|
# Required addons: eudev, disks, localrss, wol
|
||||||
installAddon eudev
|
installAddon "eudev" "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}"
|
||||||
echo "/addons/eudev.sh \${1} " >>"${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
|
echo "/addons/eudev.sh \${1} " >>"${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
|
||||||
installAddon disks
|
installAddon "disks" "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}"
|
||||||
echo "/addons/disks.sh \${1} ${HDDSORT} " >>"${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
|
echo "/addons/disks.sh \${1} ${HDDSORT} " >>"${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
|
||||||
[ -f "${USER_UP_PATH}/${MODEL}.dts" ] && cp -f "${USER_UP_PATH}/${MODEL}.dts" "${RAMDISK_PATH}/addons/model.dts"
|
[ -f "${USER_UP_PATH}/${MODEL}.dts" ] && cp -f "${USER_UP_PATH}/${MODEL}.dts" "${RAMDISK_PATH}/addons/model.dts"
|
||||||
installAddon localrss
|
installAddon "localrss" "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}"
|
||||||
echo "/addons/localrss.sh \${1} " >>"${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
|
echo "/addons/localrss.sh \${1} " >>"${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
|
||||||
installAddon wol
|
installAddon "wol" "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}"
|
||||||
echo "/addons/wol.sh \${1} " >>"${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
|
echo "/addons/wol.sh \${1} " >>"${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
|
||||||
|
|
||||||
# User addons
|
# User addons
|
||||||
for ADDON in ${!ADDONS[@]}; do
|
for ADDON in ${!ADDONS[@]}; do
|
||||||
PARAMS=${ADDONS[${ADDON}]}
|
PARAMS=${ADDONS[${ADDON}]}
|
||||||
if ! installAddon ${ADDON}; then
|
if ! installAddon "${ADDON}" "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}"; then
|
||||||
echo "ADDON ${ADDON} not found!" | tee -a "${LOG_FILE}"
|
echo "ADDON ${ADDON} not found!" | tee -a "${LOG_FILE}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@ -222,6 +209,7 @@ fi
|
|||||||
#fi
|
#fi
|
||||||
|
|
||||||
# Call user patch scripts
|
# Call user patch scripts
|
||||||
|
echo -n "."
|
||||||
for F in $(ls -1 ${SCRIPTS_PATH}/*.sh 2>/dev/null); do
|
for F in $(ls -1 ${SCRIPTS_PATH}/*.sh 2>/dev/null); do
|
||||||
echo "Calling ${F}" >>"${LOG_FILE}" 2>&1
|
echo "Calling ${F}" >>"${LOG_FILE}" 2>&1
|
||||||
. "${F}" >>"${LOG_FILE}" 2>&1 || dieLog
|
. "${F}" >>"${LOG_FILE}" 2>&1 || dieLog
|
||||||
@ -238,4 +226,9 @@ fi
|
|||||||
# Clean
|
# Clean
|
||||||
rm -rf "${RAMDISK_PATH}"
|
rm -rf "${RAMDISK_PATH}"
|
||||||
|
|
||||||
|
# Update SHA256 hash
|
||||||
|
echo -n "."
|
||||||
|
RAMDISK_HASH_CUR="$(sha256sum "${ORI_RDGZ_FILE}" | awk '{print $1}')"
|
||||||
|
writeConfigKey "ramdisk-hash" "${RAMDISK_HASH_CUR}" "${USER_CONFIG_FILE}"
|
||||||
|
|
||||||
echo
|
echo
|
||||||
|
@ -12,17 +12,32 @@ set -o pipefail # Get exit code from process piped
|
|||||||
echo -n "Patching zImage"
|
echo -n "Patching zImage"
|
||||||
|
|
||||||
rm -f "${MOD_ZIMAGE_FILE}"
|
rm -f "${MOD_ZIMAGE_FILE}"
|
||||||
echo -n "."
|
|
||||||
# Extract vmlinux
|
KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||||
${WORK_PATH}/bzImage-to-vmlinux.sh "${ORI_ZIMAGE_FILE}" "${TMP_PATH}/vmlinux" >"${LOG_FILE}" 2>&1 || dieLog
|
if [ "${KERNEL}" = "custom" ]; then
|
||||||
echo -n "."
|
echo -n "."
|
||||||
# Patch boot params and ramdisk check
|
MODEL="$(readConfigKey "model" "${USER_CONFIG_FILE}")"
|
||||||
${WORK_PATH}/kpatch "${TMP_PATH}/vmlinux" "${TMP_PATH}/vmlinux-mod" >"${LOG_FILE}" 2>&1 || dieLog
|
PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")"
|
||||||
echo -n "."
|
PLATFORM="$(readModelKey "${MODEL}" "platform")"
|
||||||
# rebuild zImage
|
KVER="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kver")"
|
||||||
${WORK_PATH}/vmlinux-to-bzImage.sh "${TMP_PATH}/vmlinux-mod" "${MOD_ZIMAGE_FILE}" >"${LOG_FILE}" 2>&1 || dieLog
|
KPRE="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kpre")"
|
||||||
|
# Extract bzImage
|
||||||
|
gzip -dc "${CKS_PATH}/bzImage-${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}.gz" >"${MOD_ZIMAGE_FILE}"
|
||||||
|
else
|
||||||
|
echo -n "."
|
||||||
|
# Extract vmlinux
|
||||||
|
${WORK_PATH}/bzImage-to-vmlinux.sh "${ORI_ZIMAGE_FILE}" "${TMP_PATH}/vmlinux" >"${LOG_FILE}" 2>&1 || dieLog
|
||||||
|
echo -n "."
|
||||||
|
# Patch boot params and ramdisk check
|
||||||
|
${WORK_PATH}/kpatch "${TMP_PATH}/vmlinux" "${TMP_PATH}/vmlinux-mod" >"${LOG_FILE}" 2>&1 || dieLog
|
||||||
|
echo -n "."
|
||||||
|
# rebuild zImage
|
||||||
|
${WORK_PATH}/vmlinux-to-bzImage.sh "${TMP_PATH}/vmlinux-mod" "${MOD_ZIMAGE_FILE}" >"${LOG_FILE}" 2>&1 || dieLog
|
||||||
|
fi
|
||||||
|
|
||||||
echo -n "."
|
echo -n "."
|
||||||
# Update HASH of new DSM zImage
|
# Update HASH of new DSM zImage
|
||||||
HASH="$(sha256sum ${ORI_ZIMAGE_FILE} | awk '{print$1}')"
|
HASH="$(sha256sum ${ORI_ZIMAGE_FILE} | awk '{print$1}')"
|
||||||
writeConfigKey "zimage-hash" "${HASH}" "${USER_CONFIG_FILE}"
|
writeConfigKey "zimage-hash" "${HASH}" "${USER_CONFIG_FILE}"
|
||||||
|
|
||||||
echo
|
echo
|
||||||
|
0
files/p3/cks/.gitkeep
Normal file
0
files/p3/cks/.gitkeep
Normal file
@ -36,6 +36,7 @@ echo "Copying files"
|
|||||||
sudo cp -Rf "files/p1/"* "/tmp/files/p1"
|
sudo cp -Rf "files/p1/"* "/tmp/files/p1"
|
||||||
sudo cp -Rf "files/p3/"* "/tmp/files/p3"
|
sudo cp -Rf "files/p3/"* "/tmp/files/p3"
|
||||||
# Get extractor, LKM, addons and Modules
|
# Get extractor, LKM, addons and Modules
|
||||||
|
getCKs "/tmp/files/p3/cks" true
|
||||||
getLKMs "/tmp/files/p3/lkms" true
|
getLKMs "/tmp/files/p3/lkms" true
|
||||||
getAddons "/tmp/files/p3/addons" true
|
getAddons "/tmp/files/p3/addons" true
|
||||||
getModules "/tmp/files/p3/modules" true
|
getModules "/tmp/files/p3/modules" true
|
||||||
|
@ -94,6 +94,35 @@ function getBuildroot() {
|
|||||||
echo "Getting Buildroot end"
|
echo "Getting Buildroot end"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Get latest CKs
|
||||||
|
# $1 path
|
||||||
|
# $2 (true|false[d]) include prerelease
|
||||||
|
function getCKs() {
|
||||||
|
echo "Getting CKs begin"
|
||||||
|
local DEST_PATH="${1:-cks}"
|
||||||
|
local CACHE_FILE="/tmp/rr-cks.zip"
|
||||||
|
rm -f "${CACHE_FILE}"
|
||||||
|
if [ "${2}" = "true" ]; then
|
||||||
|
TAG=$(curl -skLH "Authorization: token ${TOKEN}" "https://api.github.com/repos/RROrg/rr-cks/releases" | jq -r ".[0].tag_name")
|
||||||
|
else
|
||||||
|
TAG=$(curl -skLH "Authorization: token ${TOKEN}" "https://api.github.com/repos/RROrg/rr-cks/releases/latest" | jq -r ".tag_name")
|
||||||
|
fi
|
||||||
|
while read ID NAME; do
|
||||||
|
if [ "${NAME}" = "rr-cks.zip" ]; then
|
||||||
|
STATUS=$(curl -w "%{http_code}" -kLH "Authorization: token ${TOKEN}" -H "Accept: application/octet-stream" "https://api.github.com/repos/RROrg/rr-cks/releases/assets/${ID}" -o "${CACHE_FILE}")
|
||||||
|
echo "TAG=${TAG}; Status=${STATUS}"
|
||||||
|
[ ${STATUS:-0} -ne 200 ] && exit 1
|
||||||
|
fi
|
||||||
|
done < <(curl -skLH "Authorization: Bearer ${TOKEN}" "https://api.github.com/repos/RROrg/rr-cks/releases/tags/${TAG}" | jq -r '.assets[] | "\(.id) \(.name)"')
|
||||||
|
[ ! -f "${CACHE_FILE}" ] && exit 1
|
||||||
|
# Unzip CKs
|
||||||
|
rm -rf "${DEST_PATH}"
|
||||||
|
mkdir -p "${DEST_PATH}"
|
||||||
|
unzip "${CACHE_FILE}" -d "${DEST_PATH}"
|
||||||
|
rm -f "${CACHE_FILE}"
|
||||||
|
echo "Getting CKs end"
|
||||||
|
}
|
||||||
|
|
||||||
# Get latest LKMs
|
# Get latest LKMs
|
||||||
# $1 path
|
# $1 path
|
||||||
# $2 (true|false[d]) include prerelease
|
# $2 (true|false[d]) include prerelease
|
||||||
|
Loading…
x
Reference in New Issue
Block a user