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~
|
||||
**.mo
|
||||
|
||||
downloads.md
|
||||
tests
|
||||
Changelog*
|
||||
sha256sum
|
||||
|
@ -33,6 +33,26 @@ BTITLE+="$([ ${EFI} -eq 1 ] && echo " [UEFI]" || echo " [BIOS]")"
|
||||
BTITLE+="$([ "${BUS}" = "usb" ] && echo " [${BUS^^} flashdisk]" || echo " [${BUS^^} DoM]")"
|
||||
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
|
||||
ZIMAGE_HASH="$(readConfigKey "zimage-hash" "${USER_CONFIG_FILE}")"
|
||||
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}")"
|
||||
BUILDNUM="$(readConfigKey "buildnum" "${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}")"
|
||||
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)"
|
||||
DMI="$(dmesg 2>/dev/null | grep -i "DMI:" | head -1 | sed 's/\[.*\] DMI: //i')"
|
||||
CPU="$(awk -F': ' '/model name/ {print $2}' /proc/cpuinfo | uniq)"
|
||||
@ -288,16 +307,18 @@ function _bootwait() {
|
||||
|
||||
DIRECT="$(readConfigKey "directboot" "${USER_CONFIG_FILE}")"
|
||||
if [ "${DIRECT}" = "true" ] || [ "${MEV:-physical}" = "parallels" ]; then
|
||||
grub-editenv ${USER_GRUBENVFILE} set rr_version="${WTITLE}"
|
||||
grub-editenv ${USER_GRUBENVFILE} set rr_booting="${BTITLE}"
|
||||
grub-editenv ${USER_GRUBENVFILE} set dsm_model="${MODEL}(${PLATFORM})"
|
||||
grub-editenv ${USER_GRUBENVFILE} set dsm_version="${PRODUCTVER}(${BUILDNUM}$([ ${SMALLNUM:-0} -ne 0 ] && echo "u${SMALLNUM}"))"
|
||||
grub-editenv ${USER_GRUBENVFILE} set dsm_kernel="${KERNEL}"
|
||||
grub-editenv ${USER_GRUBENVFILE} set dsm_lkm="${LKM}"
|
||||
grub-editenv ${USER_GRUBENVFILE} set sys_mev="${MEV:-physical}"
|
||||
grub-editenv ${USER_GRUBENVFILE} set sys_dmi="${DMI}"
|
||||
grub-editenv ${USER_GRUBENVFILE} set sys_cpu="${CPU}"
|
||||
grub-editenv ${USER_GRUBENVFILE} set sys_mem="${MEM}"
|
||||
# grubenv file limit is 1024 bytes.
|
||||
grub-editenv ${USER_RSYSENVFILE} create
|
||||
grub-editenv ${USER_RSYSENVFILE} set rr_version="${WTITLE}"
|
||||
grub-editenv ${USER_RSYSENVFILE} set rr_booting="${BTITLE}"
|
||||
grub-editenv ${USER_RSYSENVFILE} set dsm_model="${MODEL}(${PLATFORM})"
|
||||
grub-editenv ${USER_RSYSENVFILE} set dsm_version="${PRODUCTVER}(${BUILDNUM}$([ ${SMALLNUM:-0} -ne 0 ] && echo "u${SMALLNUM}"))"
|
||||
grub-editenv ${USER_RSYSENVFILE} set dsm_kernel="${KERNEL}"
|
||||
grub-editenv ${USER_RSYSENVFILE} set dsm_lkm="${LKM}"
|
||||
grub-editenv ${USER_RSYSENVFILE} set sys_mev="${MEV:-physical}"
|
||||
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
|
||||
grub-editenv ${USER_GRUBENVFILE} set dsm_cmdline="${CMDLINE_DIRECT}"
|
||||
@ -309,16 +330,7 @@ if [ "${DIRECT}" = "true" ] || [ "${MEV:-physical}" = "parallels" ]; then
|
||||
reboot
|
||||
exit 0
|
||||
else
|
||||
grub-editenv ${USER_GRUBENVFILE} unset rr_version
|
||||
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
|
||||
rm -f ${USER_RSYSENVFILE} 2>/dev/null || true
|
||||
grub-editenv ${USER_GRUBENVFILE} unset dsm_cmdline
|
||||
grub-editenv ${USER_GRUBENVFILE} unset next_entry
|
||||
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_GRUBENVFILE="${PART1_PATH}/boot/grub/grubenv"
|
||||
USER_RSYSENVFILE="${PART1_PATH}/boot/grub/rsysenv"
|
||||
USER_CONFIG_FILE="${PART1_PATH}/user-config.yml"
|
||||
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_RAMDISK_FILE="${PART3_PATH}/initrd-rr"
|
||||
RR_RAMUSER_FILE="${PART3_PATH}/initrd-rru"
|
||||
MC_RAMDISK_FILE="${PART3_PATH}/microcode.img"
|
||||
MOD_ZIMAGE_FILE="${PART3_PATH}/zImage-dsm"
|
||||
MOD_RDGZ_FILE="${PART3_PATH}/initrd-dsm"
|
||||
|
||||
|
@ -271,6 +271,9 @@ def getpats4mv(model, version):
|
||||
continue
|
||||
V = __fullversion(f"{S['build_ver']}-{S['build_num']}-{S['nano']}")
|
||||
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] = {
|
||||
'url': S['files'][0]['url'].split('?')[0],
|
||||
'sum': S['files'][0]['checksum']
|
||||
|
@ -4,15 +4,15 @@
|
||||
# 2 - Kernel Version
|
||||
function unpackModules() {
|
||||
local PLATFORM=${1}
|
||||
local KVER=${2}
|
||||
local PKVER=${2}
|
||||
local KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||
|
||||
rm -rf "${TMP_PATH}/modules"
|
||||
mkdir -p "${TMP_PATH}/modules"
|
||||
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
|
||||
tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||
tar -zxf "${MODULES_PATH}/${PLATFORM}-${PKVER}.tgz" -C "${TMP_PATH}/modules"
|
||||
fi
|
||||
}
|
||||
|
||||
@ -22,13 +22,13 @@ function unpackModules() {
|
||||
# 2 - Kernel Version
|
||||
function packagModules() {
|
||||
local PLATFORM=${1}
|
||||
local KVER=${2}
|
||||
local PKVER=${2}
|
||||
local KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||
|
||||
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
|
||||
tar -zcf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules" .
|
||||
tar -zcf "${MODULES_PATH}/${PLATFORM}-${PKVER}.tgz" -C "${TMP_PATH}/modules" .
|
||||
fi
|
||||
}
|
||||
|
||||
@ -38,13 +38,13 @@ function packagModules() {
|
||||
# 2 - Kernel Version
|
||||
function getAllModules() {
|
||||
local PLATFORM=${1}
|
||||
local KVER=${2}
|
||||
local PKVER=${2}
|
||||
|
||||
if [ -z "${PLATFORM}" ] || [ -z "${KVER}" ]; then
|
||||
if [ -z "${PLATFORM}" ] || [ -z "${PKVER}" ]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
unpackModules "${PLATFORM}" "${KVER}"
|
||||
unpackModules "${PLATFORM}" "${PKVER}"
|
||||
|
||||
for F in $(ls ${TMP_PATH}/modules/*.ko 2>/dev/null); do
|
||||
local X=$(basename "${F}")
|
||||
@ -64,16 +64,16 @@ function getAllModules() {
|
||||
# 3 - Module list
|
||||
function installModules() {
|
||||
local PLATFORM=${1}
|
||||
local KVER=${2}
|
||||
local PKVER=${2}
|
||||
shift 2
|
||||
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}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
unpackModules "${PLATFORM}" "${KVER}"
|
||||
unpackModules "${PLATFORM}" "${PKVER}"
|
||||
|
||||
local ODP="$(readConfigKey "odp" "${USER_CONFIG_FILE}")"
|
||||
for F in $(ls "${TMP_PATH}/modules/"*.ko 2>/dev/null); do
|
||||
@ -108,19 +108,19 @@ function installModules() {
|
||||
# 3 - ko file
|
||||
function addToModules() {
|
||||
local PLATFORM=${1}
|
||||
local KVER=${2}
|
||||
local PKVER=${2}
|
||||
local KOFILE=${3}
|
||||
|
||||
if [ -z "${PLATFORM}" ] || [ -z "${KVER}" ] || [ -z "${KOFILE}" ]; then
|
||||
if [ -z "${PLATFORM}" ] || [ -z "${PKVER}" ] || [ -z "${KOFILE}" ]; then
|
||||
echo ""
|
||||
return 1
|
||||
fi
|
||||
|
||||
unpackModules "${PLATFORM}" "${KVER}"
|
||||
unpackModules "${PLATFORM}" "${PKVER}"
|
||||
|
||||
cp -f "${KOFILE}" "${TMP_PATH}/modules"
|
||||
|
||||
packagModules "${PLATFORM}" "${KVER}"
|
||||
packagModules "${PLATFORM}" "${PKVER}"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
@ -130,19 +130,19 @@ function addToModules() {
|
||||
# 3 - ko name
|
||||
function delToModules() {
|
||||
local PLATFORM=${1}
|
||||
local KVER=${2}
|
||||
local PKVER=${2}
|
||||
local KONAME=${3}
|
||||
|
||||
if [ -z "${PLATFORM}" ] || [ -z "${KVER}" ] || [ -z "${KONAME}" ]; then
|
||||
if [ -z "${PLATFORM}" ] || [ -z "${PKVER}" ] || [ -z "${KONAME}" ]; then
|
||||
echo ""
|
||||
return 1
|
||||
fi
|
||||
|
||||
unpackModules "${PLATFORM}" "${KVER}"
|
||||
unpackModules "${PLATFORM}" "${PKVER}"
|
||||
|
||||
rm -f "${TMP_PATH}/modules/${KONAME}"
|
||||
|
||||
packagModules "${PLATFORM}" "${KVER}"
|
||||
packagModules "${PLATFORM}" "${PKVER}"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
@ -164,15 +164,15 @@ function getdepends() {
|
||||
}
|
||||
|
||||
local PLATFORM=${1}
|
||||
local KVER=${2}
|
||||
local PKVER=${2}
|
||||
local KONAME=${3}
|
||||
|
||||
if [ -z "${PLATFORM}" ] || [ -z "${KVER}" ] || [ -z "${KONAME}" ]; then
|
||||
if [ -z "${PLATFORM}" ] || [ -z "${PKVER}" ] || [ -z "${KONAME}" ]; then
|
||||
echo ""
|
||||
return 1
|
||||
fi
|
||||
|
||||
unpackModules "${PLATFORM}" "${KVER}"
|
||||
unpackModules "${PLATFORM}" "${PKVER}"
|
||||
|
||||
local DPS=($(_getdepends "${KONAME}" | tr ' ' '\n' | sort -u))
|
||||
echo "${DPS[@]}"
|
||||
|
@ -52,6 +52,9 @@ initConfigKey "modelid" "" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "productver" "" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "buildnum" "" "${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 "patsum" "" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "sn" "" "${USER_CONFIG_FILE}"
|
||||
@ -75,18 +78,6 @@ fi
|
||||
initConfigKey "modules" "{}" "${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 arrayExistItem "sortnetif:" "$(readConfigMap "addons" "${USER_CONFIG_FILE}")"; then
|
||||
_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}")"
|
||||
BUILDNUM="$(readConfigKey "buildnum" "${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}")"
|
||||
KEYMAP="$(readConfigKey "keymap" "${USER_CONFIG_FILE}")"
|
||||
KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||
@ -188,12 +191,13 @@ function modelMenu() {
|
||||
resp="${1}"
|
||||
fi
|
||||
|
||||
# If user change model, clean build* and pat* and SN
|
||||
if [ "${MODEL}" != "${resp}" ]; then
|
||||
PLATFORM="$(grep -w "${resp}" "${TMP_PATH}/modellist" | awk '{print $2}' | head -1)"
|
||||
MODEL="${resp}"
|
||||
writeConfigKey "platform" "${PLATFORM}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "model" "${MODEL}" "${USER_CONFIG_FILE}"
|
||||
local BASEMODEL="${MODEL}"
|
||||
MODEL="${resp}"
|
||||
writeConfigKey "model" "${MODEL}" "${USER_CONFIG_FILE}"
|
||||
PLATFORM="$(grep -w "${MODEL}" "${TMP_PATH}/modellist" | awk '{print $2}' | head -1)"
|
||||
writeConfigKey "platform" "${PLATFORM}" "${USER_CONFIG_FILE}"
|
||||
|
||||
if [ "${MODEL}" != "${BASEMODEL}" ]; then
|
||||
MODELID=""
|
||||
PRODUCTVER=""
|
||||
BUILDNUM=""
|
||||
@ -217,8 +221,22 @@ function modelMenu() {
|
||||
# Remove old files
|
||||
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
|
||||
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
|
||||
touch ${PART1_PATH}/.build
|
||||
rm -f "${TMP_PATH}/modellist"
|
||||
return 0
|
||||
}
|
||||
@ -312,53 +330,71 @@ function productversMenu() {
|
||||
paturl="${2}"
|
||||
patsum="${3}"
|
||||
fi
|
||||
|
||||
[ "${paturl:0:1}" = "#" ] && patsum="${paturl}"
|
||||
[ -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
|
||||
DIALOG --title "$(TEXT "Product Version")" \
|
||||
--infobox "$(TEXT "Reconfiguring Synoinfo, Addons and Modules ...")" 0 0
|
||||
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")
|
||||
local BASEPATURL="$(readConfigKey "paturl" "${USER_CONFIG_FILE}")"
|
||||
local BASEPATSUM="$(readConfigKey "patsum" "${USER_CONFIG_FILE}")"
|
||||
|
||||
PRODUCTVER=${selver}
|
||||
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")"
|
||||
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}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}.gz" ] &&
|
||||
[ -f "${CKS_PATH}/modules-${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}.tgz" ]; then
|
||||
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" = "$(readConfigKey "platforms.${PLATFORM}.dt" "${WORK_PATH}/platforms.yml")" ]; then
|
||||
if [ "true" = "${DT}" ]; then
|
||||
USBASINTERNAL='false'
|
||||
writeConfigKey "usbasinternal" "${USBASINTERNAL}" "${USER_CONFIG_FILE}"
|
||||
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
|
||||
while IFS=': ' read -r ADDON PARAM; do
|
||||
[ -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}"
|
||||
fi
|
||||
done <<<$(readConfigMap "addons" "${USER_CONFIG_FILE}")
|
||||
# Rewrite modules
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
mergeConfigModules "$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${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
|
||||
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
|
||||
mergeConfigModules "$(getAllModules "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}" | awk '{print $1}')" "${USER_CONFIG_FILE}"
|
||||
|
||||
if [ "${BASEPATURL}" != "${paturl}" ] || [ "${BASEPATSUM}" != "${patsum}" ]; then
|
||||
# Remove old files
|
||||
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
|
||||
return 0
|
||||
}
|
||||
@ -412,10 +448,28 @@ function setConfigFromDSM() {
|
||||
writeConfigKey "productver" "${PRODUCTVER}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "buildnum" "${BUILDNUM}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "smallnum" "${SMALLNUM}" "${USER_CONFIG_FILE}"
|
||||
|
||||
writeConfigKey "paturl" "#" "${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
|
||||
writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}"
|
||||
while IFS=': ' read -r KEY VALUE; do
|
||||
@ -423,17 +477,16 @@ function setConfigFromDSM() {
|
||||
done <<<$(readConfigMap "platforms.${PLATFORM}.synoinfo" "${WORK_PATH}/platforms.yml")
|
||||
|
||||
# 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
|
||||
[ -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}"
|
||||
fi
|
||||
done <<<$(readConfigMap "addons" "${USER_CONFIG_FILE}")
|
||||
|
||||
# Rebuild modules
|
||||
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
|
||||
return 0
|
||||
}
|
||||
@ -497,7 +550,7 @@ function ParsePat() {
|
||||
fi
|
||||
|
||||
writeConfigKey "paturl" "#PARSEPAT" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "patsum" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "patsum" "#PARSEPAT" "${USER_CONFIG_FILE}"
|
||||
copyDSMFiles "${UNTAR_PAT_PATH}"
|
||||
|
||||
touch ${PART1_PATH}/.build
|
||||
@ -521,6 +574,11 @@ function ParsePat() {
|
||||
PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")"
|
||||
BUILDNUM="$(readConfigKey "buildnum" "${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}")"
|
||||
MAC1="$(readConfigKey "mac1" "${USER_CONFIG_FILE}")"
|
||||
MAC2="$(readConfigKey "mac2" "${USER_CONFIG_FILE}")"
|
||||
@ -531,9 +589,6 @@ function ParsePat() {
|
||||
###############################################################################
|
||||
# Manage addons
|
||||
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"
|
||||
while true; do
|
||||
unset ADDONS
|
||||
@ -560,7 +615,7 @@ function addonMenu() {
|
||||
while read -r ADDON DESC; do
|
||||
arrayExistItem "${ADDON}" "${!ADDONS[@]}" && continue # Check if addon has already been added
|
||||
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
|
||||
DIALOG --title "$(TEXT "Addons")" \
|
||||
--msgbox "$(TEXT "No available addons to add")" 0 0
|
||||
@ -618,7 +673,7 @@ function addonMenu() {
|
||||
MSG+="${MODULE}"
|
||||
fi
|
||||
MSG+=": \Z5${DESC}\Zn\n"
|
||||
done <<<$(availableAddons "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
|
||||
done <<<$(availableAddons "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}")
|
||||
DIALOG --title "$(TEXT "Addons")" \
|
||||
--msgbox "${MSG}" 0 0
|
||||
;;
|
||||
@ -673,8 +728,6 @@ function addonMenu() {
|
||||
|
||||
###############################################################################
|
||||
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"
|
||||
# loop menu
|
||||
while true; do
|
||||
@ -698,7 +751,7 @@ function moduleMenu() {
|
||||
while true; do
|
||||
DIALOG --title "$(TEXT "Modules")" \
|
||||
--infobox "$(TEXT "Reading modules ...")" 0 0
|
||||
ALLMODULES=$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
|
||||
ALLMODULES=$(getAllModules "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}")
|
||||
unset USERMODULES
|
||||
declare -A USERMODULES
|
||||
while IFS=': ' read -r KEY VALUE; do
|
||||
@ -750,7 +803,7 @@ function moduleMenu() {
|
||||
--infobox "$(TEXT "Selecting loaded modules")" 0 0
|
||||
KOLIST=""
|
||||
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
|
||||
KOLIST=($(echo ${KOLIST} | tr ' ' '\n' | sort -u))
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
@ -790,10 +843,10 @@ function moduleMenu() {
|
||||
done
|
||||
popd
|
||||
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"
|
||||
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}"
|
||||
touch ${PART1_PATH}/.build
|
||||
else
|
||||
@ -802,7 +855,7 @@ function moduleMenu() {
|
||||
fi
|
||||
;;
|
||||
i)
|
||||
DEPS="$(getdepends "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}" i915) i915"
|
||||
DEPS="$(getdepends "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}" i915) i915"
|
||||
DELS=()
|
||||
while IFS=': ' read -r KEY VALUE; do
|
||||
[ -z "${KEY}" ] && continue
|
||||
@ -1228,7 +1281,7 @@ function extractPatFiles() {
|
||||
|
||||
rm -rf "${EXT_PATH}"
|
||||
mkdir -p "${EXT_PATH}"
|
||||
printf "$(TEXT "Disassembling %s: ")" "$(basename "${PAT_PATH}")"
|
||||
printf "$(TEXT "Disassembling %s:")" "$(basename "${PAT_PATH}")"
|
||||
|
||||
RET=0
|
||||
if [ "${isencrypted}" = "yes" ]; then
|
||||
@ -1328,7 +1381,7 @@ function extractDsmFiles() {
|
||||
printf "$(TEXT "%s cached.")" "${PAT_FILE}"
|
||||
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
|
||||
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}"
|
||||
@ -1338,21 +1391,21 @@ function extractDsmFiles() {
|
||||
|
||||
rm -rf "${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}"
|
||||
if [ $? -ne 0 ]; then
|
||||
rm -rf "${UNTAR_PAT_PATH}"
|
||||
return 1
|
||||
fi
|
||||
echo -n "$(TEXT "Setting hash: ")"
|
||||
echo -n "$(TEXT "Setting hash:")"
|
||||
ZIMAGE_HASH="$(sha256sum ${UNTAR_PAT_PATH}/zImage | awk '{print $1}')"
|
||||
writeConfigKey "zimage-hash" "${ZIMAGE_HASH}" "${USER_CONFIG_FILE}"
|
||||
RAMDISK_HASH="$(sha256sum ${UNTAR_PAT_PATH}/rd.gz | awk '{print $1}')"
|
||||
writeConfigKey "ramdisk-hash" "${RAMDISK_HASH}" "${USER_CONFIG_FILE}"
|
||||
echo "$(TEXT "OK")"
|
||||
|
||||
echo -n "$(TEXT "Copying files: ")"
|
||||
echo -n "$(TEXT "Copying files:")"
|
||||
copyDSMFiles "${UNTAR_PAT_PATH}"
|
||||
rm -rf "${UNTAR_PAT_PATH}"
|
||||
echo "$(TEXT "OK")"
|
||||
@ -1377,6 +1430,19 @@ function make() {
|
||||
return 1
|
||||
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 || {
|
||||
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
|
||||
@ -1446,7 +1512,7 @@ function customDTS() {
|
||||
echo "e \"$(TEXT "Exit")\""
|
||||
} >"${TMP_PATH}/menu"
|
||||
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
|
||||
[ $? -ne 0 ] && return
|
||||
case "$(cat ${TMP_PATH}/resp)" in
|
||||
@ -2206,6 +2272,7 @@ function tryRecoveryDSM() {
|
||||
__umountDSMRootDisk
|
||||
DIALOG --title "$(TEXT "Settings")" \
|
||||
--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
|
||||
exec "${0}"
|
||||
return
|
||||
@ -2229,7 +2296,7 @@ function tryRecoveryDSM() {
|
||||
fi
|
||||
|
||||
writeConfigKey "paturl" "#RECOVERY" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "patsum" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "patsum" "#RECOVERY" "${USER_CONFIG_FILE}"
|
||||
|
||||
copyDSMFiles "${TMP_PATH}/mdX/.syno/patch"
|
||||
__umountDSMRootDisk
|
||||
@ -2702,6 +2769,23 @@ function setProxy() {
|
||||
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
|
||||
function changePassword() {
|
||||
@ -2900,6 +2984,8 @@ function advancedMenu() {
|
||||
echo "d \"$(TEXT "Custom DTS")\""
|
||||
echo "u \"$(TEXT "USB disk as internal disk:") \Z4${USBASINTERNAL}\Zn\""
|
||||
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\""
|
||||
if [ "${DIRECTBOOT}" = "false" ]; then
|
||||
echo "i \"$(TEXT "Timeout of get IP in boot:") \Z4${BOOTIPWAIT}\Zn\""
|
||||
@ -2986,7 +3072,7 @@ function advancedMenu() {
|
||||
NEXT="m"
|
||||
;;
|
||||
d)
|
||||
if [ "true" = "$(readConfigKey "platforms.${PLATFORM}.dt" "${WORK_PATH}/platforms.yml")" ]; then
|
||||
if [ "true" = "${DT}" ]; then
|
||||
customDTS
|
||||
else
|
||||
DIALOG --title "$(TEXT "Advanced")" \
|
||||
@ -2995,7 +3081,7 @@ function advancedMenu() {
|
||||
NEXT="e"
|
||||
;;
|
||||
u)
|
||||
if [ "true" = "$(readConfigKey "platforms.${PLATFORM}.dt" "${WORK_PATH}/platforms.yml")" ]; then
|
||||
if [ "true" = "${DT}" ]; then
|
||||
DIALOG --title "$(TEXT "Advanced")" \
|
||||
--msgbox "$(TEXT "USB disk as internal disk is not supported for current model.")" 0 0
|
||||
NEXT="e"
|
||||
@ -3005,6 +3091,16 @@ function advancedMenu() {
|
||||
NEXT="u"
|
||||
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)
|
||||
ITEMS="$(echo -e "1 \n5 \n10 \n30 \n60 \n")"
|
||||
DIALOG --title "$(TEXT "Advanced")" \
|
||||
@ -3161,8 +3257,10 @@ function settingsMenu() {
|
||||
fi
|
||||
echo "1 \"$(TEXT "Set global proxy")\""
|
||||
echo "2 \"$(TEXT "Set github proxy")\""
|
||||
echo "3 \"$(TEXT "Change root password # Only RR")\""
|
||||
echo "4 \"$(TEXT "Change ports of TTYD/DUFS/HTTP")\""
|
||||
UPDMC="$([ -f "${MC_RAMDISK_FILE}" ] && echo "true" || echo "false")"
|
||||
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 "e \"$(TEXT "Exit")\""
|
||||
} >"${TMP_PATH}/menu"
|
||||
@ -3249,13 +3347,23 @@ function settingsMenu() {
|
||||
NEXT="e"
|
||||
;;
|
||||
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"
|
||||
;;
|
||||
4)
|
||||
changePassword
|
||||
NEXT="e"
|
||||
;;
|
||||
5)
|
||||
changePorts
|
||||
NEXT="e"
|
||||
;;
|
||||
|
||||
!)
|
||||
MSG=""
|
||||
MSG+=" \n"
|
||||
@ -3440,9 +3548,11 @@ function updateRR() {
|
||||
SIZENEW=0
|
||||
SIZEOLD=0
|
||||
while IFS=': ' read -r KEY VALUE; do
|
||||
VALUE="${VALUE#/}" # Remove leading slash
|
||||
VALUE="${VALUE%/}" # Remove trailing slash
|
||||
if [ "${KEY: -1}" = "/" ]; then
|
||||
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
|
||||
if [ $? -ne 0 ]; then
|
||||
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
|
||||
rm "${TMP_PATH}/update/$(basename "${KEY}").tgz"
|
||||
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}"
|
||||
fi
|
||||
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}))
|
||||
SIZEOLD=$((${SIZEOLD} + ${FSOLD:-0}))
|
||||
done <<<$(readConfigMap "replace" "${TMP_PATH}/update/update-list.yml")
|
||||
@ -3490,26 +3600,25 @@ function updateRR() {
|
||||
[ -d "${F}" ] && rm -rf "${F}"
|
||||
done <<<$(readConfigArray "remove" "${TMP_PATH}/update/update-list.yml")
|
||||
while IFS=': ' read -r KEY VALUE; do
|
||||
VALUE="${VALUE#/}" # Remove leading slash
|
||||
VALUE="${VALUE%/}" # Remove trailing slash
|
||||
if [ "${KEY: -1}" = "/" ]; then
|
||||
rm -rf "${VALUE}"/*
|
||||
mkdir -p "${VALUE}"
|
||||
cp -rf "${TMP_PATH}/update/${VALUE}"/* "${VALUE}"
|
||||
if [ "$(realpath "${VALUE}")" = "$(realpath "${MODULES_PATH}")" ]; then
|
||||
if [ -n "${MODEL}" ] && [ -n "${PRODUCTVER}" ]; then
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
||||
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
|
||||
rm -rf "/${VALUE}/"*
|
||||
mkdir -p "/${VALUE}/"
|
||||
cp -rf "${TMP_PATH}/update/${VALUE}/". "/${VALUE}/"
|
||||
if [ "$(realpath "/${VALUE}/")" = "$(realpath "${MODULES_PATH}")" ]; then
|
||||
if [ -n "${PLATFORM}" ] && [ -n "${PRODUCTVER}" ] && [ -n "${KVER}" ]; then
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
mergeConfigModules "$(getAllModules "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}" | awk '{print $1}')" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
mkdir -p "$(dirname "${VALUE}")"
|
||||
cp -f "${TMP_PATH}/update/${VALUE}" "${VALUE}"
|
||||
mkdir -p "$(dirname "/${VALUE}")"
|
||||
cp -f "${TMP_PATH}/update/${VALUE}" "/${VALUE}"
|
||||
fi
|
||||
done <<<$(readConfigMap "replace" "${TMP_PATH}/update/update-list.yml")
|
||||
rm -rf "${TMP_PATH}/update"
|
||||
touch ${PART1_PATH}/.upgraded
|
||||
touch ${PART1_PATH}/.build
|
||||
sync
|
||||
MSG="$(printf "$(TEXT "%s updated with success!\n")$(TEXT "Reboot?")" "$(TEXT "RR")")"
|
||||
@ -3632,13 +3741,9 @@ function updateModules() {
|
||||
|
||||
rm -rf "${MODULES_PATH}/"*
|
||||
cp -rf "${TMP_PATH}/update/"* "${MODULES_PATH}/"
|
||||
if [ -n "${MODEL}" ] && [ -n "${PRODUCTVER}" ]; then
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
||||
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
|
||||
if [ -n "${PLATFORM}" ] && [ -n "${PRODUCTVER}" ] && [ -n "${KVER}" ]; then
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
mergeConfigModules "$(getAllModules "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}" | awk '{print $1}')" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
rm -rf "${TMP_PATH}/update"
|
||||
touch ${PART1_PATH}/.build
|
||||
@ -3754,13 +3859,9 @@ function updateCKs() {
|
||||
|
||||
rm -rf "${CKS_PATH}/"*
|
||||
cp -rf "${TMP_PATH}/update/"* "${CKS_PATH}/"
|
||||
if [ -n "${MODEL}" ] && [ -n "${PRODUCTVER}" ] && [ "${KERNEL}" = "custom" ]; then
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
||||
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
|
||||
if [ "${KERNEL}" = "custom" ] && [ -n "${PLATFORM}" ] && [ -n "${PRODUCTVER}" ] && [ -n "${KVER}" ]; then
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
mergeConfigModules "$(getAllModules "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}" | awk '{print $1}')" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
rm -rf "${TMP_PATH}/update"
|
||||
touch ${PART1_PATH}/.build
|
||||
@ -3995,10 +4096,8 @@ else
|
||||
fi
|
||||
echo "u \"$(TEXT "Parse pat")\""
|
||||
if [ -n "${PRODUCTVER}" ]; then
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
||||
if [ -f "${CKS_PATH}/bzImage-${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}.gz" ] &&
|
||||
[ -f "${CKS_PATH}/modules-${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}.tgz" ]; then
|
||||
if [ -f "${CKS_PATH}/bzImage-${PLATFORM}-${KPRE:+${KPRE}-}${KVER}.gz" ] &&
|
||||
[ -f "${CKS_PATH}/modules-${PLATFORM}-${KPRE:+${KPRE}-}${KVER}.tgz" ]; then
|
||||
echo "s \"$(TEXT "Kernel:") \Z4${KERNEL}\Zn\""
|
||||
fi
|
||||
echo "a \"$(TEXT "Addons menu")\""
|
||||
@ -4007,10 +4106,8 @@ else
|
||||
echo "i \"$(TEXT "Synoinfo menu")\""
|
||||
fi
|
||||
echo "v \"$(TEXT "Advanced menu")\""
|
||||
if [ -n "${MODEL}" ]; then
|
||||
if [ -n "${PRODUCTVER}" ]; then
|
||||
echo "d \"$(TEXT "Build the loader")\""
|
||||
fi
|
||||
if [ -n "${MODEL}" ] && [ -n "${PRODUCTVER}" ]; then
|
||||
echo "d \"$(TEXT "Build the loader")\""
|
||||
fi
|
||||
if loaderIsConfigured; then
|
||||
echo "q \"$(TEXT "Direct boot:") \Z4${DIRECTBOOT}\Zn\""
|
||||
@ -4052,10 +4149,9 @@ else
|
||||
fi
|
||||
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}"
|
||||
mergeConfigModules "$(getAllModules "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}" | awk '{print $1}')" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
touch ${PART1_PATH}/.build
|
||||
|
||||
NEXT="o"
|
||||
;;
|
||||
a)
|
||||
|
@ -25,9 +25,9 @@ PATSUM="$(readConfigKey "patsum" "${USER_CONFIG_FILE}")"
|
||||
ODP="$(readConfigKey "odp" "${USER_CONFIG_FILE}")" # official drivers priorities
|
||||
HDDSORT="$(readConfigKey "hddsort" "${USER_CONFIG_FILE}")"
|
||||
|
||||
# Read model data
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
||||
DT="$(readConfigKey "dt" "${USER_CONFIG_FILE}")"
|
||||
KVER="$(readConfigKey "kver" "${USER_CONFIG_FILE}")"
|
||||
KPRE="$(readConfigKey "kpre" "${USER_CONFIG_FILE}")"
|
||||
|
||||
# Sanity check
|
||||
if [ -z "${PLATFORM}" ] || [ -z "${KVER}" ]; then
|
||||
@ -145,12 +145,12 @@ rm -f "${TMP_PATH}/rp.txt"
|
||||
|
||||
# Extract ck modules to ramdisk
|
||||
echo -n "."
|
||||
installModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}" "${!MODULES[@]}" || exit 1
|
||||
installModules "${PLATFORM}" "${KPRE:+${KPRE}-}${KVER}" "${!MODULES[@]}" || exit 1
|
||||
|
||||
# Copying fake 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
|
||||
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
|
||||
echo -n "."
|
||||
@ -179,14 +179,14 @@ for ADDON in "redpill" "revert" "misc" "eudev" "disks" "localrss" "notify" "wol"
|
||||
PARAMS=${HDDSORT}
|
||||
[ -f "${USER_UP_PATH}/${MODEL}.dts" ] && cp -f "${USER_UP_PATH}/${MODEL}.dts" "${RAMDISK_PATH}/addons/model.dts"
|
||||
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
|
||||
done
|
||||
|
||||
# User addons
|
||||
for ADDON in "${!ADDONS[@]}"; do
|
||||
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
|
||||
done
|
||||
|
||||
|
@ -16,14 +16,14 @@ echo -n "Patching zImage"
|
||||
rm -f "${MOD_ZIMAGE_FILE}"
|
||||
|
||||
KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||
|
||||
if [ "${KERNEL}" = "custom" ]; then
|
||||
echo -n "."
|
||||
PLATFORM="$(readConfigKey "platform" "${USER_CONFIG_FILE}")"
|
||||
PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")"
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
||||
KVER="$(readConfigKey "kver" "${USER_CONFIG_FILE}")"
|
||||
KPRE="$(readConfigKey "kpre" "${USER_CONFIG_FILE}")"
|
||||
# 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 "..."
|
||||
else
|
||||
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"
|
||||
|
||||
if [ -s ${prefix}/grubenv ]; then
|
||||
load_env --skip-sig
|
||||
load_env --skip-sig --file=${prefix}/grubenv
|
||||
fi
|
||||
|
||||
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"
|
||||
|
||||
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 [ "${default}" = "direct" ]; then
|
||||
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 {
|
||||
gfxmode
|
||||
echo "RRVersion: ${rr_version}"
|
||||
@ -102,7 +108,7 @@ if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
|
||||
echo "Loading DSM kernel..."
|
||||
linux /zImage-dsm ${dsm_cmdline}
|
||||
echo "Loading DSM initramfs..."
|
||||
initrd /initrd-dsm
|
||||
initrd ${MCI} /initrd-dsm
|
||||
echo "Booting..."
|
||||
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..."
|
||||
linux /bzImage-rr ${RR_CMDLINE} ${rr_cmdline}
|
||||
echo "Loading initramfs..."
|
||||
if [ -e /initrd-rru ]; then
|
||||
initrd /initrd-rr /initrd-rru
|
||||
else
|
||||
initrd /initrd-rr
|
||||
fi
|
||||
initrd ${MCI} /initrd-rr ${RRU}
|
||||
echo "Booting..."
|
||||
}
|
||||
menuentry 'Boot Recovery' ${menuentry_id_option} recovery {
|
||||
@ -124,11 +126,7 @@ if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
|
||||
echo "Loading kernel..."
|
||||
linux /bzImage-rr ${RR_CMDLINE} ${rr_cmdline} recovery
|
||||
echo "Loading initramfs..."
|
||||
if [ -e /initrd-rru ]; then
|
||||
initrd /initrd-rr /initrd-rru
|
||||
else
|
||||
initrd /initrd-rr
|
||||
fi
|
||||
initrd ${MCI} /initrd-rr ${RRU}
|
||||
echo "Booting..."
|
||||
}
|
||||
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..."
|
||||
linux /bzImage-rr ${RR_CMDLINE} ${rr_cmdline} force_junior
|
||||
echo "Loading initramfs..."
|
||||
if [ -e /initrd-rru ]; then
|
||||
initrd /initrd-rr /initrd-rru
|
||||
else
|
||||
initrd /initrd-rr
|
||||
fi
|
||||
initrd ${MCI} /initrd-rr ${RRU}
|
||||
echo "Booting..."
|
||||
}
|
||||
fi
|
||||
@ -150,11 +144,7 @@ menuentry 'Configure loader' ${menuentry_id_option} config {
|
||||
echo "Loading kernel..."
|
||||
linux /bzImage-rr earlycon=uart8250,io,0x3f8,115200n8 console=ttyS0,115200n8 ${RR_CMDLINE} ${rr_cmdline} IWANTTOCHANGETHECONFIG
|
||||
echo "Loading initramfs..."
|
||||
if [ -e /initrd-rru ]; then
|
||||
initrd /initrd-rr /initrd-rru
|
||||
else
|
||||
initrd /initrd-rr
|
||||
fi
|
||||
initrd ${MCI} /initrd-rr ${RRU}
|
||||
echo "Booting..."
|
||||
}
|
||||
|
||||
@ -163,11 +153,7 @@ menuentry 'Configure loader (verbose)' ${menuentry_id_option} verbose {
|
||||
echo "Loading kernel..."
|
||||
linux /bzImage-rr ${RR_CMDLINE} ${rr_cmdline} earlycon=tty2 console=tty2 IWANTTOCHANGETHECONFIG
|
||||
echo "Loading initramfs..."
|
||||
if [ -e /initrd-rru ]; then
|
||||
initrd /initrd-rr /initrd-rru
|
||||
else
|
||||
initrd /initrd-rr
|
||||
fi
|
||||
initrd ${MCI} /initrd-rr ${RRU}
|
||||
echo "Booting..."
|
||||
}
|
||||
|
||||
|
@ -197,6 +197,9 @@ def getpats(workpath, jsonpath, xlsxpath):
|
||||
continue
|
||||
V = __fullversion(f"{S['build_ver']}-{S['build_num']}-{S['nano']}")
|
||||
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] = {
|
||||
'url': S['files'][0]['url'].split('?')[0],
|
||||
'sum': S['files'][0]['checksum']
|
||||
|
Loading…
x
Reference in New Issue
Block a user