@@ -242,7 +242,6 @@ function cmdlineMenu() {
|
||||
echo "5 \"PCI/IRQ Fix\"" >>"${TMP_PATH}/menu"
|
||||
echo "6 \"C-State Fix\"" >>"${TMP_PATH}/menu"
|
||||
echo "7 \"Show user Cmdline\"" >>"${TMP_PATH}/menu"
|
||||
echo "8 \"Show Model/Build Cmdline\"" >>"${TMP_PATH}/menu"
|
||||
echo "9 \"Kernelpanic Behavior\"" >>"${TMP_PATH}/menu"
|
||||
# Loop menu
|
||||
while true; do
|
||||
@@ -406,14 +405,6 @@ function cmdlineMenu() {
|
||||
--aspect 18 --msgbox "${ITEMS}" 0 0
|
||||
;;
|
||||
8)
|
||||
ITEMS=""
|
||||
while IFS=': ' read -r KEY VALUE; do
|
||||
ITEMS+="${KEY}: ${VALUE}\n"
|
||||
done <<<$(readModelMap "${MODEL}" "productvers.[${PRODUCTVER}].cmdline")
|
||||
dialog --backtitle "$(backtitle)" --title "Model/Version cmdline" \
|
||||
--aspect 18 --msgbox "${ITEMS}" 0 0
|
||||
;;
|
||||
9)
|
||||
rm -f "${TMP_PATH}/opts"
|
||||
echo "5 \"Reboot after 5 seconds\"" >>"${TMP_PATH}/opts"
|
||||
echo "0 \"No reboot\"" >>"${TMP_PATH}/opts"
|
||||
|
||||
@@ -66,6 +66,7 @@ MACSYS="$(readConfigKey "arc.macsys" "${USER_CONFIG_FILE}")"
|
||||
ODP="$(readConfigKey "arc.odp" "${USER_CONFIG_FILE}")"
|
||||
HDDSORT="$(readConfigKey "arc.hddsort" "${USER_CONFIG_FILE}")"
|
||||
KERNEL="$(readConfigKey "arc.kernel" "${USER_CONFIG_FILE}")"
|
||||
RD_COMPRESSED="$(readConfigKey "rd-compressed" "${USER_CONFIG_FILE}")"
|
||||
USBMOUNT="$(readConfigKey "arc.usbmount" "${USER_CONFIG_FILE}")"
|
||||
ARCIPV6="$(readConfigKey "arc.ipv6" "${USER_CONFIG_FILE}")"
|
||||
EMMCBOOT="$(readConfigKey "arc.emmcboot" "${USER_CONFIG_FILE}")"
|
||||
@@ -266,7 +267,7 @@ function arcVersion() {
|
||||
writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}"
|
||||
while IFS=': ' read -r KEY VALUE; do
|
||||
writeConfigKey "synoinfo.\"${KEY}\"" "${VALUE}" "${USER_CONFIG_FILE}"
|
||||
done <<<$(readModelMap "${MODEL}" "productvers.[${PRODUCTVER}].synoinfo")
|
||||
done <<<$(readModelMap "${MODEL}" "synoinfo")
|
||||
# Reset modules
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
while read -r ID DESC; do
|
||||
@@ -390,9 +391,11 @@ function arcSettings() {
|
||||
# Select Addons
|
||||
addonSelection
|
||||
# Check for DT and HBA/Raid Controller
|
||||
if [[ "${DT}" = "true" && "${EXTERNALCONTROLLER}" = "true" ]]; then
|
||||
dialog --backtitle "$(backtitle)" --title "Arc Warning" \
|
||||
--msgbox "WARN: You use a HBA/Raid Controller and selected a DT Model.\nThis is still an experimental Feature." 0 0
|
||||
if [ ! "${MODEL}" = "SA6400" ]; then
|
||||
if [[ "${DT}" = "true" && "${EXTERNALCONTROLLER}" = "true" ]]; then
|
||||
dialog --backtitle "$(backtitle)" --title "Arc Warning" \
|
||||
--msgbox "WARN: You use a HBA/Raid Controller and selected a DT Model.\nThis is still an experimental Feature." 0 0
|
||||
fi
|
||||
fi
|
||||
# Check for more then 8 Ethernet Ports
|
||||
DEVICENIC="$(readConfigKey "device.nic" "${USER_CONFIG_FILE}")"
|
||||
@@ -881,7 +884,7 @@ function arcAutomated() {
|
||||
writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}"
|
||||
while IFS=': ' read -r KEY VALUE; do
|
||||
writeConfigKey "synoinfo.\"${KEY}\"" "${VALUE}" "${USER_CONFIG_FILE}"
|
||||
done <<<$(readModelMap "${MODEL}" "productvers.[${PRODUCTVER}].synoinfo")
|
||||
done <<<$(readModelMap "${MODEL}" "synoinfo")
|
||||
# Reset modules
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
while read -r ID DESC; do
|
||||
@@ -1184,6 +1187,7 @@ else
|
||||
echo "O \"Official Driver Priority: \Z4${ODP}\Zn \" " >>"${TMP_PATH}/menu"
|
||||
echo "E \"eMMC Boot Support: \Z4${EMMCBOOT}\Zn \" " >>"${TMP_PATH}/menu"
|
||||
echo "o \"Switch MacSys: \Z4${MACSYS}\Zn \" " >>"${TMP_PATH}/menu"
|
||||
echo "W \"DSM RD Compression: \Z4${RD_COMPRESSED}\Zn \" " >>"${TMP_PATH}/menu"
|
||||
echo "u \"Switch LKM version: \Z4${LKM}\Zn \" " >>"${TMP_PATH}/menu"
|
||||
fi
|
||||
fi
|
||||
@@ -1357,6 +1361,12 @@ else
|
||||
BUILDDONE="$(readConfigKey "arc.builddone" "${USER_CONFIG_FILE}")"
|
||||
NEXT="o"
|
||||
;;
|
||||
W) [ "${RD_COMPRESSED}" = "true" ] && RD_COMPRESSED='false' || RD_COMPRESSED='true'
|
||||
writeConfigKey "rd-compressed" "${RD_COMPRESSED}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "arc.builddone" "false" "${USER_CONFIG_FILE}"
|
||||
BUILDDONE="$(readConfigKey "arc.builddone" "${USER_CONFIG_FILE}")"
|
||||
NEXT="W"
|
||||
;;
|
||||
u) [ "${LKM}" = "prod" ] && LKM='dev' || LKM='prod'
|
||||
writeConfigKey "lkm" "${LKM}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "arc.builddone" "false" "${USER_CONFIG_FILE}"
|
||||
|
||||
@@ -97,19 +97,6 @@ CMDLINE['vid']="${VID}"
|
||||
CMDLINE['pid']="${PID}"
|
||||
CMDLINE['sn']="${SN}"
|
||||
|
||||
NIC=0
|
||||
for ETH in ${ETHX}; do
|
||||
MAC="$(readConfigKey "mac.${ETH}" "${USER_CONFIG_FILE}")"
|
||||
[ -n "${MAC}" ] && NIC=$((${NIC} + 1)) && CMDLINE["mac${NIC}"]="${MAC}"
|
||||
done
|
||||
CMDLINE['netif_num']="${NIC}"
|
||||
|
||||
if [ "${MACSYS}" = "hardware" ]; then
|
||||
CMDLINE['skip_vender_mac_interfaces']="0,1,2,3,4,5,6,7"
|
||||
elif [ "${MACSYS}" = "custom" ]; then
|
||||
CMDLINE['skip_vender_mac_interfaces']="$(seq -s, $((${NIC} + 1)) 7)"
|
||||
fi
|
||||
|
||||
# set fixed cmdline
|
||||
if grep -q "force_junior" /proc/cmdline; then
|
||||
CMDLINE['force_junior']=""
|
||||
@@ -126,40 +113,73 @@ fi
|
||||
if [ ! "${BUS}" = "usb" ]; then
|
||||
SZ=$(blockdev --getsz ${LOADER_DISK} 2>/dev/null) # SZ=$(cat /sys/block/${LOADER_DISK/\/dev\//}/size)
|
||||
SS=$(blockdev --getss ${LOADER_DISK} 2>/dev/null) # SS=$(cat /sys/block/${LOADER_DISK/\/dev\//}/queue/hw_sector_size)
|
||||
SIZE=$((${SZ} * ${SS} / 1024 / 1024 + 10))
|
||||
SIZE=$((${SZ:-0} * ${SS:-0} / 1024 / 1024 + 10))
|
||||
# Read SATADoM type
|
||||
DOM="$(readModelKey "${MODEL}" "dom")"
|
||||
CMDLINE['synoboot_satadom']="${DOM}"
|
||||
CMDLINE['dom_szmax']="${SIZE}"
|
||||
fi
|
||||
|
||||
CMDLINE['panic']="${KERNELPANIC:-0}"
|
||||
CMDLINE['console']="ttyS0,115200n8"
|
||||
#CMDLINE['no_console_suspend']="1"
|
||||
CMDLINE['consoleblank']="600"
|
||||
CMDLINE['earlyprintk']=""
|
||||
CMDLINE['earlycon']="uart8250,io,0x3f8,115200n8"
|
||||
CMDLINE['root']="/dev/md0"
|
||||
|
||||
if [ ! "${MODEL}" = "SA6400" ]; then
|
||||
CMDLINE['elevator']="elevator"
|
||||
if [ "${EMMCBOOT}" = "true" ]; then
|
||||
CMDLINE['root']="/dev/mmcblk0p1"
|
||||
else
|
||||
CMDLINE['root']="/dev/md0"
|
||||
fi
|
||||
|
||||
NIC=0
|
||||
for ETH in ${ETHX}; do
|
||||
MAC="$(readConfigKey "mac.${ETH}" "${USER_CONFIG_FILE}")"
|
||||
[ -n "${MAC}" ] && NIC=$((${NIC} + 1)) && CMDLINE["mac${NIC}"]="${MAC}"
|
||||
done
|
||||
CMDLINE['netif_num']="${NIC}"
|
||||
|
||||
if [ "${MACSYS}" = "hardware" ]; then
|
||||
CMDLINE['skip_vender_mac_interfaces']="0,1,2,3,4,5,6,7"
|
||||
elif [ "${MACSYS}" = "custom" ]; then
|
||||
CMDLINE['skip_vender_mac_interfaces']="$(seq -s, $((${NIC} + 1)) 7)"
|
||||
fi
|
||||
|
||||
CMDLINE['loglevel']="15"
|
||||
CMDLINE['log_buf_len']="32M"
|
||||
CMDLINE["HddHotplug"]="1"
|
||||
CMDLINE["elevator"]="elevator"
|
||||
|
||||
if [ -n "$(ls /dev/mmcblk* 2>/dev/null)" ] && [ ! "${BUS}" = "mmc" ] && [ ! "${EMMCBOOT}" = "true" ]; then
|
||||
[ ! "${CMDLINE['modprobe.blacklist']}" = "" ] && CMDLINE['modprobe.blacklist']+=","
|
||||
CMDLINE['modprobe.blacklist']+="sdhci,sdhci_pci,sdhci_acpi"
|
||||
fi
|
||||
|
||||
if [ "$(readModelKey "${MODEL}" "dt")" = "true" ] && ! echo "epyc7002 purley broadwellnkv2" | grep -wq "$(readModelKey "${MODEL}" "platform")"; then
|
||||
[ ! "${CMDLINE['modprobe.blacklist']}" = "" ] && CMDLINE['modprobe.blacklist']+=","
|
||||
CMDLINE['modprobe.blacklist']+="mpt3sas"
|
||||
DT="$(readModelKey "${MODEL}" "dt")"
|
||||
PLATFORM="$(readModelKey "${MODEL}" "platform")"
|
||||
PLATFORM=${PLATFORM:-"unknown"}
|
||||
if [ "${DT}" = "true" ]; then
|
||||
CMDLINE["vender_format_version"]="2"
|
||||
CMDLINE["syno_ttyS0"]="serial,0x3f8"
|
||||
CMDLINE["syno_ttyS1"]="serial,0x2f8"
|
||||
if ! echo "epyc7002 purley broadwellnkv2" | grep -wq "${PLATFORM}"; then
|
||||
[ ! "${CMDLINE['modprobe.blacklist']}" = "" ] && CMDLINE['modprobe.blacklist']+=","
|
||||
CMDLINE['modprobe.blacklist']+="mpt3sas"
|
||||
fi
|
||||
else
|
||||
CMDLINE["SMBusHddDynamicPower"]="1"
|
||||
CMDLINE["syno_hdd_detect"]="0"
|
||||
CMDLINE["syno_hdd_powerup_seq"]="0"
|
||||
CMDLINE["vender_format_version"]="2"
|
||||
fi
|
||||
if echo "epyc7002 apollolake geminilake kvmx64" | grep -wq "${PLATFORM}"; then
|
||||
CMDLINE["intel_iommu"]="igfx_off"
|
||||
fi
|
||||
if echo "purley broadwellnkv2" | grep -wq "${PLATFORM}"; then
|
||||
CMDLINE["SASmodel"]="1"
|
||||
fi
|
||||
|
||||
# Read cmdline
|
||||
while IFS=': ' read -r KEY VALUE; do
|
||||
[ -n "${KEY}" ] && CMDLINE["${KEY}"]="${VALUE}"
|
||||
done <<<$(readModelMap "${MODEL}" "productvers.[${PRODUCTVER}].cmdline")
|
||||
while IFS=': ' read -r KEY VALUE; do
|
||||
[ -n "${KEY}" ] && CMDLINE["${KEY}"]="${VALUE}"
|
||||
done <<<$(readConfigMap "cmdline" "${USER_CONFIG_FILE}")
|
||||
|
||||
@@ -12,6 +12,15 @@ N kvm-intel.ko
|
||||
N kvm-amd.ko
|
||||
N kvm.ko
|
||||
|
||||
# sensors
|
||||
N coretemp.ko
|
||||
N k10temp.ko
|
||||
N it87.ko
|
||||
N adt7470.ko
|
||||
N adt7475.ko
|
||||
N nct6683.ko
|
||||
N nct6775.ko
|
||||
|
||||
# rndis
|
||||
F mii.ko
|
||||
F cdc_ether.ko
|
||||
|
||||
@@ -42,6 +42,7 @@ initConfigKey "zimage-hash" "" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "ramdisk-hash" "" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "cmdline" "{}" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "rd-compressed" "false" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "addons" "{}" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "arc" "{}" "${USER_CONFIG_FILE}"
|
||||
|
||||
@@ -37,6 +37,7 @@ PLATFORM="$(readModelKey "${MODEL}" "platform")"
|
||||
HDDSORT="$(readConfigKey "arc.hddsort" "${USER_CONFIG_FILE}")"
|
||||
USBMOUNT="$(readConfigKey "arc.usbmount" "${USER_CONFIG_FILE}")"
|
||||
KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||
RD_COMPRESSED="$(readConfigKey "rd-compressed" "${USER_CONFIG_FILE}")"
|
||||
|
||||
# Check if DSM Version changed
|
||||
. "${RAMDISK_PATH}/etc/VERSION"
|
||||
@@ -45,7 +46,6 @@ KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||
PRODUCTVERDSM="${majorversion}.${minorversion}"
|
||||
PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")"
|
||||
KVER="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kver")"
|
||||
RD_COMPRESSED="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].rd-compressed")"
|
||||
# Read new PAT Info from Config
|
||||
PAT_URL="$(readConfigKey "arc.paturl" "${USER_CONFIG_FILE}")"
|
||||
PAT_HASH="$(readConfigKey "arc.pathash" "${USER_CONFIG_FILE}")"
|
||||
@@ -90,10 +90,17 @@ while IFS=': ' read -r KEY VALUE; do
|
||||
done <<<$(readConfigMap "modules" "${USER_CONFIG_FILE}")
|
||||
|
||||
# Patches (diff -Naru OLDFILE NEWFILE > xxx.patch)
|
||||
while read -r PE; do
|
||||
PATCHS=()
|
||||
PATCHS+=("ramdisk-etc-rc-*.patch")
|
||||
PATCHS+=("ramdisk-init-script-v${KVER:0:1}-*.patch")
|
||||
PATCHS+=("ramdisk-post-init-script-*.patch")
|
||||
PATCHS+=("ramdisk-disable-root-pwd-*.patch")
|
||||
PATCHS+=("ramdisk-disable-disabled-ports-*.patch")
|
||||
for PE in ${PATCHS[@]}; do
|
||||
RET=1
|
||||
echo "Patching with ${PE}" >"${LOG_FILE}"
|
||||
for PF in $(ls ${PATCH_PATH}/${PE} 2>/dev/null); do
|
||||
echo -n "."
|
||||
echo "Patching with ${PF}" >>"${LOG_FILE}"
|
||||
(
|
||||
cd "${RAMDISK_PATH}"
|
||||
@@ -103,7 +110,7 @@ while read -r PE; do
|
||||
[ ${RET} -eq 0 ] && break
|
||||
done
|
||||
[ ${RET} -ne 0 ] && exit 1
|
||||
done <<<$(readModelArray "${MODEL}" "productvers.[${PRODUCTVER}].patch")
|
||||
done
|
||||
|
||||
# Patch /etc/synoinfo.conf
|
||||
# Add serial number to synoinfo.conf, to help to recovery a installed DSM
|
||||
|
||||
@@ -227,7 +227,7 @@ function repackInitrd() {
|
||||
[ -f "${OUTPUT_PATH}" ] && rm -rf "${OUTPUT_PATH}"
|
||||
(
|
||||
cd "${RDXZ_PATH}"
|
||||
sudo find . 2>/dev/null | sudo cpio -o -H newc -R root:root | xz --check=crc32 >"${OUTPUT_PATH}"
|
||||
sudo find . 2>/dev/null | sudo cpio -o -H newc -R root:root | xz -9 --check=crc32 >"${OUTPUT_PATH}"
|
||||
) || true
|
||||
sudo rm -rf "${RDXZ_PATH}"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user