Merge branch 'eudev'

This commit is contained in:
Fabio Belavenuto
2022-07-16 18:27:10 -03:00
238 changed files with 324 additions and 1047 deletions

View File

@@ -106,7 +106,7 @@ while true; do
if [ -n "${IP}" ]; then
echo -e "\033[1;32m${IP}\033[0m"
break
elif [ ${COUNT} -eq 8 ]; then
elif [ ${COUNT} -eq 15 ]; then
echo -e "\033[1;31mERROR\033[0m"
break
fi

View File

@@ -0,0 +1 @@
kmod

View File

@@ -1,8 +1,9 @@
ARPL_VERSION="0.2-alpha5"
ARPL_VERSION="0.3-alpha2"
# Define paths
TMP_PATH="/tmp"
UNTAR_PAT_PATH="${TMP_PATH}/pat"
RAMDISK_PATH="${TMP_PATH}/ramdisk"
LOG_FILE="${TMP_PATH}/log.txt"
@@ -15,6 +16,7 @@ ORI_RDGZ_FILE="${SLPART_PATH}/rd.gz"
ADDONS_PATH="${CACHE_PATH}/addons"
LKM_PATH="${CACHE_PATH}/lkms"
MODULES_PATH="${CACHE_PATH}/modules"
MODEL_CONFIG_PATH="/opt/arpl/model-configs"
INCLUDE_PATH="/opt/arpl/include"

View File

@@ -50,6 +50,7 @@ if [ ! -f "${USER_CONFIG_FILE}" ]; then
writeConfigKey "model" "" "${USER_CONFIG_FILE}"
writeConfigKey "build" "" "${USER_CONFIG_FILE}"
writeConfigKey "sn" "" "${USER_CONFIG_FILE}"
writeConfigKey "maxdisks" "" "${USER_CONFIG_FILE}"
writeConfigKey "keymap" "" "${USER_CONFIG_FILE}"
writeConfigKey "zimage-hash" "" "${USER_CONFIG_FILE}"
writeConfigKey "ramdisk-hash" "" "${USER_CONFIG_FILE}"

Binary file not shown.

View File

