add "Custom patch script"

This commit is contained in:
Ing 2023-12-31 05:47:15 +08:00
parent 37ca3e50d4
commit 509a7fadb4
7 changed files with 1071 additions and 977 deletions

View File

@ -28,3 +28,4 @@ LKM_PATH="${PART3_PATH}/lkms"
ADDONS_PATH="${PART3_PATH}/addons" ADDONS_PATH="${PART3_PATH}/addons"
MODULES_PATH="${PART3_PATH}/modules" MODULES_PATH="${PART3_PATH}/modules"
USER_UP_PATH="${PART3_PATH}/users" USER_UP_PATH="${PART3_PATH}/users"
SCRIPTS_PATH="${PART3_PATH}/scripts"

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

View File

@ -348,14 +348,13 @@ function addonMenu() {
--default-item ${NEXT} --menu "$(TEXT "Choose a option")" 0 0 0 \ --default-item ${NEXT} --menu "$(TEXT "Choose a option")" 0 0 0 \
a "$(TEXT "Add an addon")" \ a "$(TEXT "Add an addon")" \
d "$(TEXT "Delete addons")" \ d "$(TEXT "Delete addons")" \
m "$(TEXT "Show all addons")" \ s "$(TEXT "Show all addons")" \
o "$(TEXT "Upload a external addon")" \ u "$(TEXT "Upload a external addon")" \
e "$(TEXT "Exit")" \ e "$(TEXT "Exit")" \
2>${TMP_PATH}/resp 2>${TMP_PATH}/resp
[ $? -ne 0 ] && return [ $? -ne 0 ] && return
case "$(<${TMP_PATH}/resp)" in case "$(<${TMP_PATH}/resp)" in
a) a)
NEXT='a'
rm -f "${TMP_PATH}/menu" rm -f "${TMP_PATH}/menu"
while read ADDON DESC; do while read 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
@ -383,7 +382,6 @@ function addonMenu() {
touch ${PART1_PATH}/.build touch ${PART1_PATH}/.build
;; ;;
d) d)
NEXT='d'
if [ ${#ADDONS[@]} -eq 0 ]; then if [ ${#ADDONS[@]} -eq 0 ]; then
DIALOG --title "$(TEXT "Addons")" \ DIALOG --title "$(TEXT "Addons")" \
--msgbox "$(TEXT "No user addons to remove")" 0 0 --msgbox "$(TEXT "No user addons to remove")" 0 0
@ -405,8 +403,7 @@ function addonMenu() {
done done
touch ${PART1_PATH}/.build touch ${PART1_PATH}/.build
;; ;;
m) s)
NEXT='m'
MSG="" MSG=""
MSG+="$(TEXT "Name with color \"\Z4blue\Zn\" have been added, with color \"black\" are not added.\n\n")" MSG+="$(TEXT "Name with color \"\Z4blue\Zn\" have been added, with color \"black\" are not added.\n\n")"
while read MODULE DESC; do while read MODULE DESC; do
@ -420,7 +417,7 @@ function addonMenu() {
DIALOG --title "$(TEXT "Addons")" \ DIALOG --title "$(TEXT "Addons")" \
--msgbox "${MSG}" 0 0 --msgbox "${MSG}" 0 0
;; ;;
o) u)
if ! tty | grep -q "/dev/pts"; then #if ! tty | grep -q "/dev/pts" || [ -z "${SSH_TTY}" ]; then if ! tty | grep -q "/dev/pts"; then #if ! tty | grep -q "/dev/pts" || [ -z "${SSH_TTY}" ]; then
DIALOG --title "$(TEXT "Addons")" \ DIALOG --title "$(TEXT "Addons")" \
--msgbox "$(TEXT "This feature is only available when accessed via ssh (Requires a terminal that supports ZModem protocol).")" 0 0 --msgbox "$(TEXT "This feature is only available when accessed via ssh (Requires a terminal that supports ZModem protocol).")" 0 0
@ -476,15 +473,15 @@ function moduleMenu() {
while true; do while true; do
DIALOG --title "$(TEXT "Modules")" \ DIALOG --title "$(TEXT "Modules")" \
--default-item ${NEXT} --menu "$(TEXT "Choose a option")" 0 0 0 \ --default-item ${NEXT} --menu "$(TEXT "Choose a option")" 0 0 0 \
c "$(TEXT "Show/Select modules")" \ s "$(TEXT "Show/Select modules")" \
l "$(TEXT "Select loaded modules")" \ l "$(TEXT "Select loaded modules")" \
o "$(TEXT "Upload a external module")" \ u "$(TEXT "Upload a external module")" \
p "$(TEXT "Priority use of official drivers:") \Z4${ODP}\Zn" \ p "$(TEXT "Priority use of official drivers:") \Z4${ODP}\Zn" \
e "$(TEXT "Exit")" \ e "$(TEXT "Exit")" \
2>${TMP_PATH}/resp 2>${TMP_PATH}/resp
[ $? -ne 0 ] && break [ $? -ne 0 ] && break
case "$(<${TMP_PATH}/resp)" in case "$(<${TMP_PATH}/resp)" in
c) s)
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
@ -549,7 +546,7 @@ function moduleMenu() {
done done
touch ${PART1_PATH}/.build touch ${PART1_PATH}/.build
;; ;;
o) u)
if ! tty | grep -q "/dev/pts"; then #if ! tty | grep -q "/dev/pts" || [ -z "${SSH_TTY}" ]; then if ! tty | grep -q "/dev/pts"; then #if ! tty | grep -q "/dev/pts" || [ -z "${SSH_TTY}" ]; then
DIALOG --title "$(TEXT "Modules")" \ DIALOG --title "$(TEXT "Modules")" \
--msgbox "$(TEXT "This feature is only available when accessed via ssh (Requires a terminal that supports ZModem protocol).")" 0 0 --msgbox "$(TEXT "This feature is only available when accessed via ssh (Requires a terminal that supports ZModem protocol).")" 0 0
@ -1082,6 +1079,7 @@ function advancedMenu() {
if [ -n "${MODEL}" -a "true" = "$(readModelKey "${MODEL}" "dt")" ]; then if [ -n "${MODEL}" -a "true" = "$(readModelKey "${MODEL}" "dt")" ]; then
echo "d \"$(TEXT "Custom dts file # Need rebuild")\"" >>"${TMP_PATH}/menu" echo "d \"$(TEXT "Custom dts file # Need rebuild")\"" >>"${TMP_PATH}/menu"
fi fi
echo "0 \"$(TEXT "Custom patch script # Developer")\"" >>"${TMP_PATH}/menu"
if [ -b "/dev/mmcblk0" ]; then if [ -b "/dev/mmcblk0" ]; then
echo "b \"$(TEXT "Use EMMC as the system disk:") \Z4${EMMCBOOT}\Zn\"" >>"${TMP_PATH}/menu" echo "b \"$(TEXT "Use EMMC as the system disk:") \Z4${EMMCBOOT}\Zn\"" >>"${TMP_PATH}/menu"
fi fi
@ -1566,6 +1564,15 @@ function advancedMenu() {
fi fi
touch ${PART1_PATH}/.build touch ${PART1_PATH}/.build
;; ;;
0)
MSG=""
MSG+="$(TEXT "This option is only informative.\n\n")"
MSG+="$(TEXT "This program reserves an interface for ramdisk custom patch scripts.\n")"
MSG+="$(TEXT "Call timing: called before ramdisk packaging.\n")"
MSG+="$(TEXT "Location: /mnt/p3/scripts/*.sh\n")"
DIALOG --title "$(TEXT "Advanced")" \
--msgbox "${MSG}" 0 0
;;
b) b)
if [ "${EMMCBOOT}" = "true" ]; then if [ "${EMMCBOOT}" = "true" ]; then
EMMCBOOT='false' EMMCBOOT='false'

View File

@ -213,6 +213,12 @@ fi
# sed -i 's/kvmx64/RRING/g' ${RAMDISK_PATH}/etc/synoinfo.conf ${RAMDISK_PATH}/etc/VERSION # sed -i 's/kvmx64/RRING/g' ${RAMDISK_PATH}/etc/synoinfo.conf ${RAMDISK_PATH}/etc/VERSION
#fi #fi
# Call user patch scripts
for F in $(ls -1 ${SCRIPTS_PATH}/*.sh 2>/dev/null); do
echo "Calling ${F}" >>"${LOG_FILE}" 2>&1
. "${F}" >>"${LOG_FILE}" 2>&1 || dieLog
done
# Reassembly ramdisk # Reassembly ramdisk
echo -n "." echo -n "."
if [ "${RD_COMPRESSED}" == "true" ]; then if [ "${RD_COMPRESSED}" == "true" ]; then