From c7299b8158b023a03db4ccb9ad27c44569cbbade Mon Sep 17 00:00:00 2001 From: Ing Date: Fri, 2 May 2025 17:32:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=20boot.sh=20=E5=92=8C=20func?= =?UTF-8?q?tions.sh=20=E4=B8=AD=E7=9A=84=E9=85=8D=E7=BD=AE=E5=A4=84?= =?UTF-8?q?=E7=90=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- files/initrd/opt/rr/boot.sh | 33 +++++++++++++++++++----- files/initrd/opt/rr/include/functions.sh | 5 ++-- files/initrd/opt/rr/ramdisk-patch.sh | 3 +-- 3 files changed, 30 insertions(+), 11 deletions(-) diff --git a/files/initrd/opt/rr/boot.sh b/files/initrd/opt/rr/boot.sh index 67479a12..334a8bae 100755 --- a/files/initrd/opt/rr/boot.sh +++ b/files/initrd/opt/rr/boot.sh @@ -142,15 +142,34 @@ declare -A CMDLINE CMDLINE['syno_hw_version']="${MODELID:-${MODEL}}" CMDLINE['vid']="${VID:-"0x46f4"}" # Sanity check CMDLINE['pid']="${PID:-"0x0001"}" # Sanity check + +if [ -z "${SN}" ]; then + SN="$(generateSerial "${MODEL}")" + writeConfigKey "sn" "${SN}" "${USER_CONFIG_FILE}" +fi CMDLINE['sn']="${SN}" -CMDLINE['netif_num']="0" -[ -z "${MAC1}" ] && [ -n "${MAC2}" ] && { - MAC1=${MAC2} - MAC2="" -} # Sanity check -[ -n "${MAC1}" ] && CMDLINE['mac1']="${MAC1}" && CMDLINE['netif_num']="1" -[ -n "${MAC2}" ] && CMDLINE['mac2']="${MAC2}" && CMDLINE['netif_num']="2" +if [ -z "${MAC1}" ]; then + if [ -n "${MAC2}" ]; then + MAC1=${MAC2} + MAC2="" + writeConfigKey "mac1" "${MAC1}" "${USER_CONFIG_FILE}" + writeConfigKey "mac2" "${MAC2}" "${USER_CONFIG_FILE}" + CMDLINE['mac1']="${MAC1}" + CMDLINE['netif_num']="0" + else + NETIF_NUM=2 + MACS="$(generateMacAddress "${MODEL}" ${NETIF_NUM})" + for I in $(seq 1 ${NETIF_NUM}); do + eval MAC${I}="$(echo ${MACS} | cut -d' ' -f${I})" + writeConfigKey "mac${I}" "$(echo ${MACS} | cut -d' ' -f${I})" "${USER_CONFIG_FILE}" + done + CMDLINE['mac1']="${MAC1}" + CMDLINE['mac2']="${MAC2}" + CMDLINE['netif_num']="${NETIF_NUM}" + fi +fi + CMDLINE['skip_vender_mac_interfaces']="$(seq -s, 0 $((${CMDLINE['netif_num']:-1} - 1)))" # set fixed cmdline diff --git a/files/initrd/opt/rr/include/functions.sh b/files/initrd/opt/rr/include/functions.sh index 3b09d20e..14398055 100755 --- a/files/initrd/opt/rr/include/functions.sh +++ b/files/initrd/opt/rr/include/functions.sh @@ -34,10 +34,11 @@ function checkBootLoader() { # Check if loader is fully configured # Returns 1 if not function loaderIsConfigured() { - SN="$(readConfigKey "sn" "${USER_CONFIG_FILE}")" - [ -z "${SN}" ] && return 1 [ ! -f "${MOD_ZIMAGE_FILE}" ] && return 1 [ ! -f "${MOD_RDGZ_FILE}" ] && return 1 + [ -z "$(readConfigKey "zimage-hash" "${USER_CONFIG_FILE}")" ] && return 1 + [ -z "$(readConfigKey "ramdisk-hash" "${USER_CONFIG_FILE}")" ] && return 1 + return 0 # OK } diff --git a/files/initrd/opt/rr/ramdisk-patch.sh b/files/initrd/opt/rr/ramdisk-patch.sh index ea38fbe7..8ce02f06 100755 --- a/files/initrd/opt/rr/ramdisk-patch.sh +++ b/files/initrd/opt/rr/ramdisk-patch.sh @@ -95,7 +95,7 @@ while IFS=': ' read -r KEY VALUE; do [ -n "${KEY}" ] && MODULES["${KEY}"]="${VALUE}" done <<<"$(readConfigMap "modules" "${USER_CONFIG_FILE}")" -SYNOINFO["SN"]="${SN}" +# SYNOINFO["SN"]="${SN}" while IFS=': ' read -r KEY VALUE; do [ -n "${KEY}" ] && SYNOINFO["${KEY}"]="${VALUE}" done <<<"$(readConfigMap "synoinfo" "${USER_CONFIG_FILE}")" @@ -146,7 +146,6 @@ chmod +x "${RAMDISK_PATH}/addons/addons.sh" for ADDON in "redpill" "revert" "misc" "eudev" "disks" "localrss" "notify" "wol"; do PARAMS="" if [ "${ADDON}" = "disks" ]; then - 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