mirror of
https://github.com/RROrg/rr.git
synced 2025-06-21 05:51:05 +08:00
fix ... 太多懒得写
This commit is contained in:
parent
996196c608
commit
88a556407d
1
.gitignore
vendored
1
.gitignore
vendored
@ -10,6 +10,7 @@ rr*.vmdk
|
|||||||
**.po~
|
**.po~
|
||||||
**.mo
|
**.mo
|
||||||
|
|
||||||
|
downloads.md
|
||||||
tests
|
tests
|
||||||
Changelog*
|
Changelog*
|
||||||
sha256sum
|
sha256sum
|
||||||
|
@ -33,6 +33,26 @@ BTITLE+="$([ ${EFI} -eq 1 ] && echo " [UEFI]" || echo " [BIOS]")"
|
|||||||
BTITLE+="$([ "${BUS}" = "usb" ] && echo " [${BUS^^} flashdisk]" || echo " [${BUS^^} DoM]")"
|
BTITLE+="$([ "${BUS}" = "usb" ] && echo " [${BUS^^} flashdisk]" || echo " [${BUS^^} DoM]")"
|
||||||
printf "\033[1;33m%*s\033[0m\n" $(((${#BTITLE} + ${COLUMNS}) / 2)) "${BTITLE}"
|
printf "\033[1;33m%*s\033[0m\n" $(((${#BTITLE} + ${COLUMNS}) / 2)) "${BTITLE}"
|
||||||
|
|
||||||
|
if [ -f ${PART1_PATH}/.upgraded ]; then
|
||||||
|
MODEL="$(readConfigKey "model" "${USER_CONFIG_FILE}")"
|
||||||
|
if [ -n "${MODEL}" ]; then
|
||||||
|
printf "\033[1;43m%s\033[0m\n" "$(TEXT "Reconfigure after upgrade ...")"
|
||||||
|
PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")"
|
||||||
|
PATURL="$(readConfigKey "paturl" "${USER_CONFIG_FILE}")"
|
||||||
|
PATSUM="$(readConfigKey "patsum" "${USER_CONFIG_FILE}")"
|
||||||
|
./menu.sh modelMenu "${MODEL}" || {
|
||||||
|
echo -e "$(TEXT "Reconfiguration failed!")"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
if [ -n "${PRODUCTVER}" ] && [ -n "${PATURL}" ]; then
|
||||||
|
./menu.sh productversMenu "${PRODUCTVER}" "${PATURL}" "${PATSUM}" || {
|
||||||
|
echo -e "$(TEXT "Reconfiguration failed!")"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
rm -f ${PART1_PATH}/.upgraded
|
||||||
|
fi
|
||||||
# Check if DSM zImage changed, patch it if necessary
|
# Check if DSM zImage changed, patch it if necessary
|
||||||
ZIMAGE_HASH="$(readConfigKey "zimage-hash" "${USER_CONFIG_FILE}")"
|
ZIMAGE_HASH="$(readConfigKey "zimage-hash" "${USER_CONFIG_FILE}")"
|
||||||
if [ -f ${PART1_PATH}/.build ] || [ "$(sha256sum "${ORI_ZIMAGE_FILE}" | awk '{print $1}')" != "${ZIMAGE_HASH}" ]; then
|
if [ -f ${PART1_PATH}/.build ] || [ "$(sha256sum "${ORI_ZIMAGE_FILE}" | awk '{print $1}')" != "${ZIMAGE_HASH}" ]; then
|
||||||
@ -61,13 +81,12 @@ MODELID="$(readConfigKey "modelid" "${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}")"
|
||||||
|
DT="$(readConfigKey "dt" "${USER_CONFIG_FILE}")"
|
||||||
|
KVER="$(readConfigKey "kver" "${USER_CONFIG_FILE}")"
|
||||||
|
KPRE="$(readConfigKey "kpre" "${USER_CONFIG_FILE}")"
|
||||||
KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||||
LKM="$(readConfigKey "lkm" "${USER_CONFIG_FILE}")"
|
LKM="$(readConfigKey "lkm" "${USER_CONFIG_FILE}")"
|
||||||
|
|
||||||
DT="$(readConfigKey "platforms.${PLATFORM}.dt" "${WORK_PATH}/platforms.yml")"
|
|
||||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
|
||||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
|
||||||
|
|
||||||
MEV="$(virt-what 2>/dev/null | head -1)"
|
MEV="$(virt-what 2>/dev/null | head -1)"
|
||||||
DMI="$(dmesg 2>/dev/null | grep -i "DMI:" | head -1 | sed 's/\[.*\] DMI: //i')"
|
DMI="$(dmesg 2>/dev/null | grep -i "DMI:" | head -1 | sed 's/\[.*\] DMI: //i')"
|
||||||
CPU="$(awk -F': ' '/model name/ {print $2}' /proc/cpuinfo | uniq)"
|
CPU="$(awk -F': ' '/model name/ {print $2}' /proc/cpuinfo | uniq)"
|
||||||
@ -288,16 +307,18 @@ function _bootwait() {
|
|||||||
|
|
||||||
DIRECT="$(readConfigKey "directboot" "${USER_CONFIG_FILE}")"
|
DIRECT="$(readConfigKey "directboot" "${USER_CONFIG_FILE}")"
|
||||||
if [ "${DIRECT}" = "true" ] || [ "${MEV:-physical}" = "parallels" ]; then
|
if [ "${DIRECT}" = "true" ] || [ "${MEV:-physical}" = "parallels" ]; then
|
||||||
grub-editenv ${USER_GRUBENVFILE} set rr_version="${WTITLE}"
|
# grubenv file limit is 1024 bytes.
|
||||||
grub-editenv ${USER_GRUBENVFILE} set rr_booting="${BTITLE}"
|
grub-editenv ${USER_RSYSENVFILE} create
|
||||||
grub-editenv ${USER_GRUBENVFILE} set dsm_model="${MODEL}(${PLATFORM})"
|
grub-editenv ${USER_RSYSENVFILE} set rr_version="${WTITLE}"
|
||||||
grub-editenv ${USER_GRUBENVFILE} set dsm_version="${PRODUCTVER}(${BUILDNUM}$([ ${SMALLNUM:-0} -ne 0 ] && echo "u${SMALLNUM}"))"
|
grub-editenv ${USER_RSYSENVFILE} set rr_booting="${BTITLE}"
|
||||||
grub-editenv ${USER_GRUBENVFILE} set dsm_kernel="${KERNEL}"
|
grub-editenv ${USER_RSYSENVFILE} set dsm_model="${MODEL}(${PLATFORM})"
|
||||||
grub-editenv ${USER_GRUBENVFILE} set dsm_lkm="${LKM}"
|
grub-editenv ${USER_RSYSENVFILE} set dsm_version="${PRODUCTVER}(${BUILDNUM}$([ ${SMALLNUM:-0} -ne 0 ] && echo "u${SMALLNUM}"))"
|
||||||
grub-editenv ${USER_GRUBENVFILE} set sys_mev="${MEV:-physical}"
|
grub-editenv ${USER_RSYSENVFILE} set dsm_kernel="${KERNEL}"
|
||||||
grub-editenv ${USER_GRUBENVFILE} set sys_dmi="${DMI}"
|
grub-editenv ${USER_RSYSENVFILE} set dsm_lkm="${LKM}"
|
||||||
grub-editenv ${USER_GRUBENVFILE} set sys_cpu="${CPU}"
|
grub-editenv ${USER_RSYSENVFILE} set sys_mev="${MEV:-physical}"
|
||||||
grub-editenv ${USER_GRUBENVFILE} set sys_mem="${MEM}"
|
grub-editenv ${USER_RSYSENVFILE} set sys_dmi="${DMI}"
|
||||||
|
grub-editenv ${USER_RSYSENVFILE} set sys_cpu="${CPU}"
|
||||||
|
grub-editenv ${USER_RSYSENVFILE} set sys_mem="${MEM}"
|
||||||
|
|
||||||
CMDLINE_DIRECT=$(echo ${CMDLINE_LINE} | sed 's/>/\\\\>/g') # Escape special chars
|
CMDLINE_DIRECT=$(echo ${CMDLINE_LINE} | sed 's/>/\\\\>/g') # Escape special chars
|
||||||
grub-editenv ${USER_GRUBENVFILE} set dsm_cmdline="${CMDLINE_DIRECT}"
|
grub-editenv ${USER_GRUBENVFILE} set dsm_cmdline="${CMDLINE_DIRECT}"
|
||||||
@ -309,16 +330,7 @@ if [ "${DIRECT}" = "true" ] || [ "${MEV:-physical}" = "parallels" ]; then
|
|||||||
reboot
|
reboot
|
||||||
exit 0
|
exit 0
|
||||||
else
|
else
|
||||||
grub-editenv ${USER_GRUBENVFILE} unset rr_version
|
rm -f ${USER_RSYSENVFILE} 2>/dev/null || true
|
||||||
grub-editenv ${USER_GRUBENVFILE} unset rr_booting
|
|
||||||
grub-editenv ${USER_GRUBENVFILE} unset dsm_model
|
|
||||||
grub-editenv ${USER_GRUBENVFILE} unset dsm_version
|
|
||||||
grub-editenv ${USER_GRUBENVFILE} unset dsm_kernel
|
|
||||||
grub-editenv ${USER_GRUBENVFILE} unset dsm_lkm
|
|
||||||
grub-editenv ${USER_GRUBENVFILE} unset sys_mev
|
|
||||||
grub-editenv ${USER_GRUBENVFILE} unset sys_dmi
|
|
||||||
grub-editenv ${USER_GRUBENVFILE} unset sys_cpu
|
|
||||||
grub-editenv ${USER_GRUBENVFILE} unset sys_mem
|
|
||||||
grub-editenv ${USER_GRUBENVFILE} unset dsm_cmdline
|
grub-editenv ${USER_GRUBENVFILE} unset dsm_cmdline
|
||||||
grub-editenv ${USER_GRUBENVFILE} unset next_entry
|
grub-editenv ${USER_GRUBENVFILE} unset next_entry
|
||||||
ETHX=$(ls /sys/class/net/ 2>/dev/null | grep -v lo) || true
|
ETHX=$(ls /sys/class/net/ 2>/dev/null | grep -v lo) || true
|
||||||
|
@ -15,6 +15,7 @@ LOG_FILE="${TMP_PATH}/log.txt"
|
|||||||
|
|
||||||
USER_GRUB_CONFIG="${PART1_PATH}/boot/grub/grub.cfg"
|
USER_GRUB_CONFIG="${PART1_PATH}/boot/grub/grub.cfg"
|
||||||
USER_GRUBENVFILE="${PART1_PATH}/boot/grub/grubenv"
|
USER_GRUBENVFILE="${PART1_PATH}/boot/grub/grubenv"
|
||||||
|
USER_RSYSENVFILE="${PART1_PATH}/boot/grub/rsysenv"
|
||||||
USER_CONFIG_FILE="${PART1_PATH}/user-config.yml"
|
USER_CONFIG_FILE="${PART1_PATH}/user-config.yml"
|
||||||
USER_LOCALE_FILE="${PART1_PATH}/.locale"
|
USER_LOCALE_FILE="${PART1_PATH}/.locale"
|
||||||
|
|
||||||
@ -24,6 +25,7 @@ ORI_RDGZ_FILE="${PART2_PATH}/rd.gz"
|
|||||||
RR_BZIMAGE_FILE="${PART3_PATH}/bzImage-rr"
|
RR_BZIMAGE_FILE="${PART3_PATH}/bzImage-rr"
|
||||||
RR_RAMDISK_FILE="${PART3_PATH}/initrd-rr"
|
RR_RAMDISK_FILE="${PART3_PATH}/initrd-rr"
|
||||||
RR_RAMUSER_FILE="${PART3_PATH}/initrd-rru"
|
RR_RAMUSER_FILE="${PART3_PATH}/initrd-rru"
|
||||||
|
MC_RAMDISK_FILE="${PART3_PATH}/microcode.img"
|
||||||
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"
|
||||||
|
|
||||||
|
@ -271,6 +271,9 @@ def getpats4mv(model, version):
|
|||||||
continue
|
continue
|
||||||
V = __fullversion(f"{S['build_ver']}-{S['build_num']}-{S['nano']}")
|
V = __fullversion(f"{S['build_ver']}-{S['build_num']}-{S['nano']}")
|
||||||
if V not in pats:
|
if V not in pats:
|
||||||
|
reqPat = session.head(S['files'][0]['url'].split('?')[0], timeout=10, verify=False)
|
||||||
|
if reqPat.status_code == 403:
|
||||||
|
continue
|
||||||
pats[V] = {
|
pats[V] = {
|
||||||
'url': S['files'][0]['url'].split('?')[0],
|
'url': S['files'][0]['url'].split('?')[0],
|
||||||
'sum': S['files'][0]['checksum']
|
'sum': S['files'][0]['checksum']
|
||||||
|
@ -4,15 +4,15 @@
|
|||||||
# 2 - Kernel Version
|
# 2 - Kernel Version
|
||||||
function unpackModules() {
|
function unpackModules() {
|
||||||
local PLATFORM=${1}
|
local PLATFORM=${1}
|
||||||
local KVER=${2}
|
local PKVER=${2}
|
||||||
local KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
local KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||||
|
|
||||||
rm -rf "${TMP_PATH}/modules"
|
rm -rf "${TMP_PATH}/modules"
|
||||||
mkdir -p "${TMP_PATH}/modules"
|
mkdir -p "${TMP_PATH}/modules"
|
||||||
if [ "${KERNEL}" = "custom" ]; then
|
if [ "${KERNEL}" = "custom" ]; then
|
||||||
tar -zxf "${CKS_PATH}/modules-${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
tar -zxf "${CKS_PATH}/modules-${PLATFORM}-${PKVER}.tgz" -C "${TMP_PATH}/modules"
|
||||||
else
|
else
|
||||||
tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
tar -zxf "${MODULES_PATH}/${PLATFORM}-${PKVER}.tgz" -C "${TMP_PATH}/modules"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -22,13 +22,13 @@ function unpackModules() {
|
|||||||
# 2 - Kernel Version
|
# 2 - Kernel Version
|
||||||
function packagModules() {
|
function packagModules() {
|
||||||
local PLATFORM=${1}
|
local PLATFORM=${1}
|
||||||
local KVER=${2}
|
local PKVER=${2}
|
||||||
local KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
local KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||||
|
|
||||||
if [ "${KERNEL}" = "custom" ]; then
|
if [ "${KERNEL}" = "custom" ]; then
|
||||||
tar -zcf "${CKS_PATH}/modules-${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules" .
|
tar -zcf "${CKS_PATH}/modules-${PLATFORM}-${PKVER}.tgz" -C "${TMP_PATH}/modules" .
|
||||||
else
|
else
|
||||||
tar -zcf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules" .
|
tar -zcf "${MODULES_PATH}/${PLATFORM}-${PKVER}.tgz" -C "${TMP_PATH}/modules" .
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -38,13 +38,13 @@ function packagModules() {
|
|||||||
# 2 - Kernel Version
|
# 2 - Kernel Version
|
||||||
function getAllModules() {
|
function getAllModules() {
|
||||||
local PLATFORM=${1}
|
local PLATFORM=${1}
|
||||||
local KVER=${2}
|
local PKVER=${2}
|
||||||
|
|
||||||
if [ -z "${PLATFORM}" ] || [ -z "${KVER}" ]; then
|
if [ -z "${PLATFORM}" ] || [ -z "${PKVER}" ]; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
unpackModules "${PLATFORM}" "${KVER}"
|
unpackModules "${PLATFORM}" "${PKVER}"
|
||||||
|
|
||||||
for F in $(ls ${TMP_PATH}/modules/*.ko 2>/dev/null); do
|
for F in $(ls ${TMP_PATH}/modules/*.ko 2>/dev/null); do
|
||||||
local X=$(basename "${F}")
|
local X=$(basename "${F}")
|
||||||
@ -64,16 +64,16 @@ function getAllModules() {
|
|||||||
# 3 - Module list
|
# 3 - Module list
|
||||||
function installModules() {
|
function installModules() {
|
||||||
local PLATFORM=${1}
|
local PLATFORM=${1}
|
||||||
local KVER=${2}
|
local PKVER=${2}
|
||||||
shift 2
|
shift 2
|
||||||
local MLIST="${@}"
|
local MLIST="${@}"
|
||||||
|
|
||||||
if [ -z "${PLATFORM}" ] || [ -z "${KVER}" ]; then
|
if [ -z "${PLATFORM}" ] || [ -z "${PKVER}" ]; then
|
||||||
echo "ERROR: installModules: Platform or Kernel Version not defined" >"${LOG_FILE}"
|
echo "ERROR: installModules: Platform or Kernel Version not defined" >"${LOG_FILE}"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
unpackModules "${PLATFORM}" "${KVER}"
|
unpackModules "${PLATFORM}" "${PKVER}"
|
||||||
|
|
||||||
local ODP="$(readConfigKey "odp" "${USER_CONFIG_FILE}")"
|
local ODP="$(readConfigKey "odp" "${USER_CONFIG_FILE}")"
|
||||||
for F in $(ls "${TMP_PATH}/modules/"*.ko 2>/dev/null); do
|
for F in $(ls "${TMP_PATH}/modules/"*.ko 2>/dev/null); do
|
||||||
@ -108,19 +108,19 @@ function installModules() {
|
|||||||
# 3 - ko file
|
# 3 - ko file
|
||||||
function addToModules() {
|
function addToModules() {
|
||||||
local PLATFORM=${1}
|
local PLATFORM=${1}
|
||||||
local KVER=${2}
|
local PKVER=${2}
|
||||||
local KOFILE=${3}
|
local KOFILE=${3}
|
||||||
|
|
||||||
if [ -z "${PLATFORM}" ] || [ -z "${KVER}" ] || [ -z "${KOFILE}" ]; then
|
if [ -z "${PLATFORM}" ] || [ -z "${PKVER}" ] || [ -z "${KOFILE}" ]; then
|
||||||
echo ""
|
echo ""
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
unpackModules "${PLATFORM}" "${KVER}"
|
unpackModules "${PLATFORM}" "${PKVER}"
|
||||||
|
|
||||||
cp -f "${KOFILE}" "${TMP_PATH}/modules"
|
cp -f "${KOFILE}" "${TMP_PATH}/modules"
|
||||||
|
|
||||||
packagModules "${PLATFORM}" "${KVER}"
|
packagModules "${PLATFORM}" "${PKVER}"
|
||||||
}
|
}
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@ -130,19 +130,19 @@ function addToModules() {
|
|||||||
# 3 - ko name
|
# 3 - ko name
|
||||||
function delToModules() {
|
function delToModules() {
|
||||||
local PLATFORM=${1}
|
local PLATFORM=${1}
|
||||||
local KVER=${2}
|
local PKVER=${2}
|
||||||
local KONAME=${3}
|
local KONAME=${3}
|
||||||
|
|
||||||
if [ -z "${PLATFORM}" ] || [ -z "${KVER}" ] || [ -z "${KONAME}" ]; then
|
if [ -z "${PLATFORM}" ] || [ -z "${PKVER}" ] || [ -z "${KONAME}" ]; then
|
||||||
echo ""
|
echo ""
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
unpackModules "${PLATFORM}" "${KVER}"
|
unpackModules "${PLATFORM}" "${PKVER}"
|
||||||
|
|
||||||
rm -f "${TMP_PATH}/modules/${KONAME}"
|
rm -f "${TMP_PATH}/modules/${KONAME}"
|
||||||
|
|
||||||
packagModules "${PLATFORM}" "${KVER}"
|
packagModules "${PLATFORM}" "${PKVER}"
|
||||||
}
|
}
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@ -164,15 +164,15 @@ function getdepends() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
local PLATFORM=${1}
|
local PLATFORM=${1}
|
||||||
local KVER=${2}
|
local PKVER=${2}
|
||||||
local KONAME=${3}
|
local KONAME=${3}
|
||||||
|
|
||||||
if [ -z "${PLATFORM}" ] || [ -z "${KVER}" ] || [ -z "${KONAME}" ]; then
|
if [ -z "${PLATFORM}" ] || [ -z "${PKVER}" ] || [ -z "${KONAME}" ]; then
|
||||||
echo ""
|
echo ""
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
unpackModules "${PLATFORM}" "${KVER}"
|
unpackModules "${PLATFORM}" "${PKVER}"
|
||||||
|
|
||||||
local DPS=($(_getdepends "${KONAME}" | tr ' ' '\n' | sort -u))
|
local DPS=($(_getdepends "${KONAME}" | tr ' ' '\n' | sort -u))
|
||||||
echo "${DPS[@]}"
|
echo "${DPS[@]}"
|
||||||
|
@ -52,6 +52,9 @@ initConfigKey "modelid" "" "${USER_CONFIG_FILE}"
|
|||||||
initConfigKey "productver" "" "${USER_CONFIG_FILE}"
|
initConfigKey "productver" "" "${USER_CONFIG_FILE}"
|
||||||
initConfigKey "buildnum" "" "${USER_CONFIG_FILE}"
|
initConfigKey "buildnum" "" "${USER_CONFIG_FILE}"
|
||||||
initConfigKey "smallnum" "" "${USER_CONFIG_FILE}"
|
initConfigKey "smallnum" "" "${USER_CONFIG_FILE}"
|
||||||
|
initConfigKey "dt" "" "${USER_CONFIG_FILE}"
|
||||||
|
initConfigKey "kver" "" "${USER_CONFIG_FILE}"
|
||||||
|
initConfigKey "kpre" "" "${USER_CONFIG_FILE}"
|
||||||
initConfigKey "paturl" "" "${USER_CONFIG_FILE}"
|
initConfigKey "paturl" "" "${USER_CONFIG_FILE}"
|
||||||
initConfigKey "patsum" "" "${USER_CONFIG_FILE}"
|
initConfigKey "patsum" "" "${USER_CONFIG_FILE}"
|
||||||
initConfigKey "sn" "" "${USER_CONFIG_FILE}"
|
initConfigKey "sn" "" "${USER_CONFIG_FILE}"
|
||||||
@ -75,18 +78,6 @@ fi
|
|||||||
initConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
initConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||||
initConfigKey "modblacklist" "evbug,cdc_ether" "${USER_CONFIG_FILE}"
|
initConfigKey "modblacklist" "evbug,cdc_ether" "${USER_CONFIG_FILE}"
|
||||||
|
|
||||||
# for update
|
|
||||||
if [ -f "${PART2_PATH}/GRUB_VER" ]; then
|
|
||||||
PLATFORMTMP="$(_get_conf_kv "PLATFORM" "${PART2_PATH}/GRUB_VER")"
|
|
||||||
MODELTMP="$(_get_conf_kv "MODEL" "${PART2_PATH}/GRUB_VER")"
|
|
||||||
[ -z "$(readConfigKey "platform" "${USER_CONFIG_FILE}")" ] &&
|
|
||||||
writeConfigKey "platform" "${PLATFORMTMP,,}" "${USER_CONFIG_FILE}"
|
|
||||||
[ -z "$(readConfigKey "model" "${USER_CONFIG_FILE}")" ] &&
|
|
||||||
writeConfigKey "model" "$(echo "${MODELTMP}" | sed 's/d$/D/; s/rp$/RP/; s/rp+/RP+/')" "${USER_CONFIG_FILE}"
|
|
||||||
[ -z "$(readConfigKey "modelid" "${USER_CONFIG_FILE}")" ] &&
|
|
||||||
writeConfigKey "modelid" "${MODELTMP}" "${USER_CONFIG_FILE}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! "LOCALBUILD" = "${LOADER_DISK}" ]; then
|
if [ ! "LOCALBUILD" = "${LOADER_DISK}" ]; then
|
||||||
if arrayExistItem "sortnetif:" "$(readConfigMap "addons" "${USER_CONFIG_FILE}")"; then
|
if arrayExistItem "sortnetif:" "$(readConfigMap "addons" "${USER_CONFIG_FILE}")"; then
|
||||||
_sort_netif "$(readConfigKey "addons.sortnetif" "${USER_CONFIG_FILE}")"
|
_sort_netif "$(readConfigKey "addons.sortnetif" "${USER_CONFIG_FILE}")"
|
||||||
|
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
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
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
@ -42,6 +42,9 @@ MODELID="$(readConfigKey "modelid" "${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}")"
|
||||||
|
DT="$(readConfigKey "dt" "${USER_CONFIG_FILE}")"
|
||||||
|
KVER="$(readConfigKey "kver" "${USER_CONFIG_FILE}")"
|
||||||
|
KPRE="$(readConfigKey "kpre" "${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}")"
|
KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||||
@ -188,12 +191,13 @@ function modelMenu() {
|
|||||||
resp="${1}"
|
resp="${1}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# If user change model, clean build* and pat* and SN
|
local BASEMODEL="${MODEL}"
|
||||||
if [ "${MODEL}" != "${resp}" ]; then
|
MODEL="${resp}"
|
||||||
PLATFORM="$(grep -w "${resp}" "${TMP_PATH}/modellist" | awk '{print $2}' | head -1)"
|
writeConfigKey "model" "${MODEL}" "${USER_CONFIG_FILE}"
|
||||||
MODEL="${resp}"
|
PLATFORM="$(grep -w "${MODEL}" "${TMP_PATH}/modellist" | awk '{print $2}' | head -1)"
|
||||||
writeConfigKey "platform" "${PLATFORM}" "${USER_CONFIG_FILE}"
|
writeConfigKey "platform" "${PLATFORM}" "${USER_CONFIG_FILE}"
|
||||||
writeConfigKey "model" "${MODEL}" "${USER_CONFIG_FILE}"
|
|
||||||
|
if [ "${MODEL}" != "${BASEMODEL}" ]; then
|
||||||
MODELID=""
|
MODELID=""
|
||||||
PRODUCTVER=""
|
PRODUCTVER=""
|
||||||
BUILDNUM=""
|
BUILDNUM=""
|
||||||
@ -217,8 +221,22 @@ function modelMenu() {
|
|||||||
# Remove old files
|
# Remove old files
|
||||||
rm -f "${ORI_ZIMAGE_FILE}" "${ORI_RDGZ_FILE}" "${MOD_ZIMAGE_FILE}" "${MOD_RDGZ_FILE}" >/dev/null 2>&1 || true
|
rm -f "${ORI_ZIMAGE_FILE}" "${ORI_RDGZ_FILE}" "${MOD_ZIMAGE_FILE}" "${MOD_RDGZ_FILE}" >/dev/null 2>&1 || true
|
||||||
rm -f "${PART1_PATH}/grub_cksum.syno" "${PART1_PATH}/GRUB_VER" "${PART2_PATH}/"* >/dev/null 2>&1 || true
|
rm -f "${PART1_PATH}/grub_cksum.syno" "${PART1_PATH}/GRUB_VER" "${PART2_PATH}/"* >/dev/null 2>&1 || true
|
||||||
touch ${PART1_PATH}/.build
|
rm -f "${PART3_PATH}/dl/${MODEL}-${PRODUCTVER}.pat" >/dev/null 2>&1 || true
|
||||||
|
else
|
||||||
|
if [ -z "${SN}" ]; then
|
||||||
|
SN="$(generateSerial "${MODEL}")"
|
||||||
|
writeConfigKey "sn" "${SN}" "${USER_CONFIG_FILE}"
|
||||||
|
fi
|
||||||
|
if [ -z "${MAC1}" ]; then
|
||||||
|
NETIF_NUM=2
|
||||||
|
MACS=($(generateMacAddress "${MODEL}" ${NETIF_NUM}))
|
||||||
|
for I in $(seq 1 ${NETIF_NUM}); do
|
||||||
|
eval MAC${I}="${MACS[$((${I} - 1))]}"
|
||||||
|
writeConfigKey "mac${I}" "${MACS[$((${I} - 1))]}" "${USER_CONFIG_FILE}"
|
||||||
|
done
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
touch ${PART1_PATH}/.build
|
||||||
rm -f "${TMP_PATH}/modellist"
|
rm -f "${TMP_PATH}/modellist"
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
@ -312,53 +330,71 @@ function productversMenu() {
|
|||||||
paturl="${2}"
|
paturl="${2}"
|
||||||
patsum="${3}"
|
patsum="${3}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
[ "${paturl:0:1}" = "#" ] && patsum="${paturl}"
|
||||||
[ -z "${paturl}" ] || [ -z "${patsum}" ] && return 1
|
[ -z "${paturl}" ] || [ -z "${patsum}" ] && return 1
|
||||||
writeConfigKey "paturl" "${paturl}" "${USER_CONFIG_FILE}"
|
|
||||||
writeConfigKey "patsum" "${patsum}" "${USER_CONFIG_FILE}"
|
|
||||||
PRODUCTVER=${selver}
|
|
||||||
writeConfigKey "productver" "${PRODUCTVER}" "${USER_CONFIG_FILE}"
|
|
||||||
BUILDNUM=""
|
|
||||||
SMALLNUM=""
|
|
||||||
writeConfigKey "buildnum" "${BUILDNUM}" "${USER_CONFIG_FILE}"
|
|
||||||
writeConfigKey "smallnum" "${SMALLNUM}" "${USER_CONFIG_FILE}"
|
|
||||||
if [ -z "${1}" ]; then
|
if [ -z "${1}" ]; then
|
||||||
DIALOG --title "$(TEXT "Product Version")" \
|
DIALOG --title "$(TEXT "Product Version")" \
|
||||||
--infobox "$(TEXT "Reconfiguring Synoinfo, Addons and Modules ...")" 0 0
|
--infobox "$(TEXT "Reconfiguring Synoinfo, Addons and Modules ...")" 0 0
|
||||||
fi
|
fi
|
||||||
# Delete synoinfo and reload model/build synoinfo
|
local BASEPATURL="$(readConfigKey "paturl" "${USER_CONFIG_FILE}")"
|
||||||
writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}"
|
local BASEPATSUM="$(readConfigKey "patsum" "${USER_CONFIG_FILE}")"
|
||||||
while IFS=': ' read -r KEY VALUE; do
|
|
||||||
writeConfigKey "synoinfo.\"${KEY}\"" "${VALUE}" "${USER_CONFIG_FILE}"
|
PRODUCTVER=${selver}
|
||||||
done <<<$(readConfigMap "platforms.${PLATFORM}.synoinfo" "${WORK_PATH}/platforms.yml")
|
writeConfigKey "productver" "${PRODUCTVER}" "${USER_CONFIG_FILE}"
|
||||||
|
if [ "${BASEPATURL}" != "${paturl}" ] || [ "${BASEPATSUM}" != "${patsum}" ]; then
|
||||||
|
BUILDNUM=""
|
||||||
|
SMALLNUM=""
|
||||||
|
writeConfigKey "buildnum" "${BUILDNUM}" "${USER_CONFIG_FILE}"
|
||||||
|
writeConfigKey "smallnum" "${SMALLNUM}" "${USER_CONFIG_FILE}"
|
||||||
|
fi
|
||||||
|
writeConfigKey "paturl" "${paturl}" "${USER_CONFIG_FILE}"
|
||||||
|
writeConfigKey "patsum" "${patsum}" "${USER_CONFIG_FILE}"
|
||||||
|
DT="$(readConfigKey "platforms.${PLATFORM}.dt" "${WORK_PATH}/platforms.yml")"
|
||||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
||||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
||||||
|
writeConfigKey "dt" "${DT}" "${USER_CONFIG_FILE}"
|
||||||
|
writeConfigKey "kver" "${KVER}" "${USER_CONFIG_FILE}"
|
||||||
|
writeConfigKey "kpre" "${KPRE}" "${USER_CONFIG_FILE}"
|
||||||
# Check kernel
|
# Check kernel
|
||||||
if [ -f "${CKS_PATH}/bzImage-${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}.gz" ] &&
|
if [ -f "${CKS_PATH}/bzImage-${PLATFORM}-${KPRE:+${KPRE}-}${KVER}.gz" ] &&
|
||||||
[ -f "${CKS_PATH}/modules-${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}.tgz" ]; then
|
[ -f "${CKS_PATH}/modules-${PLATFORM}-${KPRE:+${KPRE}-}${KVER}.tgz" ]; then
|
||||||
:
|
:
|
||||||
else
|
else
|
||||||
KERNEL='official'
|
KERNEL='official'
|
||||||
writeConfigKey "kernel" "${KERNEL}" "${USER_CONFIG_FILE}"
|
writeConfigKey "kernel" "${KERNEL}" "${USER_CONFIG_FILE}"
|
||||||
fi
|
fi
|
||||||
# Check usbasinternal
|
# Check usbasinternal
|
||||||
if [ "true" = "$(readConfigKey "platforms.${PLATFORM}.dt" "${WORK_PATH}/platforms.yml")" ]; then
|
if [ "true" = "${DT}" ]; then
|
||||||
USBASINTERNAL='false'
|
USBASINTERNAL='false'
|
||||||
writeConfigKey "usbasinternal" "${USBASINTERNAL}" "${USER_CONFIG_FILE}"
|
writeConfigKey "usbasinternal" "${USBASINTERNAL}" "${USER_CONFIG_FILE}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Delete synoinfo and reload model/build synoinfo
|
||||||
|
writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}"
|
||||||
|
while IFS=': ' read -r KEY VALUE; do
|
||||||
|
writeConfigKey "synoinfo.\"${KEY}\"" "${VALUE}" "${USER_CONFIG_FILE}"
|
||||||
|
done <<<$(readConfigMap "platforms.${PLATFORM}.synoinfo" "${WORK_PATH}/platforms.yml")
|
||||||
|
|
||||||
# Check addons
|
# Check addons
|
||||||
while IFS=': ' read -r ADDON PARAM; do
|
while IFS=': ' read -r ADDON PARAM; do
|
||||||
[ -z "${ADDON}" ] && continue
|
[ -z "${ADDON}" ] && continue
|
||||||
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}"; then
|
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "${KPRE:+${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}")
|
||||||
# Rewrite modules
|
# Rewrite modules
|
||||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||||
mergeConfigModules "$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}" | awk '{print $1}')" "${USER_CONFIG_FILE}"
|
mergeConfigModules "$(getAllModules "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}" | awk '{print $1}')" "${USER_CONFIG_FILE}"
|
||||||
# Remove old files
|
|
||||||
rm -f "${ORI_ZIMAGE_FILE}" "${ORI_RDGZ_FILE}" "${MOD_ZIMAGE_FILE}" "${MOD_RDGZ_FILE}" >/dev/null 2>&1 || true
|
if [ "${BASEPATURL}" != "${paturl}" ] || [ "${BASEPATSUM}" != "${patsum}" ]; then
|
||||||
rm -f "${PART1_PATH}/grub_cksum.syno" "${PART1_PATH}/GRUB_VER" "${PART2_PATH}/"* >/dev/null 2>&1 || true
|
# Remove old files
|
||||||
rm -f "${PART3_PATH}/dl/${MODEL}-${PRODUCTVER}.pat" >/dev/null 2>&1 || true
|
rm -f "${ORI_ZIMAGE_FILE}" "${ORI_RDGZ_FILE}" "${MOD_ZIMAGE_FILE}" "${MOD_RDGZ_FILE}" >/dev/null 2>&1 || true
|
||||||
|
rm -f "${PART1_PATH}/grub_cksum.syno" "${PART1_PATH}/GRUB_VER" "${PART2_PATH}/"* >/dev/null 2>&1 || true
|
||||||
|
rm -f "${PART3_PATH}/dl/${MODEL}-${PRODUCTVER}.pat" >/dev/null 2>&1 || true
|
||||||
|
fi
|
||||||
|
|
||||||
touch ${PART1_PATH}/.build
|
touch ${PART1_PATH}/.build
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
@ -412,10 +448,28 @@ function setConfigFromDSM() {
|
|||||||
writeConfigKey "productver" "${PRODUCTVER}" "${USER_CONFIG_FILE}"
|
writeConfigKey "productver" "${PRODUCTVER}" "${USER_CONFIG_FILE}"
|
||||||
writeConfigKey "buildnum" "${BUILDNUM}" "${USER_CONFIG_FILE}"
|
writeConfigKey "buildnum" "${BUILDNUM}" "${USER_CONFIG_FILE}"
|
||||||
writeConfigKey "smallnum" "${SMALLNUM}" "${USER_CONFIG_FILE}"
|
writeConfigKey "smallnum" "${SMALLNUM}" "${USER_CONFIG_FILE}"
|
||||||
|
|
||||||
writeConfigKey "paturl" "#" "${USER_CONFIG_FILE}"
|
writeConfigKey "paturl" "#" "${USER_CONFIG_FILE}"
|
||||||
writeConfigKey "patsum" "#" "${USER_CONFIG_FILE}"
|
writeConfigKey "patsum" "#" "${USER_CONFIG_FILE}"
|
||||||
|
|
||||||
|
DT="$(readConfigKey "platforms.${PLATFORM}.dt" "${WORK_PATH}/platforms.yml")"
|
||||||
|
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
||||||
|
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
||||||
|
writeConfigKey "dt" "${DT}" "${USER_CONFIG_FILE}"
|
||||||
|
writeConfigKey "kver" "${KVER}" "${USER_CONFIG_FILE}"
|
||||||
|
writeConfigKey "kpre" "${KPRE}" "${USER_CONFIG_FILE}"
|
||||||
|
# Check kernel
|
||||||
|
if [ -f "${CKS_PATH}/bzImage-${PLATFORM}-${KPRE:+${KPRE}-}${KVER}.gz" ] &&
|
||||||
|
[ -f "${CKS_PATH}/modules-${PLATFORM}-${KPRE:+${KPRE}-}${KVER}.tgz" ]; then
|
||||||
|
:
|
||||||
|
else
|
||||||
|
KERNEL='official'
|
||||||
|
writeConfigKey "kernel" "${KERNEL}" "${USER_CONFIG_FILE}"
|
||||||
|
fi
|
||||||
|
# Check usbasinternal
|
||||||
|
if [ "true" = "${DT}" ]; then
|
||||||
|
USBASINTERNAL='false'
|
||||||
|
writeConfigKey "usbasinternal" "${USBASINTERNAL}" "${USER_CONFIG_FILE}"
|
||||||
|
fi
|
||||||
# Delete synoinfo and reload model/build synoinfo
|
# Delete synoinfo and reload model/build synoinfo
|
||||||
writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}"
|
writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}"
|
||||||
while IFS=': ' read -r KEY VALUE; do
|
while IFS=': ' read -r KEY VALUE; do
|
||||||
@ -423,17 +477,16 @@ function setConfigFromDSM() {
|
|||||||
done <<<$(readConfigMap "platforms.${PLATFORM}.synoinfo" "${WORK_PATH}/platforms.yml")
|
done <<<$(readConfigMap "platforms.${PLATFORM}.synoinfo" "${WORK_PATH}/platforms.yml")
|
||||||
|
|
||||||
# Check addons
|
# Check addons
|
||||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
|
||||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
|
||||||
while IFS=': ' read -r ADDON PARAM; do
|
while IFS=': ' read -r ADDON PARAM; do
|
||||||
[ -z "${ADDON}" ] && continue
|
[ -z "${ADDON}" ] && continue
|
||||||
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}"; then
|
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "${KPRE:+${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
|
# Rebuild modules
|
||||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||||
mergeConfigModules "$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}" | awk '{print $1}')" "${USER_CONFIG_FILE}"
|
mergeConfigModules "$(getAllModules "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}" | awk '{print $1}')" "${USER_CONFIG_FILE}"
|
||||||
touch ${PART1_PATH}/.build
|
touch ${PART1_PATH}/.build
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
@ -497,7 +550,7 @@ function ParsePat() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
writeConfigKey "paturl" "#PARSEPAT" "${USER_CONFIG_FILE}"
|
writeConfigKey "paturl" "#PARSEPAT" "${USER_CONFIG_FILE}"
|
||||||
writeConfigKey "patsum" "" "${USER_CONFIG_FILE}"
|
writeConfigKey "patsum" "#PARSEPAT" "${USER_CONFIG_FILE}"
|
||||||
copyDSMFiles "${UNTAR_PAT_PATH}"
|
copyDSMFiles "${UNTAR_PAT_PATH}"
|
||||||
|
|
||||||
touch ${PART1_PATH}/.build
|
touch ${PART1_PATH}/.build
|
||||||
@ -521,6 +574,11 @@ function ParsePat() {
|
|||||||
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}")"
|
||||||
|
DT="$(readConfigKey "dt" "${USER_CONFIG_FILE}")"
|
||||||
|
KVER="$(readConfigKey "kver" "${USER_CONFIG_FILE}")"
|
||||||
|
KPRE="$(readConfigKey "kpre" "${USER_CONFIG_FILE}")"
|
||||||
|
KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||||
|
USBASINTERNAL="$(readConfigKey "usbasinternal" "${USER_CONFIG_FILE}")"
|
||||||
SN="$(readConfigKey "sn" "${USER_CONFIG_FILE}")"
|
SN="$(readConfigKey "sn" "${USER_CONFIG_FILE}")"
|
||||||
MAC1="$(readConfigKey "mac1" "${USER_CONFIG_FILE}")"
|
MAC1="$(readConfigKey "mac1" "${USER_CONFIG_FILE}")"
|
||||||
MAC2="$(readConfigKey "mac2" "${USER_CONFIG_FILE}")"
|
MAC2="$(readConfigKey "mac2" "${USER_CONFIG_FILE}")"
|
||||||
@ -531,9 +589,6 @@ function ParsePat() {
|
|||||||
###############################################################################
|
###############################################################################
|
||||||
# Manage addons
|
# Manage addons
|
||||||
function addonMenu() {
|
function addonMenu() {
|
||||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
|
||||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
|
||||||
|
|
||||||
NEXT="a"
|
NEXT="a"
|
||||||
while true; do
|
while true; do
|
||||||
unset ADDONS
|
unset ADDONS
|
||||||
@ -560,7 +615,7 @@ function addonMenu() {
|
|||||||
while read -r ADDON DESC; do
|
while read -r ADDON DESC; do
|
||||||
arrayExistItem "${ADDON}" "${!ADDONS[@]}" && continue # Check if addon has already been added
|
arrayExistItem "${ADDON}" "${!ADDONS[@]}" && continue # Check if addon has already been added
|
||||||
echo "${ADDON} \"${DESC}\"" >>"${TMP_PATH}/menu"
|
echo "${ADDON} \"${DESC}\"" >>"${TMP_PATH}/menu"
|
||||||
done <<<$(availableAddons "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
|
done <<<$(availableAddons "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}")
|
||||||
if [ ! -f "${TMP_PATH}/menu" ]; then
|
if [ ! -f "${TMP_PATH}/menu" ]; then
|
||||||
DIALOG --title "$(TEXT "Addons")" \
|
DIALOG --title "$(TEXT "Addons")" \
|
||||||
--msgbox "$(TEXT "No available addons to add")" 0 0
|
--msgbox "$(TEXT "No available addons to add")" 0 0
|
||||||
@ -618,7 +673,7 @@ function addonMenu() {
|
|||||||
MSG+="${MODULE}"
|
MSG+="${MODULE}"
|
||||||
fi
|
fi
|
||||||
MSG+=": \Z5${DESC}\Zn\n"
|
MSG+=": \Z5${DESC}\Zn\n"
|
||||||
done <<<$(availableAddons "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
|
done <<<$(availableAddons "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}")
|
||||||
DIALOG --title "$(TEXT "Addons")" \
|
DIALOG --title "$(TEXT "Addons")" \
|
||||||
--msgbox "${MSG}" 0 0
|
--msgbox "${MSG}" 0 0
|
||||||
;;
|
;;
|
||||||
@ -673,8 +728,6 @@ function addonMenu() {
|
|||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
function moduleMenu() {
|
function moduleMenu() {
|
||||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
|
||||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
|
||||||
NEXT="c"
|
NEXT="c"
|
||||||
# loop menu
|
# loop menu
|
||||||
while true; do
|
while true; do
|
||||||
@ -698,7 +751,7 @@ function moduleMenu() {
|
|||||||
while true; do
|
while true; do
|
||||||
DIALOG --title "$(TEXT "Modules")" \
|
DIALOG --title "$(TEXT "Modules")" \
|
||||||
--infobox "$(TEXT "Reading modules ...")" 0 0
|
--infobox "$(TEXT "Reading modules ...")" 0 0
|
||||||
ALLMODULES=$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
|
ALLMODULES=$(getAllModules "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}")
|
||||||
unset USERMODULES
|
unset USERMODULES
|
||||||
declare -A USERMODULES
|
declare -A USERMODULES
|
||||||
while IFS=': ' read -r KEY VALUE; do
|
while IFS=': ' read -r KEY VALUE; do
|
||||||
@ -750,7 +803,7 @@ function moduleMenu() {
|
|||||||
--infobox "$(TEXT "Selecting loaded modules")" 0 0
|
--infobox "$(TEXT "Selecting loaded modules")" 0 0
|
||||||
KOLIST=""
|
KOLIST=""
|
||||||
for I in $(lsmod 2>/dev/null | awk -F' ' '{print $1}' | grep -v 'Module'); do
|
for I in $(lsmod 2>/dev/null | awk -F' ' '{print $1}' | grep -v 'Module'); do
|
||||||
KOLIST+="$(getdepends "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}" "${I}") ${I} "
|
KOLIST+="$(getdepends "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}" "${I}") ${I} "
|
||||||
done
|
done
|
||||||
KOLIST=($(echo ${KOLIST} | tr ' ' '\n' | sort -u))
|
KOLIST=($(echo ${KOLIST} | tr ' ' '\n' | sort -u))
|
||||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||||
@ -790,10 +843,10 @@ function moduleMenu() {
|
|||||||
done
|
done
|
||||||
popd
|
popd
|
||||||
if [ -n "${USER_FILE}" ] && [ "${USER_FILE##*.}" = "ko" ]; then
|
if [ -n "${USER_FILE}" ] && [ "${USER_FILE##*.}" = "ko" ]; then
|
||||||
addToModules ${PLATFORM} "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}" "${TMP_UP_PATH}/${USER_FILE}"
|
addToModules ${PLATFORM} "${KPRE:+${KPRE}-}${KVER}" "${TMP_UP_PATH}/${USER_FILE}"
|
||||||
[ -f "${MODULES_PATH}/VERSION" ] && rm -f "${MODULES_PATH}/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}" "${KPRE:+${KPRE}-}${KVER}")" 0 0
|
||||||
rm -f "${TMP_UP_PATH}/${USER_FILE}"
|
rm -f "${TMP_UP_PATH}/${USER_FILE}"
|
||||||
touch ${PART1_PATH}/.build
|
touch ${PART1_PATH}/.build
|
||||||
else
|
else
|
||||||
@ -802,7 +855,7 @@ function moduleMenu() {
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
i)
|
i)
|
||||||
DEPS="$(getdepends "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}" i915) i915"
|
DEPS="$(getdepends "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}" i915) i915"
|
||||||
DELS=()
|
DELS=()
|
||||||
while IFS=': ' read -r KEY VALUE; do
|
while IFS=': ' read -r KEY VALUE; do
|
||||||
[ -z "${KEY}" ] && continue
|
[ -z "${KEY}" ] && continue
|
||||||
@ -1228,7 +1281,7 @@ function extractPatFiles() {
|
|||||||
|
|
||||||
rm -rf "${EXT_PATH}"
|
rm -rf "${EXT_PATH}"
|
||||||
mkdir -p "${EXT_PATH}"
|
mkdir -p "${EXT_PATH}"
|
||||||
printf "$(TEXT "Disassembling %s: ")" "$(basename "${PAT_PATH}")"
|
printf "$(TEXT "Disassembling %s:")" "$(basename "${PAT_PATH}")"
|
||||||
|
|
||||||
RET=0
|
RET=0
|
||||||
if [ "${isencrypted}" = "yes" ]; then
|
if [ "${isencrypted}" = "yes" ]; then
|
||||||
@ -1328,7 +1381,7 @@ function extractDsmFiles() {
|
|||||||
printf "$(TEXT "%s cached.")" "${PAT_FILE}"
|
printf "$(TEXT "%s cached.")" "${PAT_FILE}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
printf "$(TEXT "Checking hash of %s: ")" "${PAT_FILE}"
|
printf "$(TEXT "Checking hash of %s:")" "${PAT_FILE}"
|
||||||
if [ "$(md5sum ${PAT_PATH} | awk '{print $1}')" != "${PATSUM}" ]; then
|
if [ "$(md5sum ${PAT_PATH} | awk '{print $1}')" != "${PATSUM}" ]; then
|
||||||
rm -f ${PAT_PATH}
|
rm -f ${PAT_PATH}
|
||||||
echo -e "$(TEXT "md5 hash of pat not match, Please reget pat data from the version menu and try again!")" >"${LOG_FILE}"
|
echo -e "$(TEXT "md5 hash of pat not match, Please reget pat data from the version menu and try again!")" >"${LOG_FILE}"
|
||||||
@ -1338,21 +1391,21 @@ function extractDsmFiles() {
|
|||||||
|
|
||||||
rm -rf "${UNTAR_PAT_PATH}"
|
rm -rf "${UNTAR_PAT_PATH}"
|
||||||
mkdir -p "${UNTAR_PAT_PATH}"
|
mkdir -p "${UNTAR_PAT_PATH}"
|
||||||
printf "$(TEXT "Disassembling %s: ")" "${PAT_FILE}"
|
printf "$(TEXT "Disassembling %s:")" "${PAT_FILE}"
|
||||||
|
|
||||||
extractPatFiles "${PAT_PATH}" "${UNTAR_PAT_PATH}"
|
extractPatFiles "${PAT_PATH}" "${UNTAR_PAT_PATH}"
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
rm -rf "${UNTAR_PAT_PATH}"
|
rm -rf "${UNTAR_PAT_PATH}"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
echo -n "$(TEXT "Setting hash: ")"
|
echo -n "$(TEXT "Setting hash:")"
|
||||||
ZIMAGE_HASH="$(sha256sum ${UNTAR_PAT_PATH}/zImage | awk '{print $1}')"
|
ZIMAGE_HASH="$(sha256sum ${UNTAR_PAT_PATH}/zImage | awk '{print $1}')"
|
||||||
writeConfigKey "zimage-hash" "${ZIMAGE_HASH}" "${USER_CONFIG_FILE}"
|
writeConfigKey "zimage-hash" "${ZIMAGE_HASH}" "${USER_CONFIG_FILE}"
|
||||||
RAMDISK_HASH="$(sha256sum ${UNTAR_PAT_PATH}/rd.gz | awk '{print $1}')"
|
RAMDISK_HASH="$(sha256sum ${UNTAR_PAT_PATH}/rd.gz | awk '{print $1}')"
|
||||||
writeConfigKey "ramdisk-hash" "${RAMDISK_HASH}" "${USER_CONFIG_FILE}"
|
writeConfigKey "ramdisk-hash" "${RAMDISK_HASH}" "${USER_CONFIG_FILE}"
|
||||||
echo "$(TEXT "OK")"
|
echo "$(TEXT "OK")"
|
||||||
|
|
||||||
echo -n "$(TEXT "Copying files: ")"
|
echo -n "$(TEXT "Copying files:")"
|
||||||
copyDSMFiles "${UNTAR_PAT_PATH}"
|
copyDSMFiles "${UNTAR_PAT_PATH}"
|
||||||
rm -rf "${UNTAR_PAT_PATH}"
|
rm -rf "${UNTAR_PAT_PATH}"
|
||||||
echo "$(TEXT "OK")"
|
echo "$(TEXT "OK")"
|
||||||
@ -1377,6 +1430,19 @@ function make() {
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -f ${PART1_PATH}/.upgraded ]; then
|
||||||
|
echo "$(TEXT "Reconfigure after upgrade ...")"
|
||||||
|
PATURL="$(readConfigKey "paturl" "${USER_CONFIG_FILE}")"
|
||||||
|
PATSUM="$(readConfigKey "patsum" "${USER_CONFIG_FILE}")"
|
||||||
|
modelMenu "${MODEL}"
|
||||||
|
productversMenu "${PRODUCTVER}" "${PATURL}" "${PATSUM}"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo -e "$(TEXT "Reconfiguration failed!")" >"${LOG_FILE}"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
rm -f ${PART1_PATH}/.upgraded
|
||||||
|
fi
|
||||||
|
|
||||||
${WORK_PATH}/zimage-patch.sh || {
|
${WORK_PATH}/zimage-patch.sh || {
|
||||||
printf "%s\n%s\n%s:\n%s\n" "$(TEXT "DSM zImage not patched")" "$(TEXT "Please upgrade the bootloader version and try again.")" "$(TEXT "Error")" "$(cat "${LOG_FILE}")" >"${LOG_FILE}"
|
printf "%s\n%s\n%s:\n%s\n" "$(TEXT "DSM zImage not patched")" "$(TEXT "Please upgrade the bootloader version and try again.")" "$(TEXT "Error")" "$(cat "${LOG_FILE}")" >"${LOG_FILE}"
|
||||||
return 1
|
return 1
|
||||||
@ -1446,7 +1512,7 @@ function customDTS() {
|
|||||||
echo "e \"$(TEXT "Exit")\""
|
echo "e \"$(TEXT "Exit")\""
|
||||||
} >"${TMP_PATH}/menu"
|
} >"${TMP_PATH}/menu"
|
||||||
DIALOG --title "$(TEXT "Custom DTS")" \
|
DIALOG --title "$(TEXT "Custom DTS")" \
|
||||||
--menu "$(TEXT "Custom dts: ") ${CUSTOMDTS}" 0 0 0 --file "${TMP_PATH}/menu" \
|
--menu "$(TEXT "Custom dts:") ${CUSTOMDTS}" 0 0 0 --file "${TMP_PATH}/menu" \
|
||||||
2>${TMP_PATH}/resp
|
2>${TMP_PATH}/resp
|
||||||
[ $? -ne 0 ] && return
|
[ $? -ne 0 ] && return
|
||||||
case "$(cat ${TMP_PATH}/resp)" in
|
case "$(cat ${TMP_PATH}/resp)" in
|
||||||
@ -2206,6 +2272,7 @@ function tryRecoveryDSM() {
|
|||||||
__umountDSMRootDisk
|
__umountDSMRootDisk
|
||||||
DIALOG --title "$(TEXT "Settings")" \
|
DIALOG --title "$(TEXT "Settings")" \
|
||||||
--msgbox "$(TEXT "Found a backup of the user's configuration, and restored it. Please rebuild and boot.")" 0 0
|
--msgbox "$(TEXT "Found a backup of the user's configuration, and restored it. Please rebuild and boot.")" 0 0
|
||||||
|
touch ${PART1_PATH}/.upgraded
|
||||||
touch ${PART1_PATH}/.build
|
touch ${PART1_PATH}/.build
|
||||||
exec "${0}"
|
exec "${0}"
|
||||||
return
|
return
|
||||||
@ -2229,7 +2296,7 @@ function tryRecoveryDSM() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
writeConfigKey "paturl" "#RECOVERY" "${USER_CONFIG_FILE}"
|
writeConfigKey "paturl" "#RECOVERY" "${USER_CONFIG_FILE}"
|
||||||
writeConfigKey "patsum" "" "${USER_CONFIG_FILE}"
|
writeConfigKey "patsum" "#RECOVERY" "${USER_CONFIG_FILE}"
|
||||||
|
|
||||||
copyDSMFiles "${TMP_PATH}/mdX/.syno/patch"
|
copyDSMFiles "${TMP_PATH}/mdX/.syno/patch"
|
||||||
__umountDSMRootDisk
|
__umountDSMRootDisk
|
||||||
@ -2702,6 +2769,23 @@ function setProxy() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Change root password
|
||||||
|
function createMicrocode() {
|
||||||
|
rm -rf ${TMP_PATH}/kernel
|
||||||
|
if [ -d /usr/lib/firmware/amd-ucode ]; then
|
||||||
|
mkdir -p ${TMP_PATH}/kernel/x86/microcode
|
||||||
|
cat /usr/lib/firmware/amd-ucode/microcode_amd*.bin >${TMP_PATH}/kernel/x86/microcode/AuthenticAMD.bin
|
||||||
|
fi
|
||||||
|
if [ -d /usr/lib/firmware/intel-ucode ]; then
|
||||||
|
mkdir -p ${TMP_PATH}/kernel/x86/microcode
|
||||||
|
cat /usr/lib/firmware/intel-ucode/* >${TMP_PATH}/kernel/x86/microcode/GenuineIntel.bin
|
||||||
|
fi
|
||||||
|
if [ -d ${TMP_PATH}/kernel/x86/microcode ]; then
|
||||||
|
(cd ${TMP_PATH} && find kernel 2>/dev/null | cpio -o -H newc -R root:root >"${MC_RAMDISK_FILE}") >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Change root password
|
# Change root password
|
||||||
function changePassword() {
|
function changePassword() {
|
||||||
@ -2900,6 +2984,8 @@ function advancedMenu() {
|
|||||||
echo "d \"$(TEXT "Custom DTS")\""
|
echo "d \"$(TEXT "Custom DTS")\""
|
||||||
echo "u \"$(TEXT "USB disk as internal disk:") \Z4${USBASINTERNAL}\Zn\""
|
echo "u \"$(TEXT "USB disk as internal disk:") \Z4${USBASINTERNAL}\Zn\""
|
||||||
fi
|
fi
|
||||||
|
AU=$(readConfigMap "addons" "${USER_CONFIG_FILE}" | grep -q "blockupdate" && echo "false" || echo "true")
|
||||||
|
echo "j \"$(TEXT "DSM automatic update:") \Z4${AU}\Zn\""
|
||||||
echo "w \"$(TEXT "Timeout of boot wait:") \Z4${BOOTWAIT}\Zn\""
|
echo "w \"$(TEXT "Timeout of boot wait:") \Z4${BOOTWAIT}\Zn\""
|
||||||
if [ "${DIRECTBOOT}" = "false" ]; then
|
if [ "${DIRECTBOOT}" = "false" ]; then
|
||||||
echo "i \"$(TEXT "Timeout of get IP in boot:") \Z4${BOOTIPWAIT}\Zn\""
|
echo "i \"$(TEXT "Timeout of get IP in boot:") \Z4${BOOTIPWAIT}\Zn\""
|
||||||
@ -2986,7 +3072,7 @@ function advancedMenu() {
|
|||||||
NEXT="m"
|
NEXT="m"
|
||||||
;;
|
;;
|
||||||
d)
|
d)
|
||||||
if [ "true" = "$(readConfigKey "platforms.${PLATFORM}.dt" "${WORK_PATH}/platforms.yml")" ]; then
|
if [ "true" = "${DT}" ]; then
|
||||||
customDTS
|
customDTS
|
||||||
else
|
else
|
||||||
DIALOG --title "$(TEXT "Advanced")" \
|
DIALOG --title "$(TEXT "Advanced")" \
|
||||||
@ -2995,7 +3081,7 @@ function advancedMenu() {
|
|||||||
NEXT="e"
|
NEXT="e"
|
||||||
;;
|
;;
|
||||||
u)
|
u)
|
||||||
if [ "true" = "$(readConfigKey "platforms.${PLATFORM}.dt" "${WORK_PATH}/platforms.yml")" ]; then
|
if [ "true" = "${DT}" ]; then
|
||||||
DIALOG --title "$(TEXT "Advanced")" \
|
DIALOG --title "$(TEXT "Advanced")" \
|
||||||
--msgbox "$(TEXT "USB disk as internal disk is not supported for current model.")" 0 0
|
--msgbox "$(TEXT "USB disk as internal disk is not supported for current model.")" 0 0
|
||||||
NEXT="e"
|
NEXT="e"
|
||||||
@ -3005,6 +3091,16 @@ function advancedMenu() {
|
|||||||
NEXT="u"
|
NEXT="u"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
j)
|
||||||
|
AU=$(readConfigMap "addons" "${USER_CONFIG_FILE}" | grep -q "blockupdate" && echo "false" || echo "true")
|
||||||
|
if [ "${AU}" = "true" ]; then
|
||||||
|
writeConfigKey "addons.\"blockupdate\"" "" "${USER_CONFIG_FILE}"
|
||||||
|
else
|
||||||
|
deleteConfigKey "addons.\"blockupdate\"" "${USER_CONFIG_FILE}"
|
||||||
|
fi
|
||||||
|
touch ${PART1_PATH}/.build
|
||||||
|
NEXT="j"
|
||||||
|
;;
|
||||||
w)
|
w)
|
||||||
ITEMS="$(echo -e "1 \n5 \n10 \n30 \n60 \n")"
|
ITEMS="$(echo -e "1 \n5 \n10 \n30 \n60 \n")"
|
||||||
DIALOG --title "$(TEXT "Advanced")" \
|
DIALOG --title "$(TEXT "Advanced")" \
|
||||||
@ -3161,8 +3257,10 @@ function settingsMenu() {
|
|||||||
fi
|
fi
|
||||||
echo "1 \"$(TEXT "Set global proxy")\""
|
echo "1 \"$(TEXT "Set global proxy")\""
|
||||||
echo "2 \"$(TEXT "Set github proxy")\""
|
echo "2 \"$(TEXT "Set github proxy")\""
|
||||||
echo "3 \"$(TEXT "Change root password # Only RR")\""
|
UPDMC="$([ -f "${MC_RAMDISK_FILE}" ] && echo "true" || echo "false")"
|
||||||
echo "4 \"$(TEXT "Change ports of TTYD/DUFS/HTTP")\""
|
echo "3 \"$(TEXT "Update microcode:") \Z4${UPDMC}\Zn\""
|
||||||
|
echo "4 \"$(TEXT "Change root password # Only RR")\""
|
||||||
|
echo "5 \"$(TEXT "Change ports of TTYD/DUFS/HTTP")\""
|
||||||
echo "! \"$(TEXT "Vigorously miracle")\""
|
echo "! \"$(TEXT "Vigorously miracle")\""
|
||||||
echo "e \"$(TEXT "Exit")\""
|
echo "e \"$(TEXT "Exit")\""
|
||||||
} >"${TMP_PATH}/menu"
|
} >"${TMP_PATH}/menu"
|
||||||
@ -3249,13 +3347,23 @@ function settingsMenu() {
|
|||||||
NEXT="e"
|
NEXT="e"
|
||||||
;;
|
;;
|
||||||
3)
|
3)
|
||||||
changePassword
|
UPDMC="$([ -f "${MC_RAMDISK_FILE}" ] && echo "true" || echo "false")"
|
||||||
|
if [ "${UPDMC}" = "true" ]; then
|
||||||
|
rm -f "${MC_RAMDISK_FILE}"
|
||||||
|
else
|
||||||
|
createMicrocode
|
||||||
|
fi
|
||||||
NEXT="e"
|
NEXT="e"
|
||||||
;;
|
;;
|
||||||
4)
|
4)
|
||||||
|
changePassword
|
||||||
|
NEXT="e"
|
||||||
|
;;
|
||||||
|
5)
|
||||||
changePorts
|
changePorts
|
||||||
NEXT="e"
|
NEXT="e"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
!)
|
!)
|
||||||
MSG=""
|
MSG=""
|
||||||
MSG+=" \n"
|
MSG+=" \n"
|
||||||
@ -3440,9 +3548,11 @@ function updateRR() {
|
|||||||
SIZENEW=0
|
SIZENEW=0
|
||||||
SIZEOLD=0
|
SIZEOLD=0
|
||||||
while IFS=': ' read -r KEY VALUE; do
|
while IFS=': ' read -r KEY VALUE; do
|
||||||
|
VALUE="${VALUE#/}" # Remove leading slash
|
||||||
|
VALUE="${VALUE%/}" # Remove trailing slash
|
||||||
if [ "${KEY: -1}" = "/" ]; then
|
if [ "${KEY: -1}" = "/" ]; then
|
||||||
rm -rf "${TMP_PATH}/update/${VALUE}"
|
rm -rf "${TMP_PATH}/update/${VALUE}"
|
||||||
mkdir -p "${TMP_PATH}/update/${VALUE}"
|
mkdir -p "${TMP_PATH}/update/${VALUE}/"
|
||||||
tar -zxf "${TMP_PATH}/update/$(basename "${KEY}").tgz" -C "${TMP_PATH}/update/${VALUE}" >"${LOG_FILE}" 2>&1
|
tar -zxf "${TMP_PATH}/update/$(basename "${KEY}").tgz" -C "${TMP_PATH}/update/${VALUE}" >"${LOG_FILE}" 2>&1
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
MSG="$(printf "%s\n%s:\n%s\n" "$(TEXT "Error extracting update file.")" "$(TEXT "Error")" "$(cat "${LOG_FILE}")")"
|
MSG="$(printf "%s\n%s:\n%s\n" "$(TEXT "Error extracting update file.")" "$(TEXT "Error")" "$(cat "${LOG_FILE}")")"
|
||||||
@ -3456,11 +3566,11 @@ function updateRR() {
|
|||||||
fi
|
fi
|
||||||
rm "${TMP_PATH}/update/$(basename "${KEY}").tgz"
|
rm "${TMP_PATH}/update/$(basename "${KEY}").tgz"
|
||||||
else
|
else
|
||||||
mkdir -p "${TMP_PATH}/update/$(dirname "${VALUE}")"
|
mkdir -p "${TMP_PATH}/update/$(dirname "/${VALUE}")"
|
||||||
mv -f "${TMP_PATH}/update/$(basename "${KEY}")" "${TMP_PATH}/update/${VALUE}"
|
mv -f "${TMP_PATH}/update/$(basename "${KEY}")" "${TMP_PATH}/update/${VALUE}"
|
||||||
fi
|
fi
|
||||||
FSNEW=$(du -sm "${TMP_PATH}/update/${VALUE}" 2>/dev/null | awk '{print $1}')
|
FSNEW=$(du -sm "${TMP_PATH}/update/${VALUE}" 2>/dev/null | awk '{print $1}')
|
||||||
FSOLD=$(du -sm "${VALUE}" 2>/dev/null | awk '{print $1}')
|
FSOLD=$(du -sm "/${VALUE}" 2>/dev/null | awk '{print $1}')
|
||||||
SIZENEW=$((${SIZENEW} + ${FSNEW:-0}))
|
SIZENEW=$((${SIZENEW} + ${FSNEW:-0}))
|
||||||
SIZEOLD=$((${SIZEOLD} + ${FSOLD:-0}))
|
SIZEOLD=$((${SIZEOLD} + ${FSOLD:-0}))
|
||||||
done <<<$(readConfigMap "replace" "${TMP_PATH}/update/update-list.yml")
|
done <<<$(readConfigMap "replace" "${TMP_PATH}/update/update-list.yml")
|
||||||
@ -3490,26 +3600,25 @@ function updateRR() {
|
|||||||
[ -d "${F}" ] && rm -rf "${F}"
|
[ -d "${F}" ] && rm -rf "${F}"
|
||||||
done <<<$(readConfigArray "remove" "${TMP_PATH}/update/update-list.yml")
|
done <<<$(readConfigArray "remove" "${TMP_PATH}/update/update-list.yml")
|
||||||
while IFS=': ' read -r KEY VALUE; do
|
while IFS=': ' read -r KEY VALUE; do
|
||||||
|
VALUE="${VALUE#/}" # Remove leading slash
|
||||||
|
VALUE="${VALUE%/}" # Remove trailing slash
|
||||||
if [ "${KEY: -1}" = "/" ]; then
|
if [ "${KEY: -1}" = "/" ]; then
|
||||||
rm -rf "${VALUE}"/*
|
rm -rf "/${VALUE}/"*
|
||||||
mkdir -p "${VALUE}"
|
mkdir -p "/${VALUE}/"
|
||||||
cp -rf "${TMP_PATH}/update/${VALUE}"/* "${VALUE}"
|
cp -rf "${TMP_PATH}/update/${VALUE}/". "/${VALUE}/"
|
||||||
if [ "$(realpath "${VALUE}")" = "$(realpath "${MODULES_PATH}")" ]; then
|
if [ "$(realpath "/${VALUE}/")" = "$(realpath "${MODULES_PATH}")" ]; then
|
||||||
if [ -n "${MODEL}" ] && [ -n "${PRODUCTVER}" ]; then
|
if [ -n "${PLATFORM}" ] && [ -n "${PRODUCTVER}" ] && [ -n "${KVER}" ]; then
|
||||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
mergeConfigModules "$(getAllModules "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}" | awk '{print $1}')" "${USER_CONFIG_FILE}"
|
||||||
if [ -n "${PLATFORM}" ] && [ -n "${KVER}" ]; then
|
|
||||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
|
||||||
mergeConfigModules "$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}" | awk '{print $1}')" "${USER_CONFIG_FILE}"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
mkdir -p "$(dirname "${VALUE}")"
|
mkdir -p "$(dirname "/${VALUE}")"
|
||||||
cp -f "${TMP_PATH}/update/${VALUE}" "${VALUE}"
|
cp -f "${TMP_PATH}/update/${VALUE}" "/${VALUE}"
|
||||||
fi
|
fi
|
||||||
done <<<$(readConfigMap "replace" "${TMP_PATH}/update/update-list.yml")
|
done <<<$(readConfigMap "replace" "${TMP_PATH}/update/update-list.yml")
|
||||||
rm -rf "${TMP_PATH}/update"
|
rm -rf "${TMP_PATH}/update"
|
||||||
|
touch ${PART1_PATH}/.upgraded
|
||||||
touch ${PART1_PATH}/.build
|
touch ${PART1_PATH}/.build
|
||||||
sync
|
sync
|
||||||
MSG="$(printf "$(TEXT "%s updated with success!\n")$(TEXT "Reboot?")" "$(TEXT "RR")")"
|
MSG="$(printf "$(TEXT "%s updated with success!\n")$(TEXT "Reboot?")" "$(TEXT "RR")")"
|
||||||
@ -3632,13 +3741,9 @@ function updateModules() {
|
|||||||
|
|
||||||
rm -rf "${MODULES_PATH}/"*
|
rm -rf "${MODULES_PATH}/"*
|
||||||
cp -rf "${TMP_PATH}/update/"* "${MODULES_PATH}/"
|
cp -rf "${TMP_PATH}/update/"* "${MODULES_PATH}/"
|
||||||
if [ -n "${MODEL}" ] && [ -n "${PRODUCTVER}" ]; then
|
if [ -n "${PLATFORM}" ] && [ -n "${PRODUCTVER}" ] && [ -n "${KVER}" ]; then
|
||||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
mergeConfigModules "$(getAllModules "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}" | awk '{print $1}')" "${USER_CONFIG_FILE}"
|
||||||
if [ -n "${PLATFORM}" ] && [ -n "${KVER}" ]; then
|
|
||||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
|
||||||
mergeConfigModules "$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}" | awk '{print $1}')" "${USER_CONFIG_FILE}"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
rm -rf "${TMP_PATH}/update"
|
rm -rf "${TMP_PATH}/update"
|
||||||
touch ${PART1_PATH}/.build
|
touch ${PART1_PATH}/.build
|
||||||
@ -3754,13 +3859,9 @@ function updateCKs() {
|
|||||||
|
|
||||||
rm -rf "${CKS_PATH}/"*
|
rm -rf "${CKS_PATH}/"*
|
||||||
cp -rf "${TMP_PATH}/update/"* "${CKS_PATH}/"
|
cp -rf "${TMP_PATH}/update/"* "${CKS_PATH}/"
|
||||||
if [ -n "${MODEL}" ] && [ -n "${PRODUCTVER}" ] && [ "${KERNEL}" = "custom" ]; then
|
if [ "${KERNEL}" = "custom" ] && [ -n "${PLATFORM}" ] && [ -n "${PRODUCTVER}" ] && [ -n "${KVER}" ]; then
|
||||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
mergeConfigModules "$(getAllModules "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}" | awk '{print $1}')" "${USER_CONFIG_FILE}"
|
||||||
if [ -n "${PLATFORM}" ] && [ -n "${KVER}" ]; then
|
|
||||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
|
||||||
mergeConfigModules "$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}" | awk '{print $1}')" "${USER_CONFIG_FILE}"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
rm -rf "${TMP_PATH}/update"
|
rm -rf "${TMP_PATH}/update"
|
||||||
touch ${PART1_PATH}/.build
|
touch ${PART1_PATH}/.build
|
||||||
@ -3995,10 +4096,8 @@ else
|
|||||||
fi
|
fi
|
||||||
echo "u \"$(TEXT "Parse pat")\""
|
echo "u \"$(TEXT "Parse pat")\""
|
||||||
if [ -n "${PRODUCTVER}" ]; then
|
if [ -n "${PRODUCTVER}" ]; then
|
||||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
if [ -f "${CKS_PATH}/bzImage-${PLATFORM}-${KPRE:+${KPRE}-}${KVER}.gz" ] &&
|
||||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
[ -f "${CKS_PATH}/modules-${PLATFORM}-${KPRE:+${KPRE}-}${KVER}.tgz" ]; then
|
||||||
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\""
|
echo "s \"$(TEXT "Kernel:") \Z4${KERNEL}\Zn\""
|
||||||
fi
|
fi
|
||||||
echo "a \"$(TEXT "Addons menu")\""
|
echo "a \"$(TEXT "Addons menu")\""
|
||||||
@ -4007,10 +4106,8 @@ else
|
|||||||
echo "i \"$(TEXT "Synoinfo menu")\""
|
echo "i \"$(TEXT "Synoinfo menu")\""
|
||||||
fi
|
fi
|
||||||
echo "v \"$(TEXT "Advanced menu")\""
|
echo "v \"$(TEXT "Advanced menu")\""
|
||||||
if [ -n "${MODEL}" ]; then
|
if [ -n "${MODEL}" ] && [ -n "${PRODUCTVER}" ]; then
|
||||||
if [ -n "${PRODUCTVER}" ]; then
|
echo "d \"$(TEXT "Build the loader")\""
|
||||||
echo "d \"$(TEXT "Build the loader")\""
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
if loaderIsConfigured; then
|
if loaderIsConfigured; then
|
||||||
echo "q \"$(TEXT "Direct boot:") \Z4${DIRECTBOOT}\Zn\""
|
echo "q \"$(TEXT "Direct boot:") \Z4${DIRECTBOOT}\Zn\""
|
||||||
@ -4052,10 +4149,9 @@ else
|
|||||||
fi
|
fi
|
||||||
if [ -n "${PLATFORM}" ] && [ -n "${KVER}" ]; then
|
if [ -n "${PLATFORM}" ] && [ -n "${KVER}" ]; then
|
||||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||||
mergeConfigModules "$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}" | awk '{print $1}')" "${USER_CONFIG_FILE}"
|
mergeConfigModules "$(getAllModules "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}" | awk '{print $1}')" "${USER_CONFIG_FILE}"
|
||||||
fi
|
fi
|
||||||
touch ${PART1_PATH}/.build
|
touch ${PART1_PATH}/.build
|
||||||
|
|
||||||
NEXT="o"
|
NEXT="o"
|
||||||
;;
|
;;
|
||||||
a)
|
a)
|
||||||
|
@ -25,9 +25,9 @@ PATSUM="$(readConfigKey "patsum" "${USER_CONFIG_FILE}")"
|
|||||||
ODP="$(readConfigKey "odp" "${USER_CONFIG_FILE}")" # official drivers priorities
|
ODP="$(readConfigKey "odp" "${USER_CONFIG_FILE}")" # official drivers priorities
|
||||||
HDDSORT="$(readConfigKey "hddsort" "${USER_CONFIG_FILE}")"
|
HDDSORT="$(readConfigKey "hddsort" "${USER_CONFIG_FILE}")"
|
||||||
|
|
||||||
# Read model data
|
DT="$(readConfigKey "dt" "${USER_CONFIG_FILE}")"
|
||||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
KVER="$(readConfigKey "kver" "${USER_CONFIG_FILE}")"
|
||||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
KPRE="$(readConfigKey "kpre" "${USER_CONFIG_FILE}")"
|
||||||
|
|
||||||
# Sanity check
|
# Sanity check
|
||||||
if [ -z "${PLATFORM}" ] || [ -z "${KVER}" ]; then
|
if [ -z "${PLATFORM}" ] || [ -z "${KVER}" ]; then
|
||||||
@ -145,12 +145,12 @@ rm -f "${TMP_PATH}/rp.txt"
|
|||||||
|
|
||||||
# Extract ck modules to ramdisk
|
# Extract ck modules to ramdisk
|
||||||
echo -n "."
|
echo -n "."
|
||||||
installModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}" "${!MODULES[@]}" || exit 1
|
installModules "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}" "${!MODULES[@]}" || exit 1
|
||||||
|
|
||||||
# Copying fake modprobe
|
# Copying fake modprobe
|
||||||
[ $(echo "${KVER:-4}" | cut -d'.' -f1) -lt 5 ] && cp -f "${WORK_PATH}/patch/iosched-trampoline.sh" "${RAMDISK_PATH}/usr/sbin/modprobe"
|
[ $(echo "${KVER:-4}" | cut -d'.' -f1) -lt 5 ] && 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 "${LKMS_PATH}/rp-${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}-${LKM}.ko.gz" >"${RAMDISK_PATH}/usr/lib/modules/rp.ko" 2>"${LOG_FILE}" || exit 1
|
gzip -dc "${LKMS_PATH}/rp-${PLATFORM}-${KPRE:+${KPRE}-}${KVER}-${LKM}.ko.gz" >"${RAMDISK_PATH}/usr/lib/modules/rp.ko" 2>"${LOG_FILE}" || exit 1
|
||||||
|
|
||||||
# Addons
|
# Addons
|
||||||
echo -n "."
|
echo -n "."
|
||||||
@ -179,14 +179,14 @@ for ADDON in "redpill" "revert" "misc" "eudev" "disks" "localrss" "notify" "wol"
|
|||||||
PARAMS=${HDDSORT}
|
PARAMS=${HDDSORT}
|
||||||
[ -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"
|
||||||
fi
|
fi
|
||||||
installAddon "${ADDON}" "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}" || exit 1
|
installAddon "${ADDON}" "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}" || exit 1
|
||||||
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
|
||||||
|
|
||||||
# User addons
|
# User addons
|
||||||
for ADDON in "${!ADDONS[@]}"; do
|
for ADDON in "${!ADDONS[@]}"; do
|
||||||
PARAMS=${ADDONS[${ADDON}]}
|
PARAMS=${ADDONS[${ADDON}]}
|
||||||
installAddon "${ADDON}" "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}" || exit 1
|
installAddon "${ADDON}" "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}" || exit 1
|
||||||
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
|
||||||
|
|
||||||
|
@ -16,14 +16,14 @@ echo -n "Patching zImage"
|
|||||||
rm -f "${MOD_ZIMAGE_FILE}"
|
rm -f "${MOD_ZIMAGE_FILE}"
|
||||||
|
|
||||||
KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||||
|
|
||||||
if [ "${KERNEL}" = "custom" ]; then
|
if [ "${KERNEL}" = "custom" ]; then
|
||||||
echo -n "."
|
echo -n "."
|
||||||
PLATFORM="$(readConfigKey "platform" "${USER_CONFIG_FILE}")"
|
PLATFORM="$(readConfigKey "platform" "${USER_CONFIG_FILE}")"
|
||||||
PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")"
|
KVER="$(readConfigKey "kver" "${USER_CONFIG_FILE}")"
|
||||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
KPRE="$(readConfigKey "kpre" "${USER_CONFIG_FILE}")"
|
||||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
|
||||||
# Extract bzImage
|
# Extract bzImage
|
||||||
gzip -dc "${CKS_PATH}/bzImage-${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}.gz" >"${MOD_ZIMAGE_FILE}"
|
gzip -dc "${CKS_PATH}/bzImage-${PLATFORM}-${KPRE:+${KPRE}-}${KVER}.gz" >"${MOD_ZIMAGE_FILE}"
|
||||||
echo -n "..."
|
echo -n "..."
|
||||||
else
|
else
|
||||||
echo -n "."
|
echo -n "."
|
||||||
|
20
files/mnt/p1/boot/grub/gfxblacklist.txt
Normal file
20
files/mnt/p1/boot/grub/gfxblacklist.txt
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
# GRUB gfxpayload blacklist. The format is a sequence of lines of the
|
||||||
|
# following form, using lower-case hexadecimal for all ID components:
|
||||||
|
#
|
||||||
|
# vVENDORdDEVICEsvSUBVENDORsdSUBDEVICEbcBASECLASSscSUBCLASS
|
||||||
|
#
|
||||||
|
# Blacklist lines are regex-matched (currently using Lua's string.find with
|
||||||
|
# the line surrounded by ^ and $) against a corresponding PCI ID string. In
|
||||||
|
# practice this means that you can replace any part of the ID string with .*
|
||||||
|
# to match anything.
|
||||||
|
#
|
||||||
|
# There is no need to customise this file locally. If you need to disable
|
||||||
|
# gfxpayload=keep on your system, just add this line (uncommented) to
|
||||||
|
# /etc/default/grub:
|
||||||
|
#
|
||||||
|
# GRUB_GFXPAYLOAD_LINUX=text
|
||||||
|
|
||||||
|
v15add0710.*
|
||||||
|
v15add0405.*
|
||||||
|
v80eedbeef.*
|
||||||
|
v1002d6738.*
|
@ -3,7 +3,7 @@ set timeout="5"
|
|||||||
set timeout_style="menu"
|
set timeout_style="menu"
|
||||||
|
|
||||||
if [ -s ${prefix}/grubenv ]; then
|
if [ -s ${prefix}/grubenv ]; then
|
||||||
load_env --skip-sig
|
load_env --skip-sig --file=${prefix}/grubenv
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${next_entry}" ]; then
|
if [ "${next_entry}" ]; then
|
||||||
@ -79,9 +79,15 @@ function gfxmode {
|
|||||||
set RR_CMDLINE="earlyprintk earlycon=uart8250,io,0x3f8,115200n8 console=ttyS0,115200n8 root=/dev/ram rootwait intremap=off amd_iommu_intr=legacy net.ifnames=0 panic=5 split_lock_detect=off pcie_aspm=off intel_pstate=disable amd_pstate=disable nox2apic nomodeset nowatchdog"
|
set RR_CMDLINE="earlyprintk earlycon=uart8250,io,0x3f8,115200n8 console=ttyS0,115200n8 root=/dev/ram rootwait intremap=off amd_iommu_intr=legacy net.ifnames=0 panic=5 split_lock_detect=off pcie_aspm=off intel_pstate=disable amd_pstate=disable nox2apic nomodeset nowatchdog"
|
||||||
|
|
||||||
search --set=root --label "RR3"
|
search --set=root --label "RR3"
|
||||||
|
if [ -e /initrd-rru ]; then set RRU=/initrd-rru; fi
|
||||||
|
if [ -e /microcode.img ]; then set MCI=/microcode.img; fi
|
||||||
|
|
||||||
if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
|
if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
|
||||||
if [ "${default}" = "direct" ]; then
|
if [ "${default}" = "direct" ]; then
|
||||||
set timeout="1"
|
set timeout="1"
|
||||||
|
if [ -s ${prefix}/rsysenv ]; then
|
||||||
|
load_env --skip-sig --file=${prefix}/rsysenv
|
||||||
|
fi
|
||||||
menuentry 'Boot DSM kernel directly' ${menuentry_id_option} direct {
|
menuentry 'Boot DSM kernel directly' ${menuentry_id_option} direct {
|
||||||
gfxmode
|
gfxmode
|
||||||
echo "RRVersion: ${rr_version}"
|
echo "RRVersion: ${rr_version}"
|
||||||
@ -102,7 +108,7 @@ if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
|
|||||||
echo "Loading DSM kernel..."
|
echo "Loading DSM kernel..."
|
||||||
linux /zImage-dsm ${dsm_cmdline}
|
linux /zImage-dsm ${dsm_cmdline}
|
||||||
echo "Loading DSM initramfs..."
|
echo "Loading DSM initramfs..."
|
||||||
initrd /initrd-dsm
|
initrd ${MCI} /initrd-dsm
|
||||||
echo "Booting..."
|
echo "Booting..."
|
||||||
echo "Access http://find.synology.com/ to connect the DSM via web."
|
echo "Access http://find.synology.com/ to connect the DSM via web."
|
||||||
}
|
}
|
||||||
@ -112,11 +118,7 @@ if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
|
|||||||
echo "Loading kernel..."
|
echo "Loading kernel..."
|
||||||
linux /bzImage-rr ${RR_CMDLINE} ${rr_cmdline}
|
linux /bzImage-rr ${RR_CMDLINE} ${rr_cmdline}
|
||||||
echo "Loading initramfs..."
|
echo "Loading initramfs..."
|
||||||
if [ -e /initrd-rru ]; then
|
initrd ${MCI} /initrd-rr ${RRU}
|
||||||
initrd /initrd-rr /initrd-rru
|
|
||||||
else
|
|
||||||
initrd /initrd-rr
|
|
||||||
fi
|
|
||||||
echo "Booting..."
|
echo "Booting..."
|
||||||
}
|
}
|
||||||
menuentry 'Boot Recovery' ${menuentry_id_option} recovery {
|
menuentry 'Boot Recovery' ${menuentry_id_option} recovery {
|
||||||
@ -124,11 +126,7 @@ if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
|
|||||||
echo "Loading kernel..."
|
echo "Loading kernel..."
|
||||||
linux /bzImage-rr ${RR_CMDLINE} ${rr_cmdline} recovery
|
linux /bzImage-rr ${RR_CMDLINE} ${rr_cmdline} recovery
|
||||||
echo "Loading initramfs..."
|
echo "Loading initramfs..."
|
||||||
if [ -e /initrd-rru ]; then
|
initrd ${MCI} /initrd-rr ${RRU}
|
||||||
initrd /initrd-rr /initrd-rru
|
|
||||||
else
|
|
||||||
initrd /initrd-rr
|
|
||||||
fi
|
|
||||||
echo "Booting..."
|
echo "Booting..."
|
||||||
}
|
}
|
||||||
menuentry 'Force re-install DSM' ${menuentry_id_option} junior {
|
menuentry 'Force re-install DSM' ${menuentry_id_option} junior {
|
||||||
@ -136,11 +134,7 @@ if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
|
|||||||
echo "Loading kernel..."
|
echo "Loading kernel..."
|
||||||
linux /bzImage-rr ${RR_CMDLINE} ${rr_cmdline} force_junior
|
linux /bzImage-rr ${RR_CMDLINE} ${rr_cmdline} force_junior
|
||||||
echo "Loading initramfs..."
|
echo "Loading initramfs..."
|
||||||
if [ -e /initrd-rru ]; then
|
initrd ${MCI} /initrd-rr ${RRU}
|
||||||
initrd /initrd-rr /initrd-rru
|
|
||||||
else
|
|
||||||
initrd /initrd-rr
|
|
||||||
fi
|
|
||||||
echo "Booting..."
|
echo "Booting..."
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
@ -150,11 +144,7 @@ menuentry 'Configure loader' ${menuentry_id_option} config {
|
|||||||
echo "Loading kernel..."
|
echo "Loading kernel..."
|
||||||
linux /bzImage-rr earlycon=uart8250,io,0x3f8,115200n8 console=ttyS0,115200n8 ${RR_CMDLINE} ${rr_cmdline} IWANTTOCHANGETHECONFIG
|
linux /bzImage-rr earlycon=uart8250,io,0x3f8,115200n8 console=ttyS0,115200n8 ${RR_CMDLINE} ${rr_cmdline} IWANTTOCHANGETHECONFIG
|
||||||
echo "Loading initramfs..."
|
echo "Loading initramfs..."
|
||||||
if [ -e /initrd-rru ]; then
|
initrd ${MCI} /initrd-rr ${RRU}
|
||||||
initrd /initrd-rr /initrd-rru
|
|
||||||
else
|
|
||||||
initrd /initrd-rr
|
|
||||||
fi
|
|
||||||
echo "Booting..."
|
echo "Booting..."
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -163,11 +153,7 @@ menuentry 'Configure loader (verbose)' ${menuentry_id_option} verbose {
|
|||||||
echo "Loading kernel..."
|
echo "Loading kernel..."
|
||||||
linux /bzImage-rr ${RR_CMDLINE} ${rr_cmdline} earlycon=tty2 console=tty2 IWANTTOCHANGETHECONFIG
|
linux /bzImage-rr ${RR_CMDLINE} ${rr_cmdline} earlycon=tty2 console=tty2 IWANTTOCHANGETHECONFIG
|
||||||
echo "Loading initramfs..."
|
echo "Loading initramfs..."
|
||||||
if [ -e /initrd-rru ]; then
|
initrd ${MCI} /initrd-rr ${RRU}
|
||||||
initrd /initrd-rr /initrd-rru
|
|
||||||
else
|
|
||||||
initrd /initrd-rr
|
|
||||||
fi
|
|
||||||
echo "Booting..."
|
echo "Booting..."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -197,6 +197,9 @@ def getpats(workpath, jsonpath, xlsxpath):
|
|||||||
continue
|
continue
|
||||||
V = __fullversion(f"{S['build_ver']}-{S['build_num']}-{S['nano']}")
|
V = __fullversion(f"{S['build_ver']}-{S['build_num']}-{S['nano']}")
|
||||||
if V not in pats[M]:
|
if V not in pats[M]:
|
||||||
|
reqPat = session.head(S['files'][0]['url'].split('?')[0], timeout=10, verify=False)
|
||||||
|
if reqPat.status_code == 403:
|
||||||
|
continue
|
||||||
pats[M][V] = {
|
pats[M][V] = {
|
||||||
'url': S['files'][0]['url'].split('?')[0],
|
'url': S['files'][0]['url'].split('?')[0],
|
||||||
'sum': S['files'][0]['checksum']
|
'sum': S['files'][0]['checksum']
|
||||||
|
Loading…
x
Reference in New Issue
Block a user