diff --git a/VERSION b/VERSION index 5870c667..0b19638a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -25.2.1 +25.2.2 diff --git a/docs/addons.json b/docs/addons.json index 0b5fe76d..2a8dee02 100644 --- a/docs/addons.json +++ b/docs/addons.json @@ -739,6 +739,26 @@ "zh_TW": "作者: GXNAS. 強制將 UPS 供電時的待機模式修改為關機. 參數: -f - 關機前觸發關機任務; -e - 待機模式前發關機任務(不修改為關機)." } }, + "vmtools": { + "system": false, + "description": { + "en_US": "qemu-ga & &open-vm-tools.", + "ar_SA": "qemu-ga & &open-vm-tools.", + "de_DE": "qemu-ga & &open-vm-tools.", + "es_ES": "qemu-ga & &open-vm-tools.", + "fr_FR": "qemu-ga & &open-vm-tools.", + "ja_JP": "qemu-ga & &open-vm-tools.", + "ko_KR": "qemu-ga & &open-vm-tools.", + "ru_RU": "qemu-ga & &open-vm-tools.", + "th_TH": "qemu-ga & &open-vm-tools.", + "tr_TR": "qemu-ga & &open-vm-tools.", + "uk_UA": "qemu-ga & &open-vm-tools.", + "vi_VN": "qemu-ga & &open-vm-tools.", + "zh_CN": "qemu-ga & &open-vm-tools.", + "zh_HK": "qemu-ga & &open-vm-tools.", + "zh_TW": "qemu-ga & &open-vm-tools." + } + }, "wireless": { "system": false, "description": { diff --git a/docs/addons.xlsx b/docs/addons.xlsx index 162082d6..640e7017 100644 Binary files a/docs/addons.xlsx and b/docs/addons.xlsx differ diff --git a/docs/issues.html b/docs/issues.html index 2c45e754..fa34508c 100644 --- a/docs/issues.html +++ b/docs/issues.html @@ -69,7 +69,7 @@ $("#version").on("change", changeVersion); $("#language").on("change", changeVersion); $("#kernel").on("change", chanageKernel); - $('#addons').val("acpid,mountloader,powersched,reboottoloader,trivial"); + $('#addons').val("acpid,mountloader,powersched,reboottoloader,trivial,vmtools"); setModels(); }); }); diff --git a/docs/models.json b/docs/models.json index 973184b0..23e807ba 100644 --- a/docs/models.json +++ b/docs/models.json @@ -119,8 +119,8 @@ "7.2": "4.4.302" }, "models": [ - "FS6400", - "HD6500" + "HD6500", + "FS6400" ] }, "r1000": { diff --git a/docs/models.xlsx b/docs/models.xlsx index 6d46307a..c211159e 100644 Binary files a/docs/models.xlsx and b/docs/models.xlsx differ diff --git a/docs/modules.json b/docs/modules.json index 598c6faa..cb4a7aeb 100644 --- a/docs/modules.json +++ b/docs/modules.json @@ -992,10 +992,18 @@ "description": "VMware Virtual Machine Communication Interface.", "depends": "" }, + "vmw_vsock_vmci_transport": { + "description": "VMCI transport for Virtual Sockets (Compiled by RR for DSM)", + "depends": "vmw_vmci,vsock" + }, "vmxnet3": { "description": "VMware vmxnet3 virtual NIC driver", "depends": "" }, + "vsock": { + "description": "VMware Virtual Socket Family (Compiled by RR for DSM)", + "depends": "" + }, "vub300": { "description": "VUB300 USB to SD/MMC/SDIO adapter driver", "depends": "usbcore,mmc_core" @@ -2230,10 +2238,18 @@ "description": "VMware Virtual Machine Communication Interface.", "depends": "" }, + "vmw_vsock_vmci_transport": { + "description": "VMCI transport for Virtual Sockets (Compiled by RR for DSM)", + "depends": "vmw_vmci,vsock" + }, "vmxnet3": { "description": "VMware vmxnet3 virtual NIC driver", "depends": "" }, + "vsock": { + "description": "VMware Virtual Socket Family (Compiled by RR for DSM)", + "depends": "" + }, "vub300": { "description": "VUB300 USB to SD/MMC/SDIO adapter driver", "depends": "usbcore,mmc_core" @@ -3184,10 +3200,18 @@ "description": "VMware Virtual Machine Communication Interface.", "depends": "" }, + "vmw_vsock_vmci_transport": { + "description": "VMCI transport for Virtual Sockets (Compiled by RR for DSM)", + "depends": "vmw_vmci,vsock" + }, "vmxnet3": { "description": "VMware vmxnet3 virtual NIC driver", "depends": "" }, + "vsock": { + "description": "VMware Virtual Socket Family (Compiled by RR for DSM)", + "depends": "" + }, "vub300": { "description": "VUB300 USB to SD/MMC/SDIO adapter driver", "depends": "usbcore,mmc_core" @@ -4350,10 +4374,18 @@ "description": "VMware Virtual Machine Communication Interface.", "depends": "" }, + "vmw_vsock_vmci_transport": { + "description": "VMCI transport for Virtual Sockets (Compiled by RR for DSM)", + "depends": "vmw_vmci,vsock" + }, "vmxnet3": { "description": "VMware vmxnet3 virtual NIC driver", "depends": "" }, + "vsock": { + "description": "VMware Virtual Socket Family (Compiled by RR for DSM)", + "depends": "" + }, "vub300": { "description": "VUB300 USB to SD/MMC/SDIO adapter driver", "depends": "usbcore,mmc_core" @@ -5304,10 +5336,18 @@ "description": "VMware Virtual Machine Communication Interface.", "depends": "" }, + "vmw_vsock_vmci_transport": { + "description": "VMCI transport for Virtual Sockets (Compiled by RR for DSM)", + "depends": "vmw_vmci,vsock" + }, "vmxnet3": { "description": "VMware vmxnet3 virtual NIC driver", "depends": "" }, + "vsock": { + "description": "VMware Virtual Socket Family (Compiled by RR for DSM)", + "depends": "" + }, "vub300": { "description": "VUB300 USB to SD/MMC/SDIO adapter driver", "depends": "usbcore,mmc_core" @@ -6470,10 +6510,18 @@ "description": "VMware Virtual Machine Communication Interface.", "depends": "" }, + "vmw_vsock_vmci_transport": { + "description": "VMCI transport for Virtual Sockets (Compiled by RR for DSM)", + "depends": "vmw_vmci,vsock" + }, "vmxnet3": { "description": "VMware vmxnet3 virtual NIC driver", "depends": "" }, + "vsock": { + "description": "VMware Virtual Socket Family (Compiled by RR for DSM)", + "depends": "" + }, "vub300": { "description": "VUB300 USB to SD/MMC/SDIO adapter driver", "depends": "usbcore,mmc_core" @@ -7424,10 +7472,18 @@ "description": "VMware Virtual Machine Communication Interface.", "depends": "" }, + "vmw_vsock_vmci_transport": { + "description": "VMCI transport for Virtual Sockets (Compiled by RR for DSM)", + "depends": "vmw_vmci,vsock" + }, "vmxnet3": { "description": "VMware vmxnet3 virtual NIC driver", "depends": "" }, + "vsock": { + "description": "VMware Virtual Socket Family (Compiled by RR for DSM)", + "depends": "" + }, "vub300": { "description": "VUB300 USB to SD/MMC/SDIO adapter driver", "depends": "usbcore,mmc_core" @@ -8590,10 +8646,18 @@ "description": "VMware Virtual Machine Communication Interface.", "depends": "" }, + "vmw_vsock_vmci_transport": { + "description": "VMCI transport for Virtual Sockets (Compiled by RR for DSM)", + "depends": "vmw_vmci,vsock" + }, "vmxnet3": { "description": "VMware vmxnet3 virtual NIC driver", "depends": "" }, + "vsock": { + "description": "VMware Virtual Socket Family (Compiled by RR for DSM)", + "depends": "" + }, "vub300": { "description": "VUB300 USB to SD/MMC/SDIO adapter driver", "depends": "usbcore,mmc_core" @@ -9552,10 +9616,18 @@ "description": "VMware Virtual Machine Communication Interface.", "depends": "" }, + "vmw_vsock_vmci_transport": { + "description": "VMCI transport for Virtual Sockets (Compiled by RR for DSM)", + "depends": "vmw_vmci,vsock" + }, "vmxnet3": { "description": "VMware vmxnet3 virtual NIC driver", "depends": "" }, + "vsock": { + "description": "VMware Virtual Socket Family (Compiled by RR for DSM)", + "depends": "" + }, "vub300": { "description": "VUB300 USB to SD/MMC/SDIO adapter driver", "depends": "usbcore,mmc_core" @@ -10726,10 +10798,18 @@ "description": "VMware Virtual Machine Communication Interface.", "depends": "" }, + "vmw_vsock_vmci_transport": { + "description": "VMCI transport for Virtual Sockets (Compiled by RR for DSM)", + "depends": "vmw_vmci,vsock" + }, "vmxnet3": { "description": "VMware vmxnet3 virtual NIC driver", "depends": "" }, + "vsock": { + "description": "VMware Virtual Socket Family (Compiled by RR for DSM)", + "depends": "" + }, "vub300": { "description": "VUB300 USB to SD/MMC/SDIO adapter driver", "depends": "usbcore,mmc_core" @@ -11692,10 +11772,18 @@ "description": "VMware Virtual Machine Communication Interface.", "depends": "" }, + "vmw_vsock_vmci_transport": { + "description": "VMCI transport for Virtual Sockets (Compiled by RR for DSM)", + "depends": "vmw_vmci,vsock" + }, "vmxnet3": { "description": "VMware vmxnet3 virtual NIC driver", "depends": "" }, + "vsock": { + "description": "VMware Virtual Socket Family (Compiled by RR for DSM)", + "depends": "" + }, "vub300": { "description": "VUB300 USB to SD/MMC/SDIO adapter driver", "depends": "usbcore,mmc_core" @@ -12870,10 +12958,18 @@ "description": "VMware Virtual Machine Communication Interface.", "depends": "" }, + "vmw_vsock_vmci_transport": { + "description": "VMCI transport for Virtual Sockets (Compiled by RR for DSM)", + "depends": "vmw_vmci,vsock" + }, "vmxnet3": { "description": "VMware vmxnet3 virtual NIC driver", "depends": "" }, + "vsock": { + "description": "VMware Virtual Socket Family (Compiled by RR for DSM)", + "depends": "" + }, "vub300": { "description": "VUB300 USB to SD/MMC/SDIO adapter driver", "depends": "usbcore,mmc_core" @@ -14340,10 +14436,30 @@ "description": "VMware Virtual Machine Communication Interface.", "depends": "" }, + "vmw_vsock_virtio_transport": { + "description": "virtio transport for vsock (Compiled by RR for DSM)", + "depends": "vmw_vsock_virtio_transport_common,virtio_ring,vsock,virtio" + }, + "vmw_vsock_virtio_transport_common": { + "description": "common code for virtio vsock", + "depends": "vsock" + }, + "vmw_vsock_vmci_transport": { + "description": "VMCI transport for Virtual Sockets (Compiled by RR for DSM)", + "depends": "vmw_vmci,vsock" + }, "vmxnet3": { "description": "VMware vmxnet3 virtual NIC driver", "depends": "" }, + "vsock": { + "description": "VMware Virtual Socket Family (Compiled by RR for DSM)", + "depends": "" + }, + "vsock_loopback": { + "description": "loopback transport for vsock", + "depends": "vmw_vsock_virtio_transport_common,vsock" + }, "vub300": { "description": "VUB300 USB to SD/MMC/SDIO adapter driver", "depends": "usbcore,mmc_core" @@ -15934,10 +16050,30 @@ "description": "VMware Virtual Machine Communication Interface.", "depends": "" }, + "vmw_vsock_virtio_transport": { + "description": "virtio transport for vsock (Compiled by RR for DSM)", + "depends": "vmw_vsock_virtio_transport_common,virtio_ring,vsock,virtio" + }, + "vmw_vsock_virtio_transport_common": { + "description": "common code for virtio vsock", + "depends": "vsock" + }, + "vmw_vsock_vmci_transport": { + "description": "VMCI transport for Virtual Sockets (Compiled by RR for DSM)", + "depends": "vmw_vmci,vsock" + }, "vmxnet3": { "description": "VMware vmxnet3 virtual NIC driver", "depends": "" }, + "vsock": { + "description": "VMware Virtual Socket Family (Compiled by RR for DSM)", + "depends": "" + }, + "vsock_loopback": { + "description": "loopback transport for vsock", + "depends": "vmw_vsock_virtio_transport_common,vsock" + }, "vub300": { "description": "VUB300 USB to SD/MMC/SDIO adapter driver", "depends": "usbcore,mmc_core" @@ -17061,10 +17197,18 @@ "description": "VMware Virtual Machine Communication Interface.", "depends": "" }, + "vmw_vsock_vmci_transport": { + "description": "VMCI transport for Virtual Sockets (Compiled by RR for DSM)", + "depends": "vmw_vmci,vsock" + }, "vmxnet3": { "description": "VMware vmxnet3 virtual NIC driver", "depends": "" }, + "vsock": { + "description": "VMware Virtual Socket Family (Compiled by RR for DSM)", + "depends": "" + }, "vub300": { "description": "VUB300 USB to SD/MMC/SDIO adapter driver", "depends": "usbcore,mmc_core" @@ -18287,10 +18431,18 @@ "description": "VMware Virtual Machine Communication Interface.", "depends": "" }, + "vmw_vsock_vmci_transport": { + "description": "VMCI transport for Virtual Sockets (Compiled by RR for DSM)", + "depends": "vmw_vmci,vsock" + }, "vmxnet3": { "description": "VMware vmxnet3 virtual NIC driver", "depends": "" }, + "vsock": { + "description": "VMware Virtual Socket Family (Compiled by RR for DSM)", + "depends": "" + }, "vub300": { "description": "VUB300 USB to SD/MMC/SDIO adapter driver", "depends": "usbcore,mmc_core" @@ -19257,10 +19409,18 @@ "description": "VMware Virtual Machine Communication Interface.", "depends": "" }, + "vmw_vsock_vmci_transport": { + "description": "VMCI transport for Virtual Sockets (Compiled by RR for DSM)", + "depends": "vmw_vmci,vsock" + }, "vmxnet3": { "description": "VMware vmxnet3 virtual NIC driver", "depends": "" }, + "vsock": { + "description": "VMware Virtual Socket Family (Compiled by RR for DSM)", + "depends": "" + }, "vub300": { "description": "VUB300 USB to SD/MMC/SDIO adapter driver", "depends": "usbcore,mmc_core" @@ -20439,10 +20599,18 @@ "description": "VMware Virtual Machine Communication Interface.", "depends": "" }, + "vmw_vsock_vmci_transport": { + "description": "VMCI transport for Virtual Sockets (Compiled by RR for DSM)", + "depends": "vmw_vmci,vsock" + }, "vmxnet3": { "description": "VMware vmxnet3 virtual NIC driver", "depends": "" }, + "vsock": { + "description": "VMware Virtual Socket Family (Compiled by RR for DSM)", + "depends": "" + }, "vub300": { "description": "VUB300 USB to SD/MMC/SDIO adapter driver", "depends": "usbcore,mmc_core" @@ -21429,10 +21597,18 @@ "description": "VMware Virtual Machine Communication Interface.", "depends": "" }, + "vmw_vsock_vmci_transport": { + "description": "VMCI transport for Virtual Sockets (Compiled by RR for DSM)", + "depends": "vmw_vmci,vsock" + }, "vmxnet3": { "description": "VMware vmxnet3 virtual NIC driver", "depends": "" }, + "vsock": { + "description": "VMware Virtual Socket Family (Compiled by RR for DSM)", + "depends": "" + }, "vub300": { "description": "VUB300 USB to SD/MMC/SDIO adapter driver", "depends": "usbcore,mmc_core" @@ -22631,10 +22807,18 @@ "description": "VMware Virtual Machine Communication Interface.", "depends": "" }, + "vmw_vsock_vmci_transport": { + "description": "VMCI transport for Virtual Sockets (Compiled by RR for DSM)", + "depends": "vmw_vmci,vsock" + }, "vmxnet3": { "description": "VMware vmxnet3 virtual NIC driver", "depends": "" }, + "vsock": { + "description": "VMware Virtual Socket Family (Compiled by RR for DSM)", + "depends": "" + }, "vub300": { "description": "VUB300 USB to SD/MMC/SDIO adapter driver", "depends": "usbcore,mmc_core" @@ -23633,10 +23817,18 @@ "description": "VMware Virtual Machine Communication Interface.", "depends": "" }, + "vmw_vsock_vmci_transport": { + "description": "VMCI transport for Virtual Sockets (Compiled by RR for DSM)", + "depends": "vmw_vmci,vsock" + }, "vmxnet3": { "description": "VMware vmxnet3 virtual NIC driver", "depends": "" }, + "vsock": { + "description": "VMware Virtual Socket Family (Compiled by RR for DSM)", + "depends": "" + }, "vub300": { "description": "VUB300 USB to SD/MMC/SDIO adapter driver", "depends": "usbcore,mmc_core" @@ -24847,10 +25039,18 @@ "description": "VMware Virtual Machine Communication Interface.", "depends": "" }, + "vmw_vsock_vmci_transport": { + "description": "VMCI transport for Virtual Sockets (Compiled by RR for DSM)", + "depends": "vmw_vmci,vsock" + }, "vmxnet3": { "description": "VMware vmxnet3 virtual NIC driver", "depends": "" }, + "vsock": { + "description": "VMware Virtual Socket Family (Compiled by RR for DSM)", + "depends": "" + }, "vub300": { "description": "VUB300 USB to SD/MMC/SDIO adapter driver", "depends": "mmc_core" diff --git a/docs/modules.xlsx b/docs/modules.xlsx index 9c30ce4b..a057140b 100644 Binary files a/docs/modules.xlsx and b/docs/modules.xlsx differ diff --git a/docs/pats.json b/docs/pats.json index 3d128f43..50852535 100644 --- a/docs/pats.json +++ b/docs/pats.json @@ -1,4 +1,26 @@ { + "HD6500": { + "7.2.2-72806-0": { + "url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_HD6500_72806.pat", + "sum": "590930cf1b5ea59e98d2caf9d8a50d18" + }, + "7.2.1-69057-0": { + "url": "https://global.synologydownload.com/download/DSM/release/7.2.1/69057/DSM_HD6500_69057.pat", + "sum": "f051382db004b9bbf169e2b1da454914" + }, + "7.2.0-64570-1": { + "url": "https://global.synologydownload.com/download/DSM/release/7.2/64570-1/DSM_HD6500_64570.pat", + "sum": "fbeda2c4f1bd0da48ab469e5a767c95f" + }, + "7.2.0-64561-0": { + "url": "https://global.synologydownload.com/download/DSM/release/7.2/64561/DSM_HD6500_64561.pat", + "sum": "9dc96261bdf57090feb2006b3ad18065" + }, + "7.1.1-42962-1": { + "url": "https://global.synologydownload.com/download/DSM/release/7.1.1/42962-1/DSM_HD6500_42962.pat", + "sum": "245c3ccd788a17be79187ff32c074888" + } + }, "DS1019+": { "7.2.2-72806-0": { "url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS1019%2B_72806.pat", @@ -841,28 +863,6 @@ "sum": "030064272d82777681502745fcfa8c48" } }, - "HD6500": { - "7.2.2-72806-0": { - "url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_HD6500_72806.pat", - "sum": "590930cf1b5ea59e98d2caf9d8a50d18" - }, - "7.2.1-69057-0": { - "url": "https://global.synologydownload.com/download/DSM/release/7.2.1/69057/DSM_HD6500_69057.pat", - "sum": "f051382db004b9bbf169e2b1da454914" - }, - "7.2.0-64570-1": { - "url": "https://global.synologydownload.com/download/DSM/release/7.2/64570-1/DSM_HD6500_64570.pat", - "sum": "fbeda2c4f1bd0da48ab469e5a767c95f" - }, - "7.2.0-64561-0": { - "url": "https://global.synologydownload.com/download/DSM/release/7.2/64561/DSM_HD6500_64561.pat", - "sum": "9dc96261bdf57090feb2006b3ad18065" - }, - "7.1.1-42962-1": { - "url": "https://global.synologydownload.com/download/DSM/release/7.1.1/42962-1/DSM_HD6500_42962.pat", - "sum": "245c3ccd788a17be79187ff32c074888" - } - }, "RS1221+": { "7.2.2-72806-0": { "url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_RS1221%2B_72806.pat", diff --git a/docs/pats.xlsx b/docs/pats.xlsx index b47f55ca..8c30fbf6 100644 Binary files a/docs/pats.xlsx and b/docs/pats.xlsx differ diff --git a/files/initrd/opt/rr/boot.sh b/files/initrd/opt/rr/boot.sh index 75791374..8d137877 100755 --- a/files/initrd/opt/rr/boot.sh +++ b/files/initrd/opt/rr/boot.sh @@ -123,6 +123,7 @@ CMDLINE['netif_num']="0" } # Sanity check [ -n "${MAC1}" ] && CMDLINE['mac1']="${MAC1}" && CMDLINE['netif_num']="1" [ -n "${MAC2}" ] && CMDLINE['mac2']="${MAC2}" && CMDLINE['netif_num']="2" +CMDLINE['skip_vender_mac_interfaces']="$(seq -s, 0 $((${CMDLINE['netif_num']:-1} - 1)))" # set fixed cmdline if grep -q "force_junior" /proc/cmdline; then @@ -163,7 +164,6 @@ fi CMDLINE["HddHotplug"]="1" CMDLINE["vender_format_version"]="2" -CMDLINE['skip_vender_mac_interfaces']="0,1,2,3,4,5,6,7" CMDLINE['earlyprintk']="" CMDLINE['earlycon']="uart8250,io,0x3f8,115200n8" CMDLINE['console']="ttyS0,115200n8" @@ -228,6 +228,13 @@ if echo "purley broadwellnkv2" | grep -wq "${PLATFORM}"; then CMDLINE["SASmodel"]="1" fi +SSID="$(cat ${PART1_PATH}/wpa_supplicant.conf 2>/dev/null | grep 'ssid=' | cut -d'=' -f2 | sed 's/^"//; s/"$//')" +PSK="$(cat ${PART1_PATH}/wpa_supplicant.conf 2>/dev/null | grep 'psk=' | cut -d'=' -f2 | sed 's/^"//; s/"$//')" +if [ -n "${SSID}" ] && [ -n "${PSK}" ]; then + CMDLINE["wpa.ssid"]="${SSID}" + CMDLINE["wpa.psk"]="${PSK}" +fi + while IFS=': ' read -r KEY VALUE; do [ -n "${KEY}" ] && CMDLINE["network.${KEY}"]="${VALUE}" done <<<$(readConfigMap "network" "${USER_CONFIG_FILE}") @@ -264,7 +271,7 @@ function _bootwait() { rm -f WB WC return 1 fi - if false && [ -f "${WORK_PATH}/menu.lock" ]; then + if false && [ -f "${TMP_PATH}/menu.lock" ]; then printf "\r%$((${#MSG} * 2))s\n" " " printf "\r\033[1;33m%s\033[0m\n" "$(TEXT "Menu opened and booting is interrupted.")" rm -f WB WC @@ -342,7 +349,7 @@ else MAC=$(cat /sys/class/net/${N}/address 2>/dev/null) printf "%s(%s): " "${N}" "${MAC}@${DRIVER}" while true; do - if [ ! "${N::3}" = "eth" ]; then + if false && [ ! "${N::3}" = "eth" ]; then printf "\r%s(%s): %s\n" "${N}" "${MAC}@${DRIVER}" "$(TEXT "IGNORE (Does not support non-wired network card.)")" break fi @@ -405,7 +412,9 @@ else fi done - # # Unload all network interfaces + # Disconnect wireless + lsmod | grep -q iwlwifi && for N in $(ls /sys/class/net/ 2>/dev/null | grep wlan); do connectwlanif "${N}" 0 2>/dev/null; done + # Unload all network drivers # for D in $(realpath /sys/class/net/*/device/driver); do rmmod -f "$(basename ${D})" 2>/dev/null || true; done # Unload all graphics drivers diff --git a/files/initrd/opt/rr/include/consts.sh b/files/initrd/opt/rr/include/consts.sh index 4e719be4..87fe2bd8 100755 --- a/files/initrd/opt/rr/include/consts.sh +++ b/files/initrd/opt/rr/include/consts.sh @@ -1,4 +1,4 @@ -RR_VERSION="25.2.1" +RR_VERSION="25.2.2" RR_RELEASE="" RR_TITLE="RR v${RR_VERSION}" diff --git a/files/initrd/opt/rr/include/functions.sh b/files/initrd/opt/rr/include/functions.sh index 6c8de6a6..9d939874 100755 --- a/files/initrd/opt/rr/include/functions.sh +++ b/files/initrd/opt/rr/include/functions.sh @@ -292,10 +292,10 @@ function getBus() { function getIP() { local IP="" if [ -n "${1}" ] && [ -d "/sys/class/net/${1}" ]; then - IP=$(ip route show dev "${1}" 2>/dev/null | sed -n 's/.* via .* src \(.*\) metric .*/\1/p') + IP=$(ip route show dev "${1}" 2>/dev/null | sed -n 's/.* via .* src \(.*\) metric .*/\1/p') [ -z "${IP}" ] && IP=$(ip addr show "${1}" scope global 2>/dev/null | grep -E "inet .* eth" | awk '{print $2}' | cut -f1 -d'/' | head -1) else - IP=$(ip route show 2>/dev/null | sed -n 's/.* via .* src \(.*\) metric .*/\1/p' | head -1) + IP=$(ip route show 2>/dev/null | sed -n 's/.* via .* src \(.*\) metric .*/\1/p' | head -1) [ -z "${IP}" ] && IP=$(ip addr show scope global 2>/dev/null | grep -E "inet .* eth" | awk '{print $2}' | cut -f1 -d'/' | head -1) fi echo "${IP}" @@ -420,15 +420,9 @@ function connectwlanif() { rm -f "/var/run/wpa_supplicant.pid.${1}" fi else - local CONF="" - [ -z "${CONF}" ] && [ -f "${PART1_PATH}/wpa_supplicant.conf.${1}" ] && CONF="${PART1_PATH}/wpa_supplicant.conf.${1}" - [ -z "${CONF}" ] && [ -f "${PART1_PATH}/wpa_supplicant.conf" ] && CONF="${PART1_PATH}/wpa_supplicant.conf" + local CONF="$([ -f "${PART1_PATH}/wpa_supplicant.conf" ] && echo "${PART1_PATH}/wpa_supplicant.conf" || echo "")" [ -z "${CONF}" ] && return 2 - - if [ -f "/var/run/wpa_supplicant.pid.${1}" ]; then - kill -9 "$(cat /var/run/wpa_supplicant.pid.${1})" - rm -f "/var/run/wpa_supplicant.pid.${1}" - fi + [ -f "/var/run/wpa_supplicant.pid.${1}" ] && return 0 wpa_supplicant -i "${1}" -c "${CONF}" -qq -B -P "/var/run/wpa_supplicant.pid.${1}" >/dev/null 2>&1 fi return 0 diff --git a/files/initrd/opt/rr/init.sh b/files/initrd/opt/rr/init.sh index 2bc62d3b..42269d99 100755 --- a/files/initrd/opt/rr/init.sh +++ b/files/initrd/opt/rr/init.sh @@ -67,6 +67,7 @@ initConfigKey "addons" "{}" "${USER_CONFIG_FILE}" if [ -z "$(readConfigMap "addons" "${USER_CONFIG_FILE}")" ]; then initConfigKey "addons.acpid" "" "${USER_CONFIG_FILE}" initConfigKey "addons.trivial" "" "${USER_CONFIG_FILE}" + initConfigKey "addons.vmtools" "" "${USER_CONFIG_FILE}" initConfigKey "addons.mountloader" "" "${USER_CONFIG_FILE}" initConfigKey "addons.powersched" "" "${USER_CONFIG_FILE}" initConfigKey "addons.reboottoloader" "" "${USER_CONFIG_FILE}" diff --git a/files/initrd/opt/rr/menu.sh b/files/initrd/opt/rr/menu.sh index 33a78c1b..553f175b 100755 --- a/files/initrd/opt/rr/menu.sh +++ b/files/initrd/opt/rr/menu.sh @@ -14,13 +14,13 @@ alias DIALOG='dialog --backtitle "$(backtitle)" --colors --aspect 50' # lock -exec 304>"${WORK_PATH}/menu.lock" +exec 304>"${TMP_PATH}/menu.lock" flock -n 304 || { MSG="$(TEXT "The menu.sh instance is already running in another terminal. To avoid conflicts, please operate in one instance only.")" dialog --colors --aspect 50 --title "$(TEXT "Error")" --msgbox "${MSG}" 0 0 exit 1 } -trap 'flock -u 304; rm -f "${WORK_PATH}/menu.lock"' EXIT INT TERM HUP +trap 'flock -u 304; rm -f "${TMP_PATH}/menu.lock"' EXIT INT TERM HUP # Check partition 3 space, if < 2GiB is necessary clean cache folder SPACELEFT=$(df -m ${PART3_PATH} 2>/dev/null | awk 'NR==2 {print $4}') @@ -2611,10 +2611,8 @@ function setWirelessAccount() { for I in $(iw wlan0 scan 2>/dev/null | grep SSID: | awk '{print $2}'); do MSG+="${I}\n"; done LINENUM=$(($(echo -e "${MSG}" | wc -l) + 8)) while true; do - SSID=$(cat ${PART1_PATH}/wpa_supplicant.conf 2>/dev/null | grep -i SSID | cut -d'=' -f2) - PSK=$(cat ${PART1_PATH}/wpa_supplicant.conf 2>/dev/null | grep -i PSK | cut -d'=' -f2) - SSID="${SSID//\"/}" - PSK="${PSK//\"/}" + SSID="$(cat ${PART1_PATH}/wpa_supplicant.conf 2>/dev/null | grep 'ssid=' | cut -d'=' -f2 | sed 's/^"//; s/"$//')" + PSK="$(cat ${PART1_PATH}/wpa_supplicant.conf 2>/dev/null | grep 'psk=' | cut -d'=' -f2 | sed 's/^"//; s/"$//')" DIALOG --title "$(TEXT "Settings")" \ --form "${MSG}" ${LINENUM:-16} 70 2 "SSID" 1 1 "${SSID}" 1 7 58 0 " PSK" 2 1 "${PSK}" 2 7 58 0 \ 2>"${TMP_PATH}/resp" @@ -2632,15 +2630,9 @@ function setWirelessAccount() { connectwlanif "${N}" 0 && sleep 1 done else - rm -f ${PART1_PATH}/wpa_supplicant.conf - echo "ctrl_interface=/var/run/wpa_supplicant" >>${PART1_PATH}/wpa_supplicant.conf - echo "update_config=1" >>${PART1_PATH}/wpa_supplicant.conf - echo "network={" >>${PART1_PATH}/wpa_supplicant.conf - echo " ssid=\"${SSID}\"" >>${PART1_PATH}/wpa_supplicant.conf - echo " psk=\"${PSK}\"" >>${PART1_PATH}/wpa_supplicant.conf - echo "}" >>${PART1_PATH}/wpa_supplicant.conf - + echo -e "ctrl_interface=/var/run/wpa_supplicant\nupdate_config=1\nnetwork={\n ssid=\"${SSID}\"\n priority=1\n psk=\"${PSK}\"\n}" >${PART1_PATH}/wpa_supplicant.conf for N in ${ETHX}; do + connectwlanif "${N}" 0 && sleep 1 connectwlanif "${N}" 1 && sleep 1 MACR="$(cat /sys/class/net/${N}/address 2>/dev/null | sed 's/://g')" IPR="$(readConfigKey "network.${MACR}" "${USER_CONFIG_FILE}")" @@ -3310,8 +3302,7 @@ function downloadExts() { # TAG="$(curl -skL --connect-timeout 10 "${PROXY}${3}/tags" | pup 'a[class="Link--muted"] attr{href}' | grep ".zip" | head -1)" TAG="$(curl -skL --connect-timeout 10 "${PROXY}${3}/tags" | grep "/refs/tags/.*\.zip" | sed -E 's/.*\/refs\/tags\/(.*)\.zip.*$/\1/' | sort -rV | head -1)" else - LATESTURL="$(curl -skL --connect-timeout 10 -w %{url_effective} -o /dev/null "${PROXY}${3}/releases/latest")" - TAG="${LATESTURL##*/}" + TAG="$(curl -skL --connect-timeout 10 -w %{url_effective} -o /dev/null "${PROXY}${3}/releases/latest" | awk -F'/' '{print $NF}')" fi [ "${TAG:0:1}" = "v" ] && TAG="${TAG:1}" if [ "${TAG:-latest}" = "latest" ]; then diff --git a/files/initrd/opt/rr/platforms.yml b/files/initrd/opt/rr/platforms.yml index 9e820ae0..edb04ebc 100644 --- a/files/initrd/opt/rr/platforms.yml +++ b/files/initrd/opt/rr/platforms.yml @@ -15,7 +15,7 @@ synoinfo: &synoinfo support_fan: "no" supportadt7490: "no" maxlanport: "8" - netif_seq: "0 1 2 3 4 5 6 7" + netif_seq: "" buzzeroffen: "0xffff" productvers4: &productvers4 diff --git a/files/mnt/p1/RR_VERSION b/files/mnt/p1/RR_VERSION index 5870c667..0b19638a 100644 --- a/files/mnt/p1/RR_VERSION +++ b/files/mnt/p1/RR_VERSION @@ -1 +1 @@ -25.2.1 +25.2.2 diff --git a/files/mnt/p1/boot/grub/grub.cfg b/files/mnt/p1/boot/grub/grub.cfg index bd7d102c..40951a9b 100644 --- a/files/mnt/p1/boot/grub/grub.cfg +++ b/files/mnt/p1/boot/grub/grub.cfg @@ -74,11 +74,6 @@ background_image ${prefix}/logo.png function gfxmode { set gfxpayload="${linux_gfx_mode}" - if [ "${linux_gfx_mode}" = "keep" ]; then - set vt_handoff=vt.handoff=7 - else - set vt_handoff= - fi } 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" @@ -153,7 +148,20 @@ fi menuentry 'Configure loader' ${menuentry_id_option} config { gfxmode echo "Loading kernel..." - linux /bzImage-rr ${RR_CMDLINE} ${rr_cmdline} IWANTTOCHANGETHECONFIG + 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 + echo "Booting..." +} + +menuentry 'Configure loader (verbose)' ${menuentry_id_option} verbose { + gfxmode + 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