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
3625768487
commit
02047d9229
@ -40,16 +40,13 @@ fi
|
||||
|
||||
# Check if DSM ramdisk changed, patch it if necessary
|
||||
RAMDISK_HASH="$(readConfigKey "ramdisk-hash" "${USER_CONFIG_FILE}")"
|
||||
RAMDISK_HASH_CUR="$(sha256sum "${ORI_RDGZ_FILE}" | awk '{print $1}')"
|
||||
if [ -f ${PART1_PATH}/.build -o "${RAMDISK_HASH_CUR}" != "${RAMDISK_HASH}" ]; then
|
||||
if [ -f ${PART1_PATH}/.build -o "$(sha256sum "${ORI_RDGZ_FILE}" | awk '{print $1}')" != "${RAMDISK_HASH}" ]; then
|
||||
echo -e "\033[1;43m$(TEXT "DSM Ramdisk changed")\033[0m"
|
||||
${WORK_PATH}/ramdisk-patch.sh
|
||||
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"
|
||||
exit 1
|
||||
fi
|
||||
# Update SHA256 hash
|
||||
writeConfigKey "ramdisk-hash" "${RAMDISK_HASH_CUR}" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
[ -f ${PART1_PATH}/.build ] && rm -f ${PART1_PATH}/.build
|
||||
|
||||
@ -58,14 +55,16 @@ MODEL="$(readConfigKey "model" "${USER_CONFIG_FILE}")"
|
||||
PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")"
|
||||
BUILDNUM="$(readConfigKey "buildnum" "${USER_CONFIG_FILE}")"
|
||||
SMALLNUM="$(readConfigKey "smallnum" "${USER_CONFIG_FILE}")"
|
||||
KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||
LKM="$(readConfigKey "lkm" "${USER_CONFIG_FILE}")"
|
||||
|
||||
DMI="$(dmesg | grep -i "DMI:" | sed 's/\[.*\] DMI: //i')"
|
||||
CPU="$(echo $(cat /proc/cpuinfo | grep 'model name' | uniq | awk -F':' '{print $2}'))"
|
||||
MEM="$(free -m | grep -i mem | awk '{print$2}') MB"
|
||||
|
||||
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 "Model: ") \033[1;36m${MODEL}\033[0m"
|
||||
echo -e "$(TEXT "Version: ") \033[1;36m${PRODUCTVER}(${BUILDNUM}$([ ${SMALLNUM:-0} -ne 0 ] && echo "u${SMALLNUM}"))\033[0m"
|
||||
echo -e "$(TEXT "Kernel: ") \033[1;36m${KERNEL}\033[0m"
|
||||
echo -e "$(TEXT "LKM: ") \033[1;36m${LKM}\033[0m"
|
||||
echo -e "$(TEXT "DMI: ") \033[1;36m${DMI}\033[0m"
|
||||
echo -e "$(TEXT "CPU: ") \033[1;36m${CPU}\033[0m"
|
||||
|
@ -45,21 +45,24 @@ function checkAddonExist() {
|
||||
###############################################################################
|
||||
# Install Addon into ramdisk image
|
||||
# 1 - Addon id
|
||||
# 2 - Platform
|
||||
# 3 - Kernel Version
|
||||
# Return ERROR if not installed
|
||||
function installAddon() {
|
||||
if [ -z "${1}" ]; then
|
||||
return 1
|
||||
fi
|
||||
ADDON="${1}"
|
||||
local ADDON="${1}"
|
||||
mkdir -p "${TMP_PATH}/${ADDON}"
|
||||
HAS_FILES=0
|
||||
local HAS_FILES=0
|
||||
# First check generic files
|
||||
if [ -f "${ADDONS_PATH}/${ADDON}/all.tgz" ]; then
|
||||
tar -zxf "${ADDONS_PATH}/${ADDON}/all.tgz" -C "${TMP_PATH}/${ADDON}"
|
||||
HAS_FILES=1
|
||||
fi
|
||||
# Now check specific platform files
|
||||
if [ -f "${ADDONS_PATH}/${ADDON}/${PLATFORM}-${KVER}.tgz" ]; then
|
||||
tar -zxf "${ADDONS_PATH}/${ADDON}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/${ADDON}"
|
||||
if [ -f "${ADDONS_PATH}/${ADDON}/${2}-${3}.tgz" ]; then
|
||||
tar -zxf "${ADDONS_PATH}/${ADDON}/${2}-${3}.tgz" -C "${TMP_PATH}/${ADDON}"
|
||||
HAS_FILES=1
|
||||
fi
|
||||
# If has files to copy, copy it, else return error
|
||||
@ -83,7 +86,7 @@ function untarAddon() {
|
||||
rm -rf "${TMP_PATH}/addon"
|
||||
mkdir -p "${TMP_PATH}/addon"
|
||||
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
|
||||
rm -rf "${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
|
||||
function updateAddons() {
|
||||
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}"
|
||||
mkdir -p "${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_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"
|
||||
MODULES_PATH="${PART3_PATH}/modules"
|
||||
USER_UP_PATH="${PART3_PATH}/users"
|
||||
|
@ -3,8 +3,8 @@
|
||||
# 1 - Platform
|
||||
# 2 - Kernel Version
|
||||
function getAllModules() {
|
||||
PLATFORM=${1}
|
||||
KVER=${2}
|
||||
local PLATFORM=${1}
|
||||
local KVER=${2}
|
||||
|
||||
if [ -z "${PLATFORM}" -o -z "${KVER}" ]; then
|
||||
echo ""
|
||||
@ -13,27 +13,71 @@ function getAllModules() {
|
||||
# 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
|
||||
# Get list of all modules
|
||||
for F in $(ls ${TMP_PATH}/modules/*.ko 2>/dev/null); do
|
||||
X=$(basename ${F})
|
||||
M=${X:0:-3}
|
||||
DESC=$(modinfo ${F} | awk -F':' '/description:/{ print $2}' | awk '{sub(/^[ ]+/,""); print}')
|
||||
local X=$(basename ${F})
|
||||
local M=${X:0:-3}
|
||||
local DESC=$(modinfo ${F} | awk -F':' '/description:/{ print $2}' | awk '{sub(/^[ ]+/,""); print}')
|
||||
[ -z "${DESC}" ] && DESC="${X}"
|
||||
echo "${M} \"${DESC}\""
|
||||
done
|
||||
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
|
||||
# 1 - Platform
|
||||
# 2 - Kernel Version
|
||||
# 3 - ko file
|
||||
function addToModules() {
|
||||
PLATFORM=${1}
|
||||
KVER=${2}
|
||||
KOFILE=${3}
|
||||
local PLATFORM=${1}
|
||||
local KVER=${2}
|
||||
local KOFILE=${3}
|
||||
|
||||
if [ -z "${PLATFORM}" -o -z "${KVER}" -o -z "${KOFILE}" ]; then
|
||||
echo ""
|
||||
@ -42,9 +86,18 @@ function addToModules() {
|
||||
# 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
|
||||
cp -f ${KOFILE} ${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
|
||||
# 3 - ko name
|
||||
function delToModules() {
|
||||
PLATFORM=${1}
|
||||
KVER=${2}
|
||||
KONAME=${3}
|
||||
local PLATFORM=${1}
|
||||
local KVER=${2}
|
||||
local KONAME=${3}
|
||||
|
||||
if [ -z "${PLATFORM}" -o -z "${KVER}" -o -z "${KONAME}" ]; then
|
||||
echo ""
|
||||
@ -64,9 +117,18 @@ function delToModules() {
|
||||
# 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
|
||||
rm -f ${TMP_PATH}/modules/${KONAME}
|
||||
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
|
||||
}
|
||||
PLATFORM=${1}
|
||||
KVER=${2}
|
||||
KONAME=${3}
|
||||
local PLATFORM=${1}
|
||||
local KVER=${2}
|
||||
local KONAME=${3}
|
||||
|
||||
if [ -z "${PLATFORM}" -o -z "${KVER}" -o -z "${KONAME}" ]; then
|
||||
echo ""
|
||||
@ -97,8 +159,13 @@ function getdepends() {
|
||||
# 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"
|
||||
DPS=($(_getdepends ${KONAME} | tr ' ' '\n' | sort -u))
|
||||
fi
|
||||
local DPS=($(_getdepends ${KONAME} | tr ' ' '\n' | sort -u))
|
||||
echo ${DPS[@]}
|
||||
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
|
||||
touch "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
|
||||
initConfigKey "kernel" "official" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "lkm" "prod" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "dsmlogo" "true" "${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"
|
||||
fi
|
||||
|
||||
mkdir -p "${CKS_PATH}"
|
||||
mkdir -p "${LKMS_PATH}"
|
||||
mkdir -p "${ADDONS_PATH}"
|
||||
mkdir -p "${LKM_PATH}"
|
||||
mkdir -p "${MODULES_PATH}"
|
||||
|
||||
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}")"
|
||||
LAYOUT="$(readConfigKey "layout" "${USER_CONFIG_FILE}")"
|
||||
KEYMAP="$(readConfigKey "keymap" "${USER_CONFIG_FILE}")"
|
||||
KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||
LKM="$(readConfigKey "lkm" "${USER_CONFIG_FILE}")"
|
||||
DSMLOGO="$(readConfigKey "dsmlogo" "${USER_CONFIG_FILE}")"
|
||||
DIRECTBOOT="$(readConfigKey "directboot" "${USER_CONFIG_FILE}")"
|
||||
@ -169,7 +170,7 @@ function modelMenu() {
|
||||
[ "${DT}" = "true" ] && M_2="* "
|
||||
fi
|
||||
if [ "${NVME}" = "2" ]; then
|
||||
if echo ${models[@]} | grep -q ${M}; then
|
||||
if echo "${models[@]}" | grep -wq "${M}"; then
|
||||
M_2="* "
|
||||
fi
|
||||
fi
|
||||
@ -312,11 +313,11 @@ function productversMenu() {
|
||||
KPRE="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kpre")"
|
||||
while IFS=': ' read ADDON PARAM; do
|
||||
[ -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}"
|
||||
fi
|
||||
done < <(readConfigMap "addons" "${USER_CONFIG_FILE}")
|
||||
# Rebuild modules
|
||||
# Rewrite modules
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
while read ID DESC; do
|
||||
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
|
||||
@ -444,7 +445,7 @@ function ParsePat() {
|
||||
KPRE="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kpre")"
|
||||
while IFS=': ' read ADDON PARAM; do
|
||||
[ -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}"
|
||||
fi
|
||||
done < <(readConfigMap "addons" "${USER_CONFIG_FILE}")
|
||||
@ -601,7 +602,7 @@ function addonMenu() {
|
||||
fi
|
||||
ADDON="$(untarAddon "${TMP_UP_PATH}/${USER_FILE}")"
|
||||
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")" \
|
||||
--msgbox "$(printf "$(TEXT "Addon '%s' added to loader, Please enable it in 'Add an addon' menu.")" "${ADDON}")" 0 0
|
||||
else
|
||||
@ -734,7 +735,7 @@ function moduleMenu() {
|
||||
popd
|
||||
if [ -n "${USER_FILE}" -a "${USER_FILE##*.}" = "ko" ]; then
|
||||
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")" \
|
||||
--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}"
|
||||
@ -2257,11 +2258,20 @@ function updateRR() {
|
||||
rm -Rf "${VALUE}"
|
||||
mkdir -p "${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
|
||||
mkdir -p "$(dirname "${VALUE}")"
|
||||
mv -f "${TMP_PATH}/$(basename "${KEY}")" "${VALUE}"
|
||||
fi
|
||||
done < <(readConfigMap "replace" "${TMP_PATH}/update-list.yml")
|
||||
touch ${PART1_PATH}/.build
|
||||
DIALOG --title "${T}" \
|
||||
--msgbox "$(printf "$(TEXT "RR updated with success to %s!\nReboot?")" "${TAG}")" 0 0
|
||||
rebootTo config
|
||||
@ -2301,8 +2311,11 @@ function updateExts() {
|
||||
done < <(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
|
||||
fi
|
||||
elif [ "${1}" = "LKMs" ]; then
|
||||
rm -rf "${LKM_PATH}/"*
|
||||
unzip "${TMP_PATH}/rp-lkms.zip" -d "${LKM_PATH}" >/dev/null 2>&1
|
||||
rm -rf "${LKMS_PATH}/"*
|
||||
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
|
||||
touch ${PART1_PATH}/.build
|
||||
if [ ! "${2}" = "0" ]; then
|
||||
@ -2318,21 +2331,23 @@ function updateExts() {
|
||||
function updateMenu() {
|
||||
while true; do
|
||||
CUR_RR_VER="${RR_VERSION:-0}"
|
||||
CUR_ADDONS_VER="$(cat "${PART3_PATH}/addons/VERSION" 2>/dev/null)"
|
||||
CUR_MODULES_VER="$(cat "${PART3_PATH}/modules/VERSION" 2>/dev/null)"
|
||||
CUR_LKMS_VER="$(cat "${PART3_PATH}/lkms/VERSION" 2>/dev/null)"
|
||||
CUR_ADDONS_VER="$(cat "${ADDONS_PATH}/VERSION" 2>/dev/null)"
|
||||
CUR_MODULES_VER="$(cat "${MODULES_PATH}/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"
|
||||
echo "a \"$(TEXT "Update all")\"" >>"${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 "m \"$(TEXT "Update modules")(${CUR_MODULES_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 "b \"$(TEXT "Pre Release:") \Z4${PRERELEASE}\Zn\"" >>"${TMP_PATH}/menu"
|
||||
echo "e \"$(TEXT "Exit")\"" >>"${TMP_PATH}/menu"
|
||||
|
||||
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
|
||||
[ $? -ne 0 ] && return
|
||||
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"
|
||||
fi
|
||||
[ -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")")"
|
||||
if [ ! -f "${TMP_PATH}/update.zip" ]; then
|
||||
downloadExts "RR" "${CUR_RR_VER:-None}" "https://github.com/XXXXXX/rr" "update" "0"
|
||||
@ -2390,11 +2410,19 @@ function updateMenu() {
|
||||
fi
|
||||
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)
|
||||
if ! tty | grep -q "/dev/pts" || [ -z "${SSH_TTY}" ]; then
|
||||
MSG=""
|
||||
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")" \
|
||||
--msgbox "${MSG}" 0 0
|
||||
return
|
||||
@ -2405,9 +2433,10 @@ function updateMenu() {
|
||||
MSG+="$(TEXT "Upload addons*.zip will update Addons.\n")"
|
||||
MSG+="$(TEXT "Upload modules*.zip will update Modules.\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")" \
|
||||
--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"
|
||||
USER_FILE=""
|
||||
rm -rf "${TMP_UP_PATH}"
|
||||
@ -2441,6 +2470,10 @@ function updateMenu() {
|
||||
rm -f "${TMP_PATH}/rp-lkms.zip"
|
||||
mv -f "${TMP_UP_PATH}/${USER_FILE}" "${TMP_PATH}/rp-lkms.zip"
|
||||
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
|
||||
DIALOG --title "$(TEXT "Update")" \
|
||||
--msgbox "$(TEXT "Not a valid file, please try again!")" 0 0
|
||||
@ -2488,6 +2521,13 @@ while true; do
|
||||
fi
|
||||
echo "u \"$(TEXT "Parse pat")\"" >>"${TMP_PATH}/menu"
|
||||
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 "o \"$(TEXT "Modules menu")\"" >>"${TMP_PATH}/menu"
|
||||
echo "x \"$(TEXT "Cmdline menu")\"" >>"${TMP_PATH}/menu"
|
||||
@ -2528,6 +2568,25 @@ while true; do
|
||||
ParsePat
|
||||
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)
|
||||
addonMenu
|
||||
NEXT="d"
|
||||
|
@ -4,6 +4,7 @@
|
||||
|
||||
. ${WORK_PATH}/include/functions.sh
|
||||
. ${WORK_PATH}/include/addons.sh
|
||||
. ${WORK_PATH}/include/modules.sh
|
||||
|
||||
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}")"
|
||||
BUILDNUM="$(readConfigKey "buildnum" "${USER_CONFIG_FILE}")"
|
||||
SMALLNUM="$(readConfigKey "smallnum" "${USER_CONFIG_FILE}")"
|
||||
KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||
LKM="$(readConfigKey "lkm" "${USER_CONFIG_FILE}")"
|
||||
SN="$(readConfigKey "sn" "${USER_CONFIG_FILE}")"
|
||||
LAYOUT="$(readConfigKey "layout" "${USER_CONFIG_FILE}")"
|
||||
@ -51,7 +53,7 @@ if [ -n "${PRODUCTVER}" -a -n "${BUILDNUM}" -a -n "${SMALLNUM}" ] &&
|
||||
PATSUM=""
|
||||
# Clean old pat file
|
||||
rm -f "${PART3_PATH}/dl/${MODEL}-${PRODUCTVER}.pat" 2>/dev/null || true
|
||||
fi
|
||||
fi
|
||||
# Update new buildnumber
|
||||
PRODUCTVER=${majorversion}.${minorversion}
|
||||
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"
|
||||
rm -f "${TMP_PATH}/rp.txt"
|
||||
|
||||
# Extract ck modules to ramdisk
|
||||
echo -n "."
|
||||
# Extract modules to ramdisk
|
||||
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"
|
||||
installModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}" "${!MODULES[@]}"
|
||||
|
||||
echo -n "."
|
||||
# Copying fake modprobe
|
||||
cp -f "${WORK_PATH}/patch/iosched-trampoline.sh" "${RAMDISK_PATH}/usr/sbin/modprobe"
|
||||
# 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
|
||||
echo -n "."
|
||||
@ -168,24 +155,24 @@ echo "export KEYMAP=${KEYMAP}" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
chmod +x "${RAMDISK_PATH}/addons/addons.sh"
|
||||
|
||||
# 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
|
||||
|
||||
# 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
|
||||
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
|
||||
[ -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
|
||||
installAddon wol
|
||||
installAddon "wol" "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}"
|
||||
echo "/addons/wol.sh \${1} " >>"${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
|
||||
|
||||
# User addons
|
||||
for ADDON in ${!ADDONS[@]}; do
|
||||
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}"
|
||||
exit 1
|
||||
fi
|
||||
@ -222,6 +209,7 @@ fi
|
||||
#fi
|
||||
|
||||
# Call user patch scripts
|
||||
echo -n "."
|
||||
for F in $(ls -1 ${SCRIPTS_PATH}/*.sh 2>/dev/null); do
|
||||
echo "Calling ${F}" >>"${LOG_FILE}" 2>&1
|
||||
. "${F}" >>"${LOG_FILE}" 2>&1 || dieLog
|
||||
@ -238,4 +226,9 @@ fi
|
||||
# Clean
|
||||
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
|
||||
|
@ -12,17 +12,32 @@ set -o pipefail # Get exit code from process piped
|
||||
echo -n "Patching zImage"
|
||||
|
||||
rm -f "${MOD_ZIMAGE_FILE}"
|
||||
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
|
||||
|
||||
KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||
if [ "${KERNEL}" = "custom" ]; then
|
||||
echo -n "."
|
||||
MODEL="$(readConfigKey "model" "${USER_CONFIG_FILE}")"
|
||||
PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")"
|
||||
PLATFORM="$(readModelKey "${MODEL}" "platform")"
|
||||
KVER="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kver")"
|
||||
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 "."
|
||||
# Update HASH of new DSM zImage
|
||||
HASH="$(sha256sum ${ORI_ZIMAGE_FILE} | awk '{print$1}')"
|
||||
writeConfigKey "zimage-hash" "${HASH}" "${USER_CONFIG_FILE}"
|
||||
|
||||
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/p3/"* "/tmp/files/p3"
|
||||
# Get extractor, LKM, addons and Modules
|
||||
getCKs "/tmp/files/p3/cks" true
|
||||
getLKMs "/tmp/files/p3/lkms" true
|
||||
getAddons "/tmp/files/p3/addons" true
|
||||
getModules "/tmp/files/p3/modules" true
|
||||
|
@ -94,6 +94,35 @@ function getBuildroot() {
|
||||
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
|
||||
# $1 path
|
||||
# $2 (true|false[d]) include prerelease
|
||||
|
Loading…
x
Reference in New Issue
Block a user