diff --git a/TODO b/TODO index db7b960d..ee834f11 100644 --- a/TODO +++ b/TODO @@ -18,6 +18,8 @@ Concluidos: - Usando TTYD para acesso via web - Verificar se fica legal colocar na config dos modelos os addons obrigatórios como o qjs-dtb *** Usado outra maneira *** - Implementar escolha de maxdisks - + - Limpar addons quando usuário muda de modelo + - Arrumar detecção de discos/maxdisks. 918 tem só 4 discos e dá problema com proxmox + - Melhorar opções de HD, talvez criar um menu a parte https://kb.synology.com/en-me/DSM/tutorial/What_kind_of_CPU_does_my_NAS_have diff --git a/VERSION b/VERSION index 5643e18d..03dcc9e5 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.1-alpha3 +0.1-alpha4 diff --git a/files/board/arpl/overlayfs/opt/arpl/menu.sh b/files/board/arpl/overlayfs/opt/arpl/menu.sh index 01ddf297..ba0bf180 100755 --- a/files/board/arpl/overlayfs/opt/arpl/menu.sh +++ b/files/board/arpl/overlayfs/opt/arpl/menu.sh @@ -103,6 +103,8 @@ function modelMenu() { rm -f "${MOD_ZIMAGE_FILE}" rm -f "${MOD_RDGZ_FILE}" DIRTY=1 + # Remove addons + writeConfigKey "addons" "{}" "${USER_CONFIG_FILE}" fi } @@ -346,40 +348,25 @@ function addonMenu() { done } -############################################################################### -# Sets variables to configure maxdisks -# 1 - Number of disks -function setMaxDisks() { - CMDLINE['maxdisks']="${1}" - writeConfigKey "cmdline.maxdisks" "${1}" "${USER_CONFIG_FILE}" - INTPORTCFG="" - for I in `seq 1 ${1}`; do INTPORTCFG+="1"; done - INTPORTCFG="0x`printf "%x" "$((2#${INTPORTCFG}))"`" - CMDLINE['internalportcfg']="${INTPORTCFG}" - writeConfigKey "cmdline.internalportcfg" "${INTPORTCFG}" "${USER_CONFIG_FILE}" -} - ############################################################################### function cmdlineMenu() { - # Read from user config + # Read device-tree flag DT="`readModelKey "${MODEL}" "dt"`" unset CMDLINE declare -A CMDLINE while IFS="=" read KEY VALUE; do [ -n "${KEY}" ] && CMDLINE["${KEY}"]="${VALUE}" done < <(readConfigMap "cmdline" "${USER_CONFIG_FILE}") + echo "a \"Add/edit an cmdline item\"" > "${TMP_PATH}/menu" + echo "d \"Delete cmdline item(s)\"" >> "${TMP_PATH}/menu" + if [ "${DT}" != "true" ]; then + echo "u \"Show SATA(s) # ports and drives\"" >> "${TMP_PATH}/menu" + fi + echo "s \"Show user cmdline\"" >> "${TMP_PATH}/menu" + echo "m \"Show model/build cmdline\"" >> "${TMP_PATH}/menu" + echo "e \"Exit\"" >> "${TMP_PATH}/menu" # Loop menu while true; do - echo "a \"Add/edit an cmdline item\"" > "${TMP_PATH}/menu" - echo "d \"Delete cmdline item(s)\"" >> "${TMP_PATH}/menu" - echo "s \"Show user cmdline\"" >> "${TMP_PATH}/menu" - echo "m \"Show model/build cmdline\"" >> "${TMP_PATH}/menu" - if [ "${DT}" != "true" ]; then - echo "h \"Change maxdisks\"" >> "${TMP_PATH}/menu" - echo "u \"Show SATA(s) # ports and drives\"" >> "${TMP_PATH}/menu" - fi - echo "e \"Exit\"" >> "${TMP_PATH}/menu" - dialog --backtitle "`backtitle`" --menu "Choose a option" 0 0 0 \ --file "${TMP_PATH}/menu" 2>${TMP_PATH}/resp [ $? -ne 0 ] && return @@ -419,36 +406,8 @@ function cmdlineMenu() { deleteConfigKey "cmdline.${I}" "${USER_CONFIG_FILE}" done ;; - s) - ITEMS="" - for KEY in ${!CMDLINE[@]}; do - ITEMS+="${KEY}: ${CMDLINE[$KEY]}\n" - done - dialog --backtitle "`backtitle`" --title "User cmdline" \ - --aspect 18 --msgbox "${ITEMS}" 0 0 - ;; - m) - ITEMS="" - while IFS="=" read KEY VALUE; do - ITEMS+="${KEY}: ${VALUE}\n" - done < <(readModelMap "${MODEL}" "builds.${BUILD}.cmdline") - dialog --backtitle "`backtitle`" --title "Model/build cmdline" \ - --aspect 18 --msgbox "${ITEMS}" 0 0 - ;; - h) MODEL_DISKS="`readModelKey "${MODEL}" "disks"`" - dialog --backtitle "`backtitle`" --title "Change max of disks" \ - --inputbox "${MODEL} disks: ${MODEL_DISKS}\nType the desired number of disks (1-26)" 0 0 \ - 2>${TMP_PATH}/resp - [ $? -ne 0 ] && continue - VALUE="`<"${TMP_PATH}/resp"`" - [ -z "${VALUE}" ] && continue - if [ ${VALUE} -ge 1 -a ${VALUE} -le 26 ]; then - setMaxDisks ${VALUE} - else - dialog --backtitle "`backtitle`" --msgbox "Invalid number" 0 0 - fi - ;; u) TEXT="" + NUMPORTS=0 for PCI in `lspci -d ::106 | awk '{print$1}'`; do NAME=`lspci -s "${PCI}" | sed "s/\ .*://"` TEXT+="\Zb${NAME}\Zn\nPorts: " @@ -466,13 +425,31 @@ function cmdlineMenu() { [ ${ATTACH} -eq 1 ] && TEXT+="\Z2\Zb" [ ${DUMMY} -eq 1 ] && TEXT+="\Z1" TEXT+="${PORT}\Zn " + NUMPORTS=$((${NUMPORTS}+1)) done < <(echo ${!HOSTPORTS[@]} | tr ' ' '\n' | sort -n) TEXT+="\n" done + TEXT+="\nTotal of ports: ${NUMPORTS}\n" TEXT+="\nPorts with color \Z1red\Zn as DUMMY, color \Z2\Zbgreen\Zn has drive connected." dialog --backtitle "`backtitle`" --colors --aspect 18 \ --msgbox "${TEXT}" 0 0 ;; + s) + ITEMS="" + for KEY in ${!CMDLINE[@]}; do + ITEMS+="${KEY}: ${CMDLINE[$KEY]}\n" + done + dialog --backtitle "`backtitle`" --title "User cmdline" \ + --aspect 18 --msgbox "${ITEMS}" 0 0 + ;; + m) + ITEMS="" + while IFS="=" read KEY VALUE; do + ITEMS+="${KEY}: ${VALUE}\n" + done < <(readModelMap "${MODEL}" "builds.${BUILD}.cmdline") + dialog --backtitle "`backtitle`" --title "Model/build cmdline" \ + --aspect 18 --msgbox "${ITEMS}" 0 0 + ;; e) return ;; esac done @@ -486,16 +463,17 @@ function synoinfoMenu() { while IFS="=" read KEY VALUE; do [ -n "${KEY}" ] && SYNOINFO["${KEY}"]="${VALUE}" done < <(readConfigMap "synoinfo" "${USER_CONFIG_FILE}") + + echo "a \"Add/edit an synoinfo item\"" > "${TMP_PATH}/menu" + echo "d \"Delete synoinfo item(s)\"" >> "${TMP_PATH}/menu" + echo "s \"Show user synoinfo\"" >> "${TMP_PATH}/menu" + echo "m \"Show model/build synoinfo\"" >> "${TMP_PATH}/menu" + echo "e \"Exit\"" >> "${TMP_PATH}/menu" + # menu loop while true; do - dialog --backtitle "`backtitle`" \ - --menu "Choose a option" 0 0 0 \ - a "Add/edit an synoinfo item" \ - d "Delete synoinfo item(s)" \ - s "Show user synoinfo" \ - m "Show model/build synoinfo" \ - e "Exit" \ - 2>${TMP_PATH}/resp + dialog --backtitle "`backtitle`" --menu "Choose a option" 0 0 0 \ + --file "${TMP_PATH}/menu" 2>${TMP_PATH}/resp [ $? -ne 0 ] && return case "`<${TMP_PATH}/resp`" in a) diff --git a/files/board/arpl/overlayfs/opt/arpl/model-configs/DS920+.yml b/files/board/arpl/overlayfs/opt/arpl/model-configs/DS920+.yml index 3bbd15fd..0efd7f7a 100644 --- a/files/board/arpl/overlayfs/opt/arpl/model-configs/DS920+.yml +++ b/files/board/arpl/overlayfs/opt/arpl/model-configs/DS920+.yml @@ -6,6 +6,8 @@ modules-notneeded: &modules-notneeded - ixgbe - igb - e1000e + - r8168 + - r8169 - dca - etxhci_hcd - xhci_hcd @@ -29,6 +31,7 @@ cmdline: &cmdline syno_ttyS1: "serial,0x2f8" vender_format_version: 2 platform: "geminilake" +dt: true serial: prefix: - "2030" @@ -51,9 +54,9 @@ builds: <<: *synoinfo pat: url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS920%2B_42218.pat" - hash: "73053911bd118b432d5a2036dc62d518eed83b78b32c1eb23696d59725a14892" - ramdisk-hash: "e39890f4bef2e5e4eea956996b0dd92d081c6d9e7c393331131e65bbad1a17a9" - zimage-hash: "74d513aaa3e30d8aa4f80e202d94a68a552e9c0472f8470e133ad29080556f55" + hash: "fe2a4648f76adeb65c3230632503ea36bbac64ee88b459eb9bfb5f3b8c8cebb3" + ramdisk-hash: "f7dd1317f24ec6b9bac839e37f66b59030218c7f97c06f73f1f54ed0f892c4aa" + zimage-hash: "346b68f662b50f47d3ee6c2bc9de6302e4b60436142c24ee88b620c7afd1ba06" patch: - "ramdisk-common-disable-root-pwd.patch" - "ramdisk-common-init-script.patch" diff --git a/files/board/arpl/overlayfs/opt/arpl/model-configs/DVA1622.yml b/files/board/arpl/overlayfs/opt/arpl/model-configs/DVA1622.yml index 68740494..5dd7ecbd 100644 --- a/files/board/arpl/overlayfs/opt/arpl/model-configs/DVA1622.yml +++ b/files/board/arpl/overlayfs/opt/arpl/model-configs/DVA1622.yml @@ -6,12 +6,12 @@ modules-notneeded: &modules-notneeded - ixgbe - igb - e1000e + - r8168 + - r8169 - dca - etxhci_hcd - xhci_hcd - - ehci-pci - uhci_hcd - synoinfo: &synoinfo buzzeroffen: "0xffff" rss_server: "http://example.com/null.xml" diff --git a/files/board/arpl/overlayfs/opt/arpl/ramdisk-patch.sh b/files/board/arpl/overlayfs/opt/arpl/ramdisk-patch.sh index 879e4cd8..b3f719c0 100755 --- a/files/board/arpl/overlayfs/opt/arpl/ramdisk-patch.sh +++ b/files/board/arpl/overlayfs/opt/arpl/ramdisk-patch.sh @@ -62,6 +62,15 @@ while read f; do (cd "${RAMDISK_PATH}" && patch -p1 < "${PATCH_PATH}/${f}") >>"${LOG_FILE}" 2>&1 || dieLog done < <(readModelArray "${MODEL}" "builds.${BUILD}.patch") +# Temporary workaround +DT="`readModelKey "${MODEL}" "dt"`" +if [ "${DT}" != "true" ]; then + NUMPORTS=$((`ls /sys/class/scsi_host | wc -w`-1)) + SYNOINFO["maxdisks"]=${NUMPORTS} + INTPORTCFG="0x`printf "%x" "$((2**${NUMPORTS}-1))"`" + SYNOINFO["internalportcfg"]="${INTPORTCFG}" +fi + # Patch /etc/synoinfo.conf echo -n "." for KEY in ${!SYNOINFO[@]}; do diff --git a/files/board/arpl/p3/addons/acpid/apollolake-4.4.180.tgz b/files/board/arpl/p3/addons/acpid/apollolake-4.4.180.tgz index e62499b6..97615a57 100644 Binary files a/files/board/arpl/p3/addons/acpid/apollolake-4.4.180.tgz and b/files/board/arpl/p3/addons/acpid/apollolake-4.4.180.tgz differ diff --git a/files/board/arpl/p3/addons/acpid/broadwell-4.4.180.tgz b/files/board/arpl/p3/addons/acpid/broadwell-4.4.180.tgz index e99d2f70..a0c8b3d0 100644 Binary files a/files/board/arpl/p3/addons/acpid/broadwell-4.4.180.tgz and b/files/board/arpl/p3/addons/acpid/broadwell-4.4.180.tgz differ diff --git a/files/board/arpl/p3/addons/acpid/broadwellnk-4.4.180.tgz b/files/board/arpl/p3/addons/acpid/broadwellnk-4.4.180.tgz index 926cea82..9aa804af 100644 Binary files a/files/board/arpl/p3/addons/acpid/broadwellnk-4.4.180.tgz and b/files/board/arpl/p3/addons/acpid/broadwellnk-4.4.180.tgz differ diff --git a/files/board/arpl/p3/addons/acpid/bromolow-3.10.108.tgz b/files/board/arpl/p3/addons/acpid/bromolow-3.10.108.tgz index 355dcfe3..740a8be1 100644 Binary files a/files/board/arpl/p3/addons/acpid/bromolow-3.10.108.tgz and b/files/board/arpl/p3/addons/acpid/bromolow-3.10.108.tgz differ diff --git a/files/board/arpl/p3/addons/acpid/denverton-4.4.180.tgz b/files/board/arpl/p3/addons/acpid/denverton-4.4.180.tgz index af355abe..9a07f48c 100644 Binary files a/files/board/arpl/p3/addons/acpid/denverton-4.4.180.tgz and b/files/board/arpl/p3/addons/acpid/denverton-4.4.180.tgz differ diff --git a/files/board/arpl/p3/addons/acpid/geminilake-4.4.180.tgz b/files/board/arpl/p3/addons/acpid/geminilake-4.4.180.tgz index ec2111d1..53d8b930 100644 Binary files a/files/board/arpl/p3/addons/acpid/geminilake-4.4.180.tgz and b/files/board/arpl/p3/addons/acpid/geminilake-4.4.180.tgz differ diff --git a/files/board/arpl/p3/addons/acpid/v1000-4.4.180.tgz b/files/board/arpl/p3/addons/acpid/v1000-4.4.180.tgz index 268fc030..81647a00 100644 Binary files a/files/board/arpl/p3/addons/acpid/v1000-4.4.180.tgz and b/files/board/arpl/p3/addons/acpid/v1000-4.4.180.tgz differ diff --git a/files/board/arpl/p3/addons/ehci-pci/broadwell-4.4.180.tgz b/files/board/arpl/p3/addons/ehci-pci/broadwell-4.4.180.tgz index 71a244fe..3826e96b 100644 Binary files a/files/board/arpl/p3/addons/ehci-pci/broadwell-4.4.180.tgz and b/files/board/arpl/p3/addons/ehci-pci/broadwell-4.4.180.tgz differ diff --git a/files/board/arpl/p3/addons/ehci-pci/geminilake-4.4.180.tgz b/files/board/arpl/p3/addons/ehci-pci/geminilake-4.4.180.tgz new file mode 100644 index 00000000..6b6fd2d7 Binary files /dev/null and b/files/board/arpl/p3/addons/ehci-pci/geminilake-4.4.180.tgz differ diff --git a/files/board/arpl/p3/addons/ehci-pci/manifest.yml b/files/board/arpl/p3/addons/ehci-pci/manifest.yml index dd29813d..59ea4900 100644 --- a/files/board/arpl/p3/addons/ehci-pci/manifest.yml +++ b/files/board/arpl/p3/addons/ehci-pci/manifest.yml @@ -5,3 +5,6 @@ available-for: broadwell-4.4.180: install-script: &script "install.sh" modules: true + geminilake-4.4.180: + install-script: *script + modules: true