@@ -14,17 +14,6 @@ fi
# Get actual IP
IP=`ip route get 1.1.1.1 2>/dev/null | awk '{print$7}'`
# Define classes for hw detection
declare -A CLASSES
CLASSES["0100"]="SCSI"
CLASSES["0106"]="SATA"
CLASSES["0101"]="IDE"
CLASSES["0107"]="SAS"
CLASSES["0200"]="Ethernet"
CLASSES["0300"]="VGA"
CLASSES["0c03"]="USB Controller"
CLASSES["0c04"]="Fiber Channel"
# Dirty flag
DIRTY=0
@@ -73,6 +62,7 @@ function modelMenu() {
while read M; do
M="`basename ${M}`"
M="${M::-4}"
PLATFORM=`readModelKey "${M}" "platform"`
# Check id model is compatible with CPU
COMPATIBLE=1
for F in `readModelArray "${M}" "flags"`; do
@@ -81,13 +71,10 @@ function modelMenu() {
break
fi
done
[ ${COMPATIBLE} -eq 1 ] && ITEMS+="${M} "
[ ${COMPATIBLE} -eq 1 ] && ITEMS+="${M} ${PLATFORM} "
done < <(find "${MODEL_CONFIG_PATH}" -maxdepth 1 -name \*.yml | sort)
dialog --clear --no-items \
--backtitle "`backtitle`" \
--menu "Choose the model" 0 0 0 \
${ITEMS} \
2>${TMP_PATH}/resp
dialog --backtitle "`backtitle`" --menu "Choose the model" 0 0 0 \
${ITEMS} 2>${TMP_PATH}/resp
[ $? -ne 0 ] && return
resp=$(<${TMP_PATH}/resp)
[ -z "${resp}" ] && return
@@ -100,11 +87,8 @@ function modelMenu() {
SN=""
writeConfigKey "sn" "${SN}" "${USER_CONFIG_FILE}"
# Delete old files
rm -f "${MOD_ZIMAGE_FILE}"
rm -f "${MOD_RDGZ_FILE}"
rm -f "${ORI_ZIMAGE_FILE}" "${ORI_RDGZ_FILE}" "${MOD_ZIMAGE_FILE}" "${MOD_RDGZ_FILE}"
DIRTY=1
# Remove addons
writeConfigKey "addons" "{}" "${USER_CONFIG_FILE}"
fi
}
@@ -122,8 +106,7 @@ function buildMenu() {
writeConfigKey "build" "${BUILD}" "${USER_CONFIG_FILE}"
DIRTY=1
# Remove old files
rm -f "${MOD_ZIMAGE_FILE}"
rm -f "${MOD_RDGZ_FILE}"
rm -f "${ORI_ZIMAGE_FILE}" "${ORI_RDGZ_FILE}" "${MOD_ZIMAGE_FILE}" "${MOD_RDGZ_FILE}"
fi
}
@@ -165,64 +148,7 @@ function serialMenu() {
}
###############################################################################
# Detect hardware
function detectHw() {
PLATFORM="`readModelKey "${MODEL}" "platform"`"
KVER="`readModelKey "${MODEL}" "builds.${BUILD}.kver"`"
# Get modules not needed
unset NOTNEEDED
declare -A NOTNEEDED
while read M; do
NOTNEEDED[${M}]="1"
done < <(readModelArray "${MODEL}" "builds.${BUILD}.modules-notneeded")
unset DEVC DEVN
declare -A DEVC
declare -A DEVN
while read L; do
F=` sed -E 's/^([0-9a-z]{2}:[0-9a-z]{2}.[0-9a-z]{1})[^\[]*\[([0-9a-z]{4})\]: (.*)/\1|\2|\3/' <<<"${L}"`
PCI="`cut -d'|' -f1 <<<"${F}"`"
CLASS="`cut -d'|' -f2 <<<"${F}"`"
NAME="`cut -d'|' -f3 <<<"${F}"`"
MODULE="`lspci -ks "${PCI}" | awk '/Kernel driver in use/{print$5}'`"
[ -z "${MODULE}" ] && continue
# If is a virtio module, change id
if grep -q "virtio" <<<"$MODULE"; then
MODULE="virtio"
fi
CLASS=${CLASSES[${CLASS}]} # Get class name of module
[ -z "${CLASS}" ] && continue # If no class, skip
arrayExistItem "${MODULE}" "${!ADDONS[@]}" && continue # Check if module already added
[ -n "${NOTNEEDED[${MODULE}]}" ] && continue # Check if module is not necessary
# Add module to list
DEVC[${MODULE}]="${CLASS}"
DEVN[${MODULE}]="${NAME}"
done < <(lspci -nn)
if [ ${#DEVC[@]} -eq 0 ]; then
dialog --backtitle "`backtitle`" --aspect 18 \
--msgbox "No device detected or already added!" 0 0
return
fi
for MODULE in ${!DEVC[@]}; do
CLASS="${DEVC[${MODULE}]}"
NAME="${DEVN[${MODULE}]}"
TEXT="Found a ${NAME}\nClass ${CLASS}\nModule ${MODULE}\nAccept?"
checkAddonExist "${MODULE}" "${PLATFORM}" "${KVER}" || TEXT+="\n\n\Z1PS: Addon for this module not found\Zn"
dialog --backtitle "`backtitle`" --title "Found Hardware" \
--colors --yesno "${TEXT}" 12 70
[ $? -ne 0 ] && continue
dialog --backtitle "`backtitle`" --title "params" \
--inputbox "Type a opcional params to module" 0 0 \
2>${TMP_PATH}/resp
[ $? -ne 0 ] && continue
VALUE="`<${TMP_PATH}/resp`"
ADDONS["${MODULE}"]="${VALUE}"
writeConfigKey "addons.${MODULE}" "${VALUE}" "${USER_CONFIG_FILE}"
DIRTY=1
done
}
###############################################################################
# Manage addons/drivers
# Manage addons
function addonMenu() {
# Read 'platform' and kernel version to check if addon exists
PLATFORM="`readModelKey "${MODEL}" "platform"`"
@@ -233,12 +159,11 @@ function addonMenu() {
while IFS="=" read KEY VALUE; do
[ -n "${KEY}" ] && ADDONS["${KEY}"]="${VALUE}"
done < <(readConfigMap "addons" "${USER_CONFIG_FILE}")
NEXT="h"
NEXT="a"
# Loop menu
while true; do
dialog --backtitle "`backtitle`" --default-item ${NEXT} \
--menu "Choose a option" 0 0 0 \
h "Detect hardware" \
a "Add an addon" \
d "Delete addon(s)" \
s "Show user addons" \
@@ -247,10 +172,6 @@ function addonMenu() {
2>${TMP_PATH}/resp
[ $? -ne 0 ] && return
case "`<${TMP_PATH}/resp`" in
h)
detectHw
NEXT='e'
;;
a) NEXT='a'
rm "${TMP_PATH}/menu"
while read ADDON DESC; do
@@ -426,6 +347,8 @@ function cmdlineMenu() {
###############################################################################
function synoinfoMenu() {
# Get dt flag from model
DT="`readModelKey "${MODEL}" "dt"`"
# Read synoinfo from user config
unset SYNOINFO
declare -A SYNOINFO
@@ -435,6 +358,9 @@ function synoinfoMenu() {
echo "a \"Add/edit an synoinfo item\"" > "${TMP_PATH}/menu"
echo "d \"Delete synoinfo item(s)\"" >> "${TMP_PATH}/menu"
if [ "${DT}" != "true" ]; then
echo "x \"Set maxdisks manually\"" >> "${TMP_PATH}/menu"
fi
echo "s \"Show user synoinfo\"" >> "${TMP_PATH}/menu"
echo "m \"Show model/build synoinfo\"" >> "${TMP_PATH}/menu"
echo "e \"Exit\"" >> "${TMP_PATH}/menu"
@@ -481,6 +407,15 @@ function synoinfoMenu() {
done
DIRTY=1
;;
x)
MAXDISKS=`readConfigKey "maxdisks" "${USER_CONFIG_FILE}"`
dialog --backtitle "`backtitle`" --title "Maxdisks" \
--inputbox "Type a value for maxdisks" 0 0 "${MAXDISKS}" \
2>${TMP_PATH}/resp
[ $? -ne 0 ] && continue
VALUE="`<"${TMP_PATH}/resp"`"
[ "${VALUE}" != "${MAXDISKS}" ] && writeConfigKey "maxdisks" "${VALUE}" "${USER_CONFIG_FILE}"
;;
s)
ITEMS=""
for KEY in ${!SYNOINFO[@]}; do
@@ -503,26 +438,13 @@ function synoinfoMenu() {
}
###############################################################################
# Where the magic happens :D
function make() {
clear
PLATFORM="`readModelKey "${MODEL}" "platform"`"
KVER="`readModelKey "${MODEL}" "builds.${BUILD}.kver"`"
# Extract linux and ramdisk files from the DSM .pat
function extractDsmFiles() {
PAT_URL="`readModelKey "${MODEL}" "builds.${BUILD}.pat.url"`"
PAT_HASH="`readModelKey "${MODEL}" "builds.${BUILD}.pat.hash"`"
RAMDISK_HASH="`readModelKey "${MODEL}" "builds.${BUILD}.pat.ramdisk-hash"`"
ZIMAGE_HASH="`readModelKey "${MODEL}" "builds.${BUILD}.pat.zimage-hash"`"
# Check if all addon exists
while IFS="=" read ADDON PARAM; do
[ -z "${ADDON}" ] && continue
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "${KVER}"; then
dialog --backtitle "`backtitle`" --title "Error" --aspect 18 \
--msgbox "Addon ${ADDON} not found!" 0 0
return 1
fi
done < <(readConfigMap "addons" "${USER_CONFIG_FILE}")
if [ ${RAMCACHE} -eq 0 ]; then
OUT_PATH="${CACHE_PATH}/dl"
echo "Cache in disk"
@@ -532,7 +454,6 @@ function make() {
fi
mkdir -p "${OUT_PATH}"
UNTAR_PAT_PATH="${TMP_PATH}/pat"
PAT_FILE="${MODEL}-${BUILD}.pat"
PAT_PATH="${OUT_PATH}/${PAT_FILE}"
EXTRACTOR_PATH="${CACHE_PATH}/extractor"
@@ -663,6 +584,24 @@ function make() {
cp "${UNTAR_PAT_PATH}/zImage" "${ORI_ZIMAGE_FILE}"
cp "${UNTAR_PAT_PATH}/rd.gz" "${ORI_RDGZ_FILE}"
echo "OK"
}
function make() {
clear
PLATFORM="`readModelKey "${MODEL}" "platform"`"
KVER="`readModelKey "${MODEL}" "builds.${BUILD}.kver"`"
# Check if all addon exists
while IFS="=" read ADDON PARAM; do
[ -z "${ADDON}" ] && continue
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "${KVER}"; then
dialog --backtitle "`backtitle`" --title "Error" --aspect 18 \
--msgbox "Addon ${ADDON} not found!" 0 0
return 1
fi
done < <(readConfigMap "addons" "${USER_CONFIG_FILE}")
[ ! -f "${ORI_ZIMAGE_FILE}" -o ! -f "${ORI_RDGZ_FILE}" ] && extractDsmFiles
/opt/arpl/zimage-patch.sh
if [ $? -ne 0 ]; then
@@ -749,6 +688,7 @@ function updateMenu() {
a "Update arpl" \
d "Update addons" \
l "Update LKMs" \
m "Update modules" \
e "Exit" \
2>${TMP_PATH}/resp
[ $? -ne 0 ] && return
@@ -842,17 +782,52 @@ function updateMenu() {
curl --insecure -s -L "https://github.com/fbelavenuto/redpill-lkm/releases/download/${TAG}/rp-lkms.zip" -o /tmp/rp-lkms.zip
if [ $? -ne 0 ]; then
dialog --backtitle "`backtitle`" --title "Update LKMs" --aspect 18 \
--msgbox "Error downloading new version" 0 0
--msgbox "Error downloading last version" 0 0
continue
fi
dialog --backtitle "`backtitle`" --title "Update LKMs" --aspect 18 \
--infobox "Extracting last version" 0 0
rm -rf /mnt/p3/lkms/*
unzip /tmp/rp-lkms.zip -d /mnt/p3/lkms >/dev/null 2>&1
rm -rf "${LKM_PATH}/"*
unzip /tmp/rp-lkms.zip -d "${LKM_PATH}" >/dev/null 2>&1
dialog --backtitle "`backtitle`" --title "Update LKMs" --aspect 18 \
--msgbox "LKMs updated with success!" 0 0
;;
m)
unset PLATFORMS
declare -A PLATFORMS
while read M; do
M="`basename ${M}`"
M="${M::-4}"
P=`readModelKey "${M}" "platform"`
ITEMS="`readConfigEntriesArray "builds" "${MODEL_CONFIG_PATH}/${M}.yml"`"
for B in ${ITEMS}; do
KVER=`readModelKey "${M}" "builds.${B}.kver"`
PLATFORMS["${P}-${KVER}"]=""
done
done < <(find "${MODEL_CONFIG_PATH}" -maxdepth 1 -name \*.yml | sort)
dialog --backtitle "`backtitle`" --title "Update Modules" --aspect 18 \
--infobox "Checking last version" 0 0
TAG=`curl --insecure -s https://api.github.com/repos/fbelavenuto/arpl-modules/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}'`
if [ $? -ne 0 -o -z "${TAG}" ]; then
dialog --backtitle "`backtitle`" --title "Update Modules" --aspect 18 \
--msgbox "Error checking new version" 0 0
continue
fi
for P in ${!PLATFORMS[@]}; do
dialog --backtitle "`backtitle`" --title "Update Modules" --aspect 18 \
--infobox "Downloading ${P} modules" 0 0
curl --insecure -s -L "https://github.com/fbelavenuto/arpl-modules/releases/download/${TAG}/${P}.tgz" -o "/tmp/${P}.tgz"
if [ $? -ne 0 ]; then
dialog --backtitle "`backtitle`" --title "Update Modules" --aspect 18 \
--msgbox "Error downloading ${P}.tgz" 0 0
continue
fi
rm "${MODULES_PATH}/${P}.tgz"
mv "/tmp/${P}.tgz" "${MODULES_PATH}/${P}.tgz"
done
dialog --backtitle "`backtitle`" --title "Update Modules" --aspect 18 \
--msgbox "Modules updated with success!" 0 0
;;
e) return ;;
esac
done
@@ -869,7 +844,7 @@ while true; do
echo "n \"Choose a Build Number\"" >> "${TMP_PATH}/menu"
echo "s \"Choose a serial number\"" >> "${TMP_PATH}/menu"
if [ -n "${BUILD}" ]; then
echo "a \"Addons/drivers\"" >> "${TMP_PATH}/menu"
echo "a \"Addons\"" >> "${TMP_PATH}/menu"
echo "x \"Cmdline menu\"" >> "${TMP_PATH}/menu"
echo "i \"Synoinfo menu\"" >> "${TMP_PATH}/menu"
echo "l \"Switch LKM version: \Z4${LKM}\Zn\"" >> "${TMP_PATH}/menu"

View File

@@ -1,18 +1,4 @@
id: "DS1621+"
modules-notneeded: &modules-notneeded
- ahci
- ata_piix
- amd_xgbe
- marvell10g
- i40e
- r8168
- r8169
- ixgbe
- etxhci_hcd
- xhci_hcd
- ehci-pci
- uhci_hcd
- mv14xx
synoinfo: &synoinfo
support_disk_compatibility: "no"
support_memory_compatibility: "no"
@@ -50,7 +36,6 @@ builds:
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -63,16 +48,13 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-rc.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
42661:
ver: "7.1.0"
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -85,6 +67,4 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42661-rc.patch"
- "ramdisk-42661-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"

View File

@@ -1,17 +1,4 @@
id: "DS2422+"
modules-notneeded: &modules-notneeded
- ahci
- ata_piix
- amd_xgbe
- marvell10g
- i40e
- r8168
- ixgbe
- etxhci_hcd
- xhci_hcd
- ehci-pci
- uhci_hcd
- mv14xx
synoinfo: &synoinfo
support_disk_compatibility: "no"
support_memory_compatibility: "no"
@@ -47,7 +34,6 @@ builds:
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -60,7 +46,4 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-rc.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-common-disable-disabled-ports.patch"

View File

@@ -1,16 +1,4 @@
id: "DS3615xs"
modules-notneeded: &modules-notneeded
- ahci
- ata_piix
- i40e
- ixgbe
- igb
- e1000e
- dca
- etxhci_hcd
- xhci_hcd
- ehci-pci
- uhci_hcd
synoinfo: &synoinfo
esataportcfg: "0x0"
usbportcfg: "0x8700"
@@ -27,7 +15,7 @@ cmdline: &cmdline
syno_hdd_detect: 0
platform: "bromolow"
serial:
prefix:
prefix:
- "1130"
- "1230"
- "1330"
@@ -42,7 +30,6 @@ builds:
kver: "3.10.108"
rd-compressed: false
efi-bug: yes
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -55,9 +42,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-rc.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-common-disable-disabled-ports.patch"
42661:
@@ -65,7 +50,6 @@ builds:
kver: "3.10.108"
rd-compressed: false
efi-bug: yes
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -78,7 +62,5 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42661-rc.patch"
- "ramdisk-42661-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -1,16 +1,4 @@
id: "DS3617xs"
modules-notneeded: &modules-notneeded
- ahci
- ata_piix
- i40e
- ixgbe
- igb
- e1000e
- dca
- xhci_pci
- xhci_hcd
- uhci_hcd
- mv14xx
synoinfo: &synoinfo
esataportcfg: "0x00"
usbportcfg: "0x8700"
@@ -46,7 +34,6 @@ builds:
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -59,9 +46,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-rc.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-common-disable-disabled-ports.patch"
42661:
@@ -69,7 +54,6 @@ builds:
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -82,7 +66,5 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42661-rc.patch"
- "ramdisk-42661-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -1,19 +1,4 @@
id: "DS3622xs+"
modules-notneeded: &modules-notneeded
- ahci
- ata_piix
- i40e
- r8168
- r8169
- ixgbe
- igb
- e1000e
- dca
- etxhci_hcd
- xhci_hcd
- ehci-pci
- uhci_hcd
- mv14xx
synoinfo: &synoinfo
esataportcfg: "0x00"
support_bde_internal_10g: "no"
@@ -53,7 +38,6 @@ builds:
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -66,9 +50,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-rc.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-common-disable-disabled-ports.patch"
42661:
@@ -76,7 +58,6 @@ builds:
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -89,7 +70,5 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42661-rc.patch"
- "ramdisk-42661-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -1,14 +1,4 @@
id: "DS918+"
modules-notneeded: &modules-notneeded
- ahci
- ata_piix
- r8168
- r8169
- igb
- e1000e
- etxhci_hcd
- xhci_hcd
- uhci_hcd
synoinfo: &synoinfo
esataportcfg: "0x00"
support_led_brightness_adjustment: ""
@@ -48,7 +38,6 @@ builds:
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -61,9 +50,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-rc.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-common-disable-disabled-ports.patch"
42661:
@@ -71,7 +58,6 @@ builds:
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -84,7 +70,5 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42661-rc.patch"
- "ramdisk-42661-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -1,12 +1,4 @@
id: "DS920+"
modules-notneeded: &modules-notneeded
- ahci
- ata_piix
- r8168
- r8169
- etxhci_hcd
- xhci_hcd
- uhci_hcd
synoinfo: &synoinfo
rss_server: "http://example.com/null.xml"
rss_server_ssl: "https://example.com/null.xml"
@@ -42,7 +34,6 @@ builds:
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -55,16 +46,13 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-rc.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
42661:
ver: "7.1.0"
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -77,6 +65,4 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42661-rc.patch"
- "ramdisk-42661-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"

View File

@@ -1,19 +1,4 @@
id: "DVA1622"
modules-notneeded: &modules-notneeded
- ahci
- ata_piix
- r8168
- r8169
- etxhci_hcd
- xhci_hcd
- uhci_hcd
- i915
- drm
- fb
- fbdev
- video
- backlight
- button
synoinfo: &synoinfo
buzzeroffen: "0xffff"
rss_server: "http://example.com/null.xml"
@@ -51,7 +36,6 @@ builds:
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -64,6 +48,4 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42661-rc.patch"
- "ramdisk-42661-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"

View File

@@ -1,15 +1,4 @@
id: "DVA3221"
modules-notneeded: &modules-notneeded
- ahci
- ata_piix
- i40e
- ixgbe
- igb
- e1000e
- etxhci_hcd
- xhci_hcd
- ehci-pci
- uhci_hcd
synoinfo: &synoinfo
esataportcfg: "0x00"
support_bde_internal_10g: "no"
@@ -48,7 +37,6 @@ builds:
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -61,9 +49,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-rc.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-common-disable-disabled-ports.patch"
42661:
@@ -71,7 +57,6 @@ builds:
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -84,7 +69,5 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42661-rc.patch"
- "ramdisk-42661-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -1,86 +0,0 @@
id: "RS4021xs+"
modules-notneeded: &modules-notneeded
- ahci
- i40e
- ixgbe
- igb
- e1000e
- dca
- etxhci_hcd
- xhci_hcd
- ehci-pci
- uhci_hcd
synoinfo: &synoinfo
support_bde_internal_10g: "no"
support_disk_compatibility: "no"
supportraidgroup: "no"
esataportcfg: "0x00"
rss_server: "http://example.com/null.xml"
rss_server_ssl: "https://example.com/null.xml"
rss_server_v2: "https://example.com/autoupdate/v2/getList"
update_server: "http://example.com/"
update_server_ssl: "https://example.com/"
small_info_path: "https://example.com/null"
updateurl: "http://example.com/"
myds_region_api_base_url: "https://example.com"
security_version_server: "https://example.com/smallupdate"
cmdline: &cmdline
syno_hdd_powerup_seq: 0
HddHotplug: 0
vender_format_version: 2
syno_port_thaw: 1
syno_hdd_detect: 0
platform: "broadwellnk"
dom: 1
serial:
prefix:
- "0000"
middle: "XXX"
suffix: "numeric"
disks: 16
builds:
42218:
ver: "7.0.1"
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
<<: *synoinfo
pat:
url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_RS4021xs%2B_42218.pat"
hash: "7afca3970ac7324d7431c1484d4249939bedd4c18ac34187f894c43119edf3a1"
ramdisk-hash: "3510afe5b3dfe3662bfe054c1728c8794911da431718b533cd03d2a2c061ffd5"
zimage-hash: "b4cc62e9953f226960de98b65887e17dd6df5fa0ad28f665e0b4660dbd5f2fa8"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-rc.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-common-disable-disabled-ports.patch"
42661:
ver: "7.1.0"
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
<<: *synoinfo
pat:
url: "https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_RS4021xs%2B_42661.pat"
hash: "496b64e431dafa34cdebb92da8ac736bf1610fe157f03df7e6d11152d60991f5"
ramdisk-hash: "143e475fe73c0adb3377361402b4baad21448476e844e55e16d1ed51ffc4c971"
zimage-hash: "e073dd84054f652811e0ae1932af2c7cdbd5fb6e5f18f265097072b8af4605e8"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42661-rc.patch"
- "ramdisk-42661-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -9,7 +9,8 @@ do
if [ "$arg" = "elevator-iosched" ]; then
insmod /usr/lib/modules/rp.ko
rm /usr/lib/modules/rp.ko
rm /sbin/modprobe
rm /usr/sbin/modprobe
ln -s /usr/bin/kmod /usr/sbin/modprobe
exit 0
fi
done

View File

@@ -1,11 +0,0 @@
--- a/etc/rc
+++ b/etc/rc
@@ -247,7 +247,7 @@
/etc.defaults/AHAtasks load_network_modules_junior
fi
SYNOLoadModules ${NET_MODULES}
-
+/addons/addons.sh modules
if [ "no" != "$RUN_SYNOBIOS" ]; then
SYNOLoadModules "synobios"

View File

@@ -1,6 +1,14 @@
--- a/linuxrc.syno.impl
+++ b/linuxrc.syno.impl
@@ -155,6 +155,8 @@ fi
--- a/linuxrc.syno.impl 2022-07-13 19:11:36.166689682 -0300
+++ b/linuxrc.syno.impl 2022-07-14 10:50:50.616836807 -0300
@@ -59,6 +59,7 @@
fi
UmountRoot
+ /addons/addons.sh jrExit
exit $1
}
@@ -155,6 +156,8 @@
# insert basic USB modules for detect f401/FDT
echo "Insert basic USB modules..."
SYNOLoadModules $USB_MODULES
@@ -9,3 +17,12 @@
# insert Etron USB3.0 drivers
@@ -208,7 +211,7 @@
rmmod i2c_core
fi
fi
-
+/addons/addons.sh patches
if [ "$SupportDualhead" = "yes" ]; then
# Run HA script
/etc.defaults/AHAtasks check_stage

View File

@@ -1,11 +0,0 @@
--- a/etc/rc
+++ b/etc/rc
@@ -230,7 +230,7 @@
/etc.defaults/AHAtasks load_network_modules_junior
fi
SYNOLoadModules ${NET_MODULES}
-
+/addons/addons.sh modules
if [ "no" != "$RUN_SYNOBIOS" ]; then
SYNOLoadModules "synobios"

View File

@@ -81,25 +81,39 @@ done
sed -e "/@@@CONFIG-GENERATED@@@/ {" -e "r ${TMP_PATH}/rp.txt" -e 'd' -e '}' -i "${RAMDISK_PATH}/sbin/init.post"
rm "${TMP_PATH}/rp.txt"
# Copying LKM to /usr/lib/modules/rp.ko
echo -n "."
# Extract modules to ramdisk
rm -rf "${TMP_PATH}/modules"
mkdir -p "${TMP_PATH}/modules"
gzip -dc "${CACHE_PATH}/modules/${PLATFORM}-${KVER}.tgz" | tar xf - -C "${TMP_PATH}/modules"
for F in `ls "${TMP_PATH}/modules/"*.ko`; do
M=`basename ${F}`
# Skip existent modules
[ -f "${RAMDISK_PATH}/usr/lib/modules/${M}" ] || mv "${F}" "${RAMDISK_PATH}/usr/lib/modules/${M}"
done
# Clean
rm -rf "${TMP_PATH}/modules"
# Build modules dependencies
/opt/arpl/depmod -a -b ${RAMDISK_PATH} 2>/dev/null
echo -n "."
# Copying fake modprobe
cp "${PATCH_PATH}/iosched-trampoline.sh" "${RAMDISK_PATH}/usr/sbin/modprobe"
# Copying LKM to /usr/lib/modules
cp "${LKM_PATH}/rp-${PLATFORM}-${KVER}-${LKM}.ko" "${RAMDISK_PATH}/usr/lib/modules/rp.ko"
# Copying fake modprobe
echo -n "."
cp "${PATCH_PATH}/iosched-trampoline.sh" "${RAMDISK_PATH}/usr/sbin/modprobe"
# Addons
MAXDISKS=`readConfigKey "maxdisks" "${USER_CONFIG_FILE}"`
# Check if model needs Device-tree dynamic patch
DT="`readModelKey "${MODEL}" "dt"`"
# Add system addon "dtbpatch" or "maxdisks"
[ "${DT}" = "true" ] && ADDONS['dtbpatch']="" || ADDONS['maxdisks']=""
ADDONS['misc']="" # Add system addon "misc"
ADDONS['acpid']="" # Add system addon "acpid"
[ "${DT}" = "true" ] && ADDONS['dtbpatch']="" || ADDONS['maxdisks']="${MAXDISKS}"
# Indispensable eudev system addon
ADDONS['eudev']=""
mkdir -p "${RAMDISK_PATH}/addons"
echo -n "."
#/proc/sys/kernel/syno_install_flag
mkdir -p "${RAMDISK_PATH}/addons"
echo "#!/bin/sh" > "${RAMDISK_PATH}/addons/addons.sh"
echo 'export INSMOD="/sbin/insmod"' >> "${RAMDISK_PATH}/addons/addons.sh"
echo 'echo "addons.sh called with params ${@}"' >> "${RAMDISK_PATH}/addons/addons.sh"