mirror of
https://github.com/RROrg/rr.git
synced 2025-06-21 05:51:05 +08:00
Merge branch 'dev'
This commit is contained in:
commit
285ef9beb8
4
TODO
4
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
|
||||
|
@ -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}")
|
||||
# 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 "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
|
||||
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)
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
files/board/arpl/p3/addons/ehci-pci/geminilake-4.4.180.tgz
Normal file
BIN
files/board/arpl/p3/addons/ehci-pci/geminilake-4.4.180.tgz
Normal file
Binary file not shown.
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user