mirror of
https://github.com/RROrg/rr.git
synced 2025-06-21 05:51:05 +08:00
Revision Initialization
This commit is contained in:
parent
e2e9fabfbc
commit
00c4aa7b99
2
.github/workflows/data.yml
vendored
2
.github/workflows/data.yml
vendored
@ -39,7 +39,7 @@ jobs:
|
||||
- name: Get Release RR
|
||||
run: |
|
||||
REPO="${{ github.server_url }}/${{ github.repository }}"
|
||||
PRERELEASE="false"
|
||||
PRERELEASE="true"
|
||||
|
||||
TAG=""
|
||||
if [ "${PRERELEASE}" = "true" ]; then
|
||||
|
2
.github/workflows/issues.yml
vendored
2
.github/workflows/issues.yml
vendored
@ -144,7 +144,7 @@ jobs:
|
||||
REPO="${{ github.server_url }}/${{ github.repository }}"
|
||||
MODEL="${{ env.model }}"
|
||||
VERSION="${{ env.version }}"
|
||||
PRERELEASE="false"
|
||||
PRERELEASE="true"
|
||||
|
||||
TAG=""
|
||||
if [ "${PRERELEASE}" = "true" ]; then
|
||||
|
@ -3,7 +3,6 @@
|
||||
<h1>RR: <small>redpill’s preinstallation and recovery environment</small></h1>
|
||||
|
||||
[](https://github.com/rrorg/rr)
|
||||
[](https://hosted.weblate.org/engage/RROrg/")
|
||||
[](https://github.com/rrorg/rr/releases/latest)
|
||||
[](https://github.com/rrorg/rr/releases)
|
||||
[](https://rrorg.github.io/rr/)
|
||||
@ -39,12 +38,7 @@ For the packag of has been initialized and build image, please go to [RR-CUSTOM]
|
||||
- [intel-gpu-i915-backports](https://github.com/MoetaYuko/intel-gpu-i915-backports)
|
||||
|
||||
## 5: Contributing
|
||||
- [Weblate mode](https://hosted.weblate.org/engage/RROrg/)
|
||||
<a href="https://hosted.weblate.org/engage/RROrg/">
|
||||
<img src="https://hosted.weblate.org/widget/RROrg/multi-auto.svg" alt="翻译状态" />
|
||||
</a>
|
||||
|
||||
- Manual mode:
|
||||
* The following is a roughly truncated guide to involve in project localization for internationalization.
|
||||
|
||||
```shell
|
||||
|
@ -37,6 +37,10 @@
|
||||
|
||||
var repo = "RROrg/rr"
|
||||
|
||||
var _models = {};
|
||||
var _addons = {};
|
||||
var _modules = {};
|
||||
|
||||
function httpGetAsync(theUrl, callback) {
|
||||
let xmlHttpReq = new XMLHttpRequest();
|
||||
xmlHttpReq.onreadystatechange = function () {
|
||||
@ -53,7 +57,7 @@
|
||||
|
||||
function init() {
|
||||
httpGetAsync("https://raw.githubusercontent.com/RROrg/rr/main/docs/models.json", function (result) {
|
||||
_models = JSON.parse(result);
|
||||
//_models = JSON.parse(result);
|
||||
httpGetAsync("https://raw.githubusercontent.com/RROrg/rr/main/docs/addons.json", function (result) {
|
||||
_addons = JSON.parse(result);
|
||||
httpGetAsync("https://raw.githubusercontent.com/RROrg/rr/main/docs/modules.json", function (result) {
|
||||
@ -69,7 +73,10 @@
|
||||
}
|
||||
|
||||
function setModels() {
|
||||
var models = Object.keys(_models).sort();
|
||||
var models = [];
|
||||
for (var P in _models) {
|
||||
models = models.concat(_models[P]["models"]);
|
||||
}
|
||||
$("#model")[0].options.length = 0;
|
||||
for (var i = 0; i < models.length; i++) {
|
||||
var model = models[i];
|
||||
@ -79,7 +86,13 @@
|
||||
}
|
||||
function changeModel() {
|
||||
model = $("#model").val();
|
||||
var versions = Object.keys(_models[model]["productvers"]).reverse();
|
||||
var versions = [];
|
||||
for (var P in _models) {
|
||||
if (_models[P]["models"].includes(model)) {
|
||||
versions = Object.keys(_models[P]["productvers"]).reverse();
|
||||
break;
|
||||
}
|
||||
}
|
||||
$("#version")[0].options.length = 0;
|
||||
for (var i = 0; i < versions.length; i++) {
|
||||
var version = versions[i];
|
||||
@ -102,7 +115,7 @@
|
||||
}
|
||||
function createAddonsBtn() {
|
||||
var language = $("#language").val();
|
||||
var extstr = $('#addons').val().split(",");
|
||||
var extstr = $('#addons').val().split(",");
|
||||
var idx = 1;
|
||||
var html = `<div class="form-group-body" id="addons_btns">`;
|
||||
for (var ext in _addons) {
|
||||
@ -113,7 +126,7 @@
|
||||
var par = "";
|
||||
if (extstr.includes(ext)) {
|
||||
par = "btn-danger";
|
||||
}
|
||||
}
|
||||
html += `<button type="button" class="btn btn-primary btn-sm mt-2 ${par}" id="btn_${ext}" ${par} ${dispar} onclick="return onclickext('addons', '${ext}')" autofocus="" title="${_addons[ext]["description"][language]}">${ext}</button> `;
|
||||
//if (idx++ % 10 == 0) html += "<br />";
|
||||
}
|
||||
@ -124,7 +137,13 @@
|
||||
function createModulesBtn() {
|
||||
var model = $("#model").val();
|
||||
var version = $("#version").val();
|
||||
var platform = _models[model]["platform"] + "-" + _models[model]["productvers"][version];
|
||||
var platform = "";
|
||||
for (var P in _models) {
|
||||
if (_models[P]["models"].includes(model)) {
|
||||
platform = P + "-" + _models[P]["productvers"][version];
|
||||
break;
|
||||
}
|
||||
}
|
||||
var extstr = [];
|
||||
var idx = 1;
|
||||
var html = `<div class="form-group-body" id="modules_btns">`;
|
||||
@ -287,8 +306,8 @@
|
||||
<label class="color-fg-default text-mono f6">Addons:</label>
|
||||
</div>
|
||||
<div class="form-group-body">
|
||||
<textarea class="textarea-style input-contrast input-sm" type="text" id="addons"
|
||||
name="inputs[addons]" disabled></textarea>
|
||||
<textarea class="textarea-style input-contrast input-sm" type="text" id="addons" name="inputs[addons]"
|
||||
disabled></textarea>
|
||||
<div class="form-group-body" id="addons_btns">
|
||||
</div>
|
||||
</div>
|
||||
@ -298,8 +317,8 @@
|
||||
<label class="color-fg-default text-mono f6">Modules:</label>
|
||||
</div>
|
||||
<div class="form-group-body">
|
||||
<textarea class="textarea-style input-contrast input-sm" type="text" id="modules"
|
||||
name="inputs[modules]" disabled></textarea>
|
||||
<textarea class="textarea-style input-contrast input-sm" type="text" id="modules" name="inputs[modules]"
|
||||
disabled></textarea>
|
||||
<div class="form-group-body" id="modules_btns">
|
||||
</div>
|
||||
</div>
|
||||
|
@ -17,7 +17,7 @@ BUS=$(getBus "${LOADER_DISK}")
|
||||
# Print text centralized
|
||||
clear
|
||||
[ -z "${COLUMNS}" ] && COLUMNS=50
|
||||
TITLE="$(printf "$(TEXT "Welcome to %s")" "${RR_TITLE}")"
|
||||
TITLE="$(printf "$(TEXT "Welcome to %s")" "$([ -z "${RR_RELEASE}" ] && echo "${RR_TITLE}" || echo "${RR_TITLE}(${RR_RELEASE})")")"
|
||||
printf "\033[1;44m%*s\n" ${COLUMNS} ""
|
||||
printf "\033[1;44m%*s\033[A\n" ${COLUMNS} ""
|
||||
printf "\033[1;32m%*s\033[0m\n" $(((${#TITLE} + ${COLUMNS}) / 2)) "${TITLE}"
|
||||
@ -51,7 +51,9 @@ fi
|
||||
[ -f ${PART1_PATH}/.build ] && rm -f ${PART1_PATH}/.build
|
||||
|
||||
# Load necessary variables
|
||||
PLATFORM="$(readConfigKey "platform" "${USER_CONFIG_FILE}")"
|
||||
MODEL="$(readConfigKey "model" "${USER_CONFIG_FILE}")"
|
||||
MODELID="$(readConfigKey "modelid" "${USER_CONFIG_FILE}")"
|
||||
PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")"
|
||||
BUILDNUM="$(readConfigKey "buildnum" "${USER_CONFIG_FILE}")"
|
||||
SMALLNUM="$(readConfigKey "smallnum" "${USER_CONFIG_FILE}")"
|
||||
@ -70,11 +72,6 @@ echo -e "$(TEXT "DMI: ") \033[1;36m${DMI}\033[0m"
|
||||
echo -e "$(TEXT "CPU: ") \033[1;36m${CPU}\033[0m"
|
||||
echo -e "$(TEXT "MEM: ") \033[1;36m${MEM}\033[0m"
|
||||
|
||||
if [ ! -f "${WORK_PATH}/model-configs/${MODEL}.yml" ] || [ -z "$(readModelKey ${MODEL} "productvers.[${PRODUCTVER}]")" ]; then
|
||||
echo -e "\033[1;33m*** $(printf "$(TEXT "The current version of bootloader does not support booting %s-%s, please upgrade and rebuild.")" "${MODEL}" "${PRODUCTVER}") ***\033[0m"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! readConfigMap "addons" "${USER_CONFIG_FILE}" | grep -q nvmesystem; then
|
||||
HASATA=0
|
||||
for D in $(lsblk -dpno NAME); do
|
||||
@ -98,12 +95,9 @@ EMMCBOOT="$(readConfigKey "emmcboot" "${USER_CONFIG_FILE}")"
|
||||
declare -A CMDLINE
|
||||
|
||||
# Automatic values
|
||||
MODELID="$(readModelKey ${MODEL} "id")"
|
||||
CMDLINE['syno_hw_version']="${MODELID:-${MODEL}}"
|
||||
[ -z "${VID}" ] && VID="0x46f4" # Sanity check
|
||||
[ -z "${PID}" ] && PID="0x0001" # Sanity check
|
||||
CMDLINE['vid']="${VID}"
|
||||
CMDLINE['pid']="${PID}"
|
||||
CMDLINE['vid']="${VID:-"0x46f4"}" # Sanity check
|
||||
CMDLINE['pid']="${PID:-"0x0001"}" # Sanity check
|
||||
CMDLINE['sn']="${SN}"
|
||||
|
||||
CMDLINE['netif_num']="0"
|
||||
@ -124,14 +118,28 @@ if [ ${EFI} -eq 1 ]; then
|
||||
else
|
||||
CMDLINE['noefi']=""
|
||||
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:-0} * ${SS:-0} / 1024 / 1024 + 10))
|
||||
# Read SATADoM type
|
||||
DOM="$(readModelKey "${MODEL}" "dom")"
|
||||
CMDLINE['synoboot_satadom']="${DOM}"
|
||||
CMDLINE['dom_szmax']="${SIZE}"
|
||||
DT="$(readConfigKey "platforms.${PLATFORM}.dt" "${WORK_PATH}/platforms.yml")"
|
||||
KVER=$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kver" "${WORK_PATH}/platforms.yml")
|
||||
KPRE=$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kpre" "${WORK_PATH}/platforms.yml")
|
||||
if [ $(echo "${KVER:-4}" | cut -d'.' -f1) -lt 5 ]; then
|
||||
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:-0} * ${SS:-0} / 1024 / 1024 + 10))
|
||||
# Read SATADoM type
|
||||
SATADOM="$(readConfigKey "satadom" "${USER_CONFIG_FILE}")"
|
||||
CMDLINE['synoboot_satadom']="${SATADOM:-2}"
|
||||
CMDLINE['dom_szmax']="${SIZE}"
|
||||
fi
|
||||
CMDLINE["elevator"]="elevator"
|
||||
fi
|
||||
if [ "${DT}" = "true" ]; then
|
||||
CMDLINE["syno_ttyS0"]="serial,0x3f8"
|
||||
CMDLINE["syno_ttyS1"]="serial,0x2f8"
|
||||
else
|
||||
CMDLINE["SMBusHddDynamicPower"]="1"
|
||||
CMDLINE["syno_hdd_detect"]="0"
|
||||
CMDLINE["syno_hdd_powerup_seq"]="0"
|
||||
fi
|
||||
CMDLINE['panic']="${KERNELPANIC:-0}"
|
||||
CMDLINE['console']="ttyS0,115200n8"
|
||||
@ -143,21 +151,24 @@ CMDLINE['root']="/dev/md0"
|
||||
CMDLINE['skip_vender_mac_interfaces']="0,1,2,3,4,5,6,7"
|
||||
CMDLINE['loglevel']="15"
|
||||
CMDLINE['log_buf_len']="32M"
|
||||
CMDLINE["HddHotplug"]="1"
|
||||
CMDLINE["vender_format_version"]="2"
|
||||
|
||||
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
|
||||
if [ "${DT}" = "true" ] && ! echo "epyc7002 purley broadwellnkv2" | grep -wq "${PLATFORM}"; then
|
||||
[ ! "${CMDLINE['modprobe.blacklist']}" = "" ] && CMDLINE['modprobe.blacklist']+=","
|
||||
CMDLINE['modprobe.blacklist']+="mpt3sas"
|
||||
fi
|
||||
if echo "epyc7002 apollolake geminilake" | 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 KEY VALUE; do
|
||||
[ -n "${KEY}" ] && CMDLINE["${KEY}"]="${VALUE}"
|
||||
done <<<$(readModelMap "${MODEL}" "productvers.[${PRODUCTVER}].cmdline")
|
||||
while IFS=': ' read KEY VALUE; do
|
||||
[ -n "${KEY}" ] && CMDLINE["${KEY}"]="${VALUE}"
|
||||
done <<<$(readConfigMap "cmdline" "${USER_CONFIG_FILE}")
|
||||
@ -270,7 +281,6 @@ else
|
||||
|
||||
# Executes DSM kernel via KEXEC
|
||||
KEXECARGS=""
|
||||
KVER=$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kver")
|
||||
if [ $(echo "${KVER:-4}" | cut -d'.' -f1) -lt 4 ] && [ ${EFI} -eq 1 ]; then
|
||||
echo -e "\033[1;33m$(TEXT "Warning, running kexec with --noefi param, strange things will happen!!")\033[0m"
|
||||
KEXECARGS="--noefi"
|
||||
|
@ -1,4 +1,5 @@
|
||||
RR_VERSION="24.5.1"
|
||||
RR_RELEASE=""
|
||||
RR_TITLE="RR v${RR_VERSION}"
|
||||
|
||||
# Define paths
|
||||
@ -30,4 +31,4 @@ LKMS_PATH="${PART3_PATH}/lkms"
|
||||
ADDONS_PATH="${PART3_PATH}/addons"
|
||||
MODULES_PATH="${PART3_PATH}/modules"
|
||||
USER_UP_PATH="${PART3_PATH}/users"
|
||||
SCRIPTS_PATH="${PART3_PATH}/scripts"
|
||||
SCRIPTS_PATH="${PART3_PATH}/scripts"
|
||||
|
@ -10,6 +10,7 @@ import os, click
|
||||
|
||||
WORK_PATH = os.path.abspath(os.path.dirname(__file__))
|
||||
|
||||
|
||||
@click.group()
|
||||
def cli():
|
||||
"""
|
||||
@ -17,23 +18,26 @@ def cli():
|
||||
"""
|
||||
pass
|
||||
|
||||
|
||||
def mutually_exclusive_options(ctx, param, value):
|
||||
other_option = 'file' if param.name == 'data' else 'data'
|
||||
other_option = "file" if param.name == "data" else "data"
|
||||
if value is not None and ctx.params.get(other_option) is not None:
|
||||
raise click.UsageError(f'Illegal usage: `{param.name}` is mutually exclusive with `{other_option}`.')
|
||||
raise click.UsageError(f"Illegal usage: `{param.name}` is mutually exclusive with `{other_option}`.")
|
||||
return value
|
||||
|
||||
|
||||
def validate_required_param(ctx, param, value):
|
||||
if not value and 'file' not in ctx.params and 'data' not in ctx.params:
|
||||
if not value and "file" not in ctx.params and "data" not in ctx.params:
|
||||
raise click.MissingParameter(param_decls=[param.name])
|
||||
return value
|
||||
|
||||
|
||||
@cli.command()
|
||||
@click.option('-d', "--data", type=str, callback=mutually_exclusive_options, is_eager=True, help="The data of QRCode.")
|
||||
@click.option('-f', "--file", type=str, callback=mutually_exclusive_options, is_eager=True, help="The file of QRCode.")
|
||||
@click.option('--validate', is_flag=True, callback=validate_required_param, expose_value=False, is_eager=True)
|
||||
@click.option('-l', "--location", type=click.IntRange(0, 7), required=True, help="The location of QRCode. (range 0<=x<=7)")
|
||||
@click.option('-o', "--output", type=str, required=True, help="The output file of QRCode.")
|
||||
@click.option("-d", "--data", type=str, callback=mutually_exclusive_options, is_eager=True, help="The data of QRCode.")
|
||||
@click.option("-f", "--file", type=str, callback=mutually_exclusive_options, is_eager=True, help="The file of QRCode.")
|
||||
@click.option("--validate", is_flag=True, callback=validate_required_param, expose_value=False, is_eager=True)
|
||||
@click.option("-l", "--location", type=click.IntRange(0, 7), required=True, help="The location of QRCode. (range 0<=x<=7)")
|
||||
@click.option("-o", "--output", type=str, required=True, help="The output file of QRCode.")
|
||||
def makeqr(data, file, location, output):
|
||||
"""
|
||||
Generate a QRCode.
|
||||
@ -47,7 +51,7 @@ def makeqr(data, file, location, output):
|
||||
FBIOGET_FSCREENINFO = 0x4602
|
||||
FBDEV = "/dev/fb0"
|
||||
if data is not None:
|
||||
qr = qrcode.QRCode(version=1, box_size=10, error_correction=qrcode.constants.ERROR_CORRECT_H, border=4)
|
||||
qr = qrcode.QRCode(version=1, box_size=10, error_correction=qrcode.constants.ERROR_CORRECT_H, border=4,)
|
||||
qr.add_data(data)
|
||||
qr.make(fit=True)
|
||||
img = qr.make_image(fill_color="purple", back_color="white")
|
||||
@ -57,12 +61,12 @@ def makeqr(data, file, location, output):
|
||||
for j in range(img.size[1]):
|
||||
if pixels[i, j] == (255, 255, 255, 255):
|
||||
pixels[i, j] = (255, 255, 255, 0)
|
||||
|
||||
|
||||
if os.path.exists(os.path.join(WORK_PATH, "logo.png")):
|
||||
icon = Image.open(os.path.join(WORK_PATH, "logo.png"))
|
||||
icon = icon.convert("RGBA")
|
||||
img.paste(icon.resize((int(img.size[0] / 5), int(img.size[1] / 5))), (int((img.size[0] - int(img.size[0] / 5)) / 2), int((img.size[1] - int(img.size[1] / 5)) / 2)))
|
||||
|
||||
img.paste(icon.resize((int(img.size[0] / 5), int(img.size[1] / 5))), (int((img.size[0] - int(img.size[0] / 5)) / 2), int((img.size[1] - int(img.size[1] / 5)) / 2),),)
|
||||
|
||||
if file is not None:
|
||||
img = Image.open(file)
|
||||
# img = img.convert("RGBA")
|
||||
@ -73,21 +77,56 @@ def makeqr(data, file, location, output):
|
||||
# pixels[i, j] = (255, 255, 255, 0)
|
||||
|
||||
(xres, yres) = (1920, 1080)
|
||||
with open(FBDEV, 'rb')as fb:
|
||||
with open(FBDEV, "rb") as fb:
|
||||
vi = fcntl.ioctl(fb, FBIOGET_VSCREENINFO, bytes(160))
|
||||
res = struct.unpack('I'*40, vi)
|
||||
res = struct.unpack("I" * 40, vi)
|
||||
if res[0] != 0 and res[1] != 0:
|
||||
(xres, yres) = (res[0], res[1])
|
||||
(xres, yres) = (res[0], res[1])
|
||||
xqr, yqr = (int(xres / 8), int(xres / 8))
|
||||
img = img.resize((xqr, yqr))
|
||||
|
||||
alpha = Image.new("RGBA", (xres, yres), (0, 0, 0, 0))
|
||||
if int(location) not in range(0, 8):
|
||||
location = 0
|
||||
location = 0
|
||||
loc = (img.size[0] * int(location), alpha.size[1] - img.size[1])
|
||||
alpha.paste(img, loc)
|
||||
alpha.save(output)
|
||||
|
||||
|
||||
@cli.command()
|
||||
@click.option("-p", "--platforms", type=str, help="The platforms of Syno.")
|
||||
def getmodels(platforms=None):
|
||||
"""
|
||||
Get Syno Models.
|
||||
"""
|
||||
import re, json
|
||||
import requests
|
||||
|
||||
if platforms is not None and platforms != "":
|
||||
PS = platforms.lower().replace(",", " ").split()
|
||||
else:
|
||||
PS = []
|
||||
|
||||
models = []
|
||||
req = requests.get("https://autoupdate.synology.com/os/v2")
|
||||
req.encoding = "utf-8"
|
||||
data = json.loads(req.text)
|
||||
|
||||
for I in data["channel"]["item"]:
|
||||
if not I["title"].startswith("DSM"):
|
||||
continue
|
||||
for J in I["model"]:
|
||||
arch = J["mUnique"].split("_")[1]
|
||||
name = J["mLink"].split("/")[-1].split("_")[1].replace("%2B", "+")
|
||||
if len(PS) > 0 and arch.lower() not in PS:
|
||||
continue
|
||||
if any(name == B["name"] for B in models):
|
||||
continue
|
||||
models.append({"name": name, "arch": arch})
|
||||
|
||||
models = sorted(models, key=lambda k: (k["arch"], k["name"]))
|
||||
print(json.dumps(models, indent=4))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
cli()
|
||||
|
@ -4,33 +4,6 @@
|
||||
. ${WORK_PATH}/include/configFile.sh
|
||||
. ${WORK_PATH}/include/i18n.sh
|
||||
|
||||
###############################################################################
|
||||
# Read key value from model config file
|
||||
# 1 - Model
|
||||
# 2 - Key
|
||||
# Return Value
|
||||
function readModelKey() {
|
||||
readConfigKey "${2}" "${WORK_PATH}/model-configs/${1}.yml" 2>/dev/null
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Read Entries as map(key=value) from model config
|
||||
# 1 - Model
|
||||
# 2 - Path of key
|
||||
# Returns map of values
|
||||
function readModelMap() {
|
||||
readConfigMap "${2}" "${WORK_PATH}/model-configs/${1}.yml" 2>/dev/null
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Read an array from model config
|
||||
# 1 - Model
|
||||
# 2 - Path of key
|
||||
# Returns array/map of values
|
||||
function readModelArray() {
|
||||
readConfigArray "${2}" "${WORK_PATH}/model-configs/${1}.yml" 2>/dev/null
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Check if loader is fully configured
|
||||
# Returns 1 if not
|
||||
@ -59,94 +32,6 @@ function dieLog() {
|
||||
exit 1
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Generate a number with 6 digits from 1 to 30000
|
||||
function random() {
|
||||
printf "%06d" $((${RANDOM} % 30000 + 1))
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Generate a hexa number from 0x00 to 0xFF
|
||||
function randomhex() {
|
||||
printf "&02X" "$((${RANDOM} % 255 + 1))"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Generate a random letter
|
||||
function generateRandomLetter() {
|
||||
for i in A B C D E F G H J K L M N P Q R S T V W X Y Z; do
|
||||
echo ${i}
|
||||
done | sort -R | tail -1
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Generate a random digit (0-9A-Z)
|
||||
function generateRandomValue() {
|
||||
for i in 0 1 2 3 4 5 6 7 8 9 A B C D E F G H J K L M N P Q R S T V W X Y Z; do
|
||||
echo ${i}
|
||||
done | sort -R | tail -1
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Generate a random serial number for a model
|
||||
# 1 - Model
|
||||
# Returns serial number
|
||||
function generateSerial() {
|
||||
SERIAL="$(readModelArray "${1}" "serial.prefix" | sort -R | tail -1)"
|
||||
SERIAL+=$(readModelKey "${1}" "serial.middle")
|
||||
case "$(readModelKey "${1}" "serial.suffix")" in
|
||||
numeric)
|
||||
SERIAL+=$(random)
|
||||
;;
|
||||
alpha)
|
||||
SERIAL+=$(generateRandomLetter)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomValue)$(generateRandomLetter)
|
||||
;;
|
||||
esac
|
||||
echo ${SERIAL}
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Generate a MAC address for a model
|
||||
# 1 - Model
|
||||
# 2 - number
|
||||
# Returns serial number
|
||||
function generateMacAddress() {
|
||||
PRE="$(readModelArray "${1}" "serial.macpre")"
|
||||
SUF="$(printf '%02x%02x%02x' $((${RANDOM} % 256)) $((${RANDOM} % 256)) $((${RANDOM} % 256)))"
|
||||
NUM=${2:-1}
|
||||
MACS=""
|
||||
for I in $(seq 1 ${NUM}); do
|
||||
MACS+="$(printf '%06x%06x' $((0x${PRE:-"001132"})) $(($((0x${SUF})) + ${I})))"
|
||||
[ ${I} -lt ${NUM} ] && MACS+=" "
|
||||
done
|
||||
echo "${MACS}"
|
||||
return 0
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Validate a serial number for a model
|
||||
# 1 - Model
|
||||
# 2 - Serial number to test
|
||||
# Returns 1 if serial number is valid
|
||||
function validateSerial() {
|
||||
PREFIX=$(readModelArray "${1}" "serial.prefix")
|
||||
MIDDLE=$(readModelKey "${1}" "serial.middle")
|
||||
S=${2:0:4}
|
||||
P=${2:4:3}
|
||||
L=${#2}
|
||||
if [ ${L} -ne 13 ]; then
|
||||
return 0
|
||||
fi
|
||||
echo "${PREFIX}" | grep -q "${S}"
|
||||
if [ $? -eq 1 ]; then
|
||||
return 0
|
||||
fi
|
||||
if [ "${MIDDLE}" != "${P}" ]; then
|
||||
return 0
|
||||
fi
|
||||
return 1
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Check if a item exists into array
|
||||
# 1 - Item
|
||||
@ -164,6 +49,110 @@ function arrayExistItem() {
|
||||
return ${EXISTS}
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Generate a number with 6 digits from 1 to 30000
|
||||
function random() {
|
||||
printf "%06d" $((${RANDOM} % 30000 + 1))
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Generate a hexa number from 0x00 to 0xFF
|
||||
function randomhex() {
|
||||
printf "&02X" "$((${RANDOM} % 255 + 1))"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Generate a random letter
|
||||
function genRandomLetter() {
|
||||
for i in A B C D E F G H J K L M N P Q R S T V W X Y Z; do
|
||||
echo ${i}
|
||||
done | sort -R | tail -1
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Generate a random digit (0-9A-Z)
|
||||
function genRandomValue() {
|
||||
for i in 0 1 2 3 4 5 6 7 8 9 A B C D E F G H J K L M N P Q R S T V W X Y Z; do
|
||||
echo ${i}
|
||||
done | sort -R | tail -1
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Generate a random serial number for a model
|
||||
# 1 - Model
|
||||
# Returns serial number
|
||||
function generateSerial() {
|
||||
PREFIX="$(readConfigArray "${1}.prefix" "${WORK_PATH}/serialnumber.yml" 2>/dev/null | sort -R | tail -1)"
|
||||
MIDDLE="$(readConfigArray "${1}.middle" "${WORK_PATH}/serialnumber.yml" 2>/dev/null | sort -R | tail -1)"
|
||||
SUFFIX="$(readConfigKey "${1}.suffix" "${WORK_PATH}/serialnumber.yml" 2>/dev/null)"
|
||||
|
||||
SERIAL="${PREFIX:-"0000"}${MIDDLE:-"XXX"}"
|
||||
case "${SUFFIX:-"alpha"}" in
|
||||
numeric)
|
||||
SERIAL+="$(random)"
|
||||
;;
|
||||
alpha)
|
||||
SERIAL+="$(genRandomLetter)$(genRandomValue)$(genRandomValue)$(genRandomValue)$(genRandomValue)$(genRandomLetter)"
|
||||
;;
|
||||
esac
|
||||
echo "${SERIAL}"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Generate a MAC address for a model
|
||||
# 1 - Model
|
||||
# 2 - number
|
||||
# Returns serial number
|
||||
function generateMacAddress() {
|
||||
MACPRE="$(readConfigArray "${1}.macpre" "${WORK_PATH}/serialnumber.yml" 2>/dev/null)"
|
||||
MACSUF="$(printf '%02x%02x%02x' $((${RANDOM} % 256)) $((${RANDOM} % 256)) $((${RANDOM} % 256)))"
|
||||
NUM=${2:-1}
|
||||
MACS=""
|
||||
for I in $(seq 1 ${NUM}); do
|
||||
MACS+="$(printf '%06x%06x' $((0x${MACPRE:-"001132"})) $(($((0x${MACSUF})) + ${I})))"
|
||||
[ ${I} -lt ${NUM} ] && MACS+=" "
|
||||
done
|
||||
echo "${MACS}"
|
||||
return 0
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Validate a serial number for a model
|
||||
# 1 - Model
|
||||
# 2 - Serial number to test
|
||||
# Returns 1 if serial number is invalid
|
||||
function validateSerial() {
|
||||
PREFIX="$(readConfigArray "${1}.prefix" "${WORK_PATH}/serialnumber.yml" 2>/dev/null)"
|
||||
MIDDLE="$(readConfigArray "${1}.middle" "${WORK_PATH}/serialnumber.yml" 2>/dev/null)"
|
||||
SUFFIX="$(readConfigKey "${1}.suffix" "${WORK_PATH}/serialnumber.yml" 2>/dev/null)"
|
||||
P=${2:0:4}
|
||||
M=${2:4:3}
|
||||
S=${2:7}
|
||||
L=${#2}
|
||||
if [ ${L} -ne 13 ]; then
|
||||
return 1
|
||||
fi
|
||||
if ! arrayExistItem ${P} ${PREFIX}; then
|
||||
return 1
|
||||
fi
|
||||
if ! arrayExistItem ${M} ${MIDDLE}; then
|
||||
return 1
|
||||
fi
|
||||
case "${SUFFIX:-"alpha"}" in
|
||||
numeric)
|
||||
if ! echo "${S}" | grep -q "^[0-9]\{6\}$"; then
|
||||
return 1
|
||||
fi
|
||||
;;
|
||||
alpha)
|
||||
if ! echo "${S}" | grep -q "^[A-Z][0-9][0-9][0-9][0-9][A-Z]$"; then
|
||||
return 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
return 0
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Get values in .conf K=V file
|
||||
# 1 - key
|
||||
@ -381,4 +370,27 @@ function findDSMRoot() {
|
||||
[ -z "${DSMROOTS}" ] && DSMROOTS="$(lsblk -pno KNAME,PARTN,FSTYPE,FSVER,LABEL | grep -E "sd[a-z]{1,2}1" | grep -w "linux_raid_member" | grep "0.9" | awk '{print $1}')"
|
||||
echo "${DSMROOTS}"
|
||||
return 0
|
||||
}
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Copy DSM files to the boot partition
|
||||
# 1 - DSM root path
|
||||
function copyDSMFiles() {
|
||||
if [ -f "${1}/VERSION" ] && [ -f "${1}/grub_cksum.syno" ] && [ -f "${1}/GRUB_VER" ] && [ -f "${1}/zImage" ] && [ -f "${1}/rd.gz" ]; then
|
||||
# Remove old model files
|
||||
rm -f "${PART1_PATH}/grub_cksum.syno" "${PART1_PATH}/GRUB_VER" "${PART2_PATH}/grub_cksum.syno" "${PART2_PATH}/GRUB_VER"
|
||||
rm -f "${ORI_ZIMAGE_FILE}" "${ORI_RDGZ_FILE}"
|
||||
# Remove old build files
|
||||
rm -f "${MOD_ZIMAGE_FILE}" "${MOD_RDGZ_FILE}" >/dev/null
|
||||
# Copy new model files
|
||||
cp -f "${1}/grub_cksum.syno" "${PART1_PATH}"
|
||||
cp -f "${1}/GRUB_VER" "${PART1_PATH}"
|
||||
cp -f "${1}/grub_cksum.syno" "${PART2_PATH}"
|
||||
cp -f "${1}/GRUB_VER" "${PART2_PATH}"
|
||||
cp -f "${1}/zImage" "${ORI_ZIMAGE_FILE}"
|
||||
cp -f "${1}/rd.gz" "${ORI_RDGZ_FILE}"
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ set -e
|
||||
# Shows title
|
||||
clear
|
||||
[ -z "${COLUMNS}" ] && COLUMNS=50
|
||||
TITLE="$(printf "$(TEXT "Welcome to %s")" "${RR_TITLE}")"
|
||||
TITLE="$(printf "$(TEXT "Welcome to %s")" "$([ -z "${RR_RELEASE}" ] && echo "${RR_TITLE}" || echo "${RR_TITLE}(${RR_RELEASE})")")"
|
||||
printf "\033[1;44m%*s\n" ${COLUMNS} ""
|
||||
printf "\033[1;44m%*s\033[A\n" ${COLUMNS} ""
|
||||
printf "\033[1;32m%*s\033[0m\n" $(((${#TITLE} + ${COLUMNS}) / 2)) "${TITLE}"
|
||||
@ -28,6 +28,8 @@ if [ ! -f "${USER_CONFIG_FILE}" ]; then
|
||||
fi
|
||||
|
||||
initConfigKey "kernel" "official" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "rd-compressed" "false" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "satadom" "2" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "lkm" "prod" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "dsmlogo" "true" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "directboot" "false" "${USER_CONFIG_FILE}"
|
||||
@ -39,7 +41,9 @@ initConfigKey "kernelpanic" "5" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "odp" "false" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "hddsort" "false" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "emmcboot" "false" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "platform" "" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "model" "" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "modelid" "" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "productver" "" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "buildnum" "" "${USER_CONFIG_FILE}"
|
||||
initConfigKey "smallnum" "" "${USER_CONFIG_FILE}"
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -24,13 +24,17 @@ IP="$(getIP)"
|
||||
# Debug flag
|
||||
# DEBUG=""
|
||||
|
||||
PLATFORM="$(readConfigKey "platform" "${USER_CONFIG_FILE}")"
|
||||
MODEL="$(readConfigKey "model" "${USER_CONFIG_FILE}")"
|
||||
MODELID="$(readConfigKey "modelid" "${USER_CONFIG_FILE}")"
|
||||
PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")"
|
||||
BUILDNUM="$(readConfigKey "buildnum" "${USER_CONFIG_FILE}")"
|
||||
SMALLNUM="$(readConfigKey "smallnum" "${USER_CONFIG_FILE}")"
|
||||
LAYOUT="$(readConfigKey "layout" "${USER_CONFIG_FILE}")"
|
||||
KEYMAP="$(readConfigKey "keymap" "${USER_CONFIG_FILE}")"
|
||||
KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||
RD_COMPRESSED="$(readConfigKey "rd-compressed" "${USER_CONFIG_FILE}")"
|
||||
SATADOM="$(readConfigKey "satadom" "${USER_CONFIG_FILE}")"
|
||||
LKM="$(readConfigKey "lkm" "${USER_CONFIG_FILE}")"
|
||||
DSMLOGO="$(readConfigKey "dsmlogo" "${USER_CONFIG_FILE}")"
|
||||
DIRECTBOOT="$(readConfigKey "directboot" "${USER_CONFIG_FILE}")"
|
||||
@ -59,9 +63,9 @@ function backtitle() {
|
||||
if [ "LOCALBUILD" = "${LOADER_DISK}" ]; then
|
||||
BACKTITLE="LOCAL "
|
||||
fi
|
||||
BACKTITLE+="${RR_TITLE}"
|
||||
BACKTITLE+="$([ -z "${RR_RELEASE}" ] && echo "${RR_TITLE}" || echo "${RR_TITLE}(${RR_RELEASE})")"
|
||||
if [ -n "${MODEL}" ]; then
|
||||
BACKTITLE+=" ${MODEL}"
|
||||
BACKTITLE+=" ${MODEL}(${PLATFORM})"
|
||||
else
|
||||
BACKTITLE+=" (no model)"
|
||||
fi
|
||||
@ -102,113 +106,71 @@ function backtitle() {
|
||||
# Shows available models to user choose one
|
||||
function modelMenu() {
|
||||
if [ -z "${1}" ]; then
|
||||
RESTRICT=1
|
||||
FLGBETA=0
|
||||
DIALOG --title "$(TEXT "Model")" \
|
||||
--infobox "$(TEXT "Reading models")" 0 0
|
||||
echo -n "" >"${TMP_PATH}/modellist"
|
||||
while read M; do
|
||||
Y=$(echo ${M} | tr -cd "[0-9]")
|
||||
Y=${Y:0-2}
|
||||
echo "${M} ${Y}" >>"${TMP_PATH}/modellist"
|
||||
done <<<$(find "${WORK_PATH}/model-configs" -maxdepth 1 -name \*.yml 2>/dev/null | sed 's/.*\///; s/\.yml//')
|
||||
--infobox "$(TEXT "Getting models ...")" 0 0
|
||||
fi
|
||||
PS="$(readConfigEntriesArray "platforms" "${WORK_PATH}/platforms.yml" | sort)"
|
||||
MJ="$(python include/functions.py getmodels -p "${PS[*]}")"
|
||||
if [ -z "${MJ}" -o "${MJ}" = "[]" ]; then
|
||||
DIALOG --title "$(TEXT "Model")" \
|
||||
--msgbox "$(TEXT "Failed to get models, please try again!")" 0 0
|
||||
return 1
|
||||
fi
|
||||
echo -n "" >"${TMP_PATH}/modellist"
|
||||
echo "${MJ}" | jq -c '.[]' | while read -r item; do
|
||||
name=$(echo "$item" | jq -r '.name')
|
||||
arch=$(echo "$item" | jq -r '.arch')
|
||||
echo "${name} ${arch}" >>"${TMP_PATH}/modellist"
|
||||
done
|
||||
|
||||
if [ -z "${1}" ]; then
|
||||
RESTRICT=1
|
||||
while true; do
|
||||
echo -n "" >"${TMP_PATH}/menu"
|
||||
echo "c \"\Z1$(TEXT "Compatibility judgment")\Zn\"" >>"${TMP_PATH}/menu"
|
||||
FLGNEX=0
|
||||
while read M; do
|
||||
PLATFORM=$(readModelKey "${M}" "platform")
|
||||
DT="$(readModelKey "${M}" "dt")"
|
||||
BETA="$(readModelKey "${M}" "beta")"
|
||||
[ "${BETA}" = "true" -a ${FLGBETA} -eq 0 ] && continue
|
||||
# Check id model is compatible with CPU
|
||||
while read M A; do
|
||||
COMPATIBLE=1
|
||||
if [ ${RESTRICT} -eq 1 ]; then
|
||||
for F in $(readModelArray "${M}" "flags"); do
|
||||
if ! grep -q "^flags.*${F}.*" /proc/cpuinfo; then
|
||||
COMPATIBLE=0
|
||||
FLGNEX=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
DT="$(readConfigKey "platforms.${A}.dt" "${WORK_PATH}/platforms.yml")"
|
||||
FLAGS="$(readConfigArray "platforms.${A}.flags" "${WORK_PATH}/platforms.yml")"
|
||||
for F in "${FLAGS}"; do if ! grep -q "^flags.*${F}.*" /proc/cpuinfo; then
|
||||
COMPATIBLE=0
|
||||
FLGNEX=1
|
||||
break
|
||||
fi; done
|
||||
[ "${DT}" = "true" ] && DT="DT" || DT=""
|
||||
[ ${COMPATIBLE} -eq 1 ] && echo "${M} \"$(printf "\Zb%-15s %-2s\Zn" "${PLATFORM}" "${DT}")\" " >>"${TMP_PATH}/menu"
|
||||
done <<<$(cat "${TMP_PATH}/modellist" | sort -r -n -k 2 | awk '{print $1}')
|
||||
[ ${COMPATIBLE} -eq 1 ] && echo "${M} \"$(printf "\Zb%-15s %-2s\Zn" "${A}" "${DT}")\" " >>"${TMP_PATH}/menu"
|
||||
done <<<$(cat "${TMP_PATH}/modellist")
|
||||
[ ${FLGNEX} -eq 1 ] && echo "f \"\Z1$(TEXT "Disable flags restriction")\Zn\"" >>"${TMP_PATH}/menu"
|
||||
[ ${FLGBETA} -eq 0 ] && echo "b \"\Z1$(TEXT "Show all models")\Zn\"" >>"${TMP_PATH}/menu"
|
||||
DIALOG --title "$(TEXT "Model")" \
|
||||
--menu "$(TEXT "Choose the model")" 0 0 0 --file "${TMP_PATH}/menu" \
|
||||
2>${TMP_PATH}/resp
|
||||
[ $? -ne 0 ] && return 0
|
||||
resp=$(cat ${TMP_PATH}/resp)
|
||||
[ -z "${resp}" ] && return 1
|
||||
if [ "${resp}" = "c" ]; then
|
||||
models=(DS918+ RS1619xs+ DS419+ DS1019+ DS719+ DS1621xs+)
|
||||
[ $(lspci -d ::300 2>/dev/null | grep 8086 | wc -l) -gt 0 ] && iGPU=1 || iGPU=0
|
||||
[ $(lspci -d ::104 2>/dev/null | wc -l) -gt 0 -o $(lspci -d ::107 2>/dev/null | wc -l) -gt 0 ] && LSI=1 || LSI=0
|
||||
[ $(lspci -d ::108 2>/dev/null | wc -l) -gt 0 ] && NVME=1 || NVME=0
|
||||
if [ "${NVME}" = "1" ]; then
|
||||
for PCI in $(lspci -d ::108 2>/dev/null | awk '{print $1}'); do
|
||||
if [ ! -d "/sys/devices/pci0000:00/0000:${PCI}/nvme" ]; then
|
||||
NVME=2
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
rm -f "${TMP_PATH}/opts"
|
||||
echo "$(printf "%-16s %8s %8s %8s" "model" "iGPU" "HBA" "M.2")" >>"${TMP_PATH}/opts"
|
||||
while read M; do
|
||||
PLATFORM=$(readModelKey "${M}" "platform")
|
||||
DT="$(readModelKey "${M}" "dt")"
|
||||
I915=" "
|
||||
HBA=" "
|
||||
M_2=" "
|
||||
if [ "${iGPU}" = "1" ]; then
|
||||
[ "${PLATFORM}" = "apollolake" -o "${PLATFORM}" = "geminilake" -o "${PLATFORM}" = "epyc7002" ] && I915="*"
|
||||
fi
|
||||
if [ "${LSI}" = "1" ]; then
|
||||
[ ! "${DT}" = "true" -o "${PLATFORM}" = "epyc7002" ] && HBA="* "
|
||||
fi
|
||||
if [ "${NVME}" = "1" ]; then
|
||||
[ "${DT}" = "true" ] && M_2="* "
|
||||
fi
|
||||
if [ "${NVME}" = "2" ]; then
|
||||
if echo "${models[@]}" | grep -wq "${M}"; then
|
||||
M_2="* "
|
||||
fi
|
||||
fi
|
||||
echo "$(printf "%-16s %8s %8s %8s" "${M}" "${I915}" "${HBA}" "${M_2}")" >>"${TMP_PATH}/opts"
|
||||
done <<<$(cat "${TMP_PATH}/modellist" | sort -r -n -k 2 | awk '{print $1}')
|
||||
DIALOG --title "$(TEXT "Model")" \
|
||||
--textbox "${TMP_PATH}/opts" 0 0
|
||||
continue
|
||||
fi
|
||||
if [ "${resp}" = "f" ]; then
|
||||
RESTRICT=0
|
||||
continue
|
||||
fi
|
||||
if [ "${resp}" = "b" ]; then
|
||||
FLGBETA=1
|
||||
continue
|
||||
fi
|
||||
break
|
||||
done
|
||||
else
|
||||
[ ! -f "${WORK_PATH}/model-configs/${1}.yml" ] && return 1
|
||||
cat "${TMP_PATH}/modellist" | awk '{print $1}' | grep -qw "${1}" || return 1
|
||||
resp="${1}"
|
||||
fi
|
||||
# If user change model, clean build* and pat* and SN
|
||||
if [ "${MODEL}" != "${resp}" ]; then
|
||||
PLATFORM="$(grep -w "${resp}" "${TMP_PATH}/modellist" | awk '{print $2}' | head -n 1)"
|
||||
MODEL=${resp}
|
||||
writeConfigKey "platform" "${PLATFORM}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "model" "${MODEL}" "${USER_CONFIG_FILE}"
|
||||
MODELID=""
|
||||
PRODUCTVER=""
|
||||
BUILDNUM=""
|
||||
SMALLNUM=""
|
||||
writeConfigKey "productver" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "buildnum" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "smallnum" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "modelid" "${MODELID}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "productver" "${PRODUCTVER}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "buildnum" "${BUILDNUM}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "smallnum" "${SMALLNUM}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "paturl" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "patsum" "" "${USER_CONFIG_FILE}"
|
||||
SN=$(generateSerial "${MODEL}")
|
||||
@ -226,13 +188,14 @@ function modelMenu() {
|
||||
rm -f "${PART1_PATH}/grub_cksum.syno" "${PART1_PATH}/GRUB_VER" "${PART2_PATH}/"* >/dev/null 2>&1 || true
|
||||
touch ${PART1_PATH}/.build
|
||||
fi
|
||||
rm -f "${TMP_PATH}/modellist"
|
||||
return 0
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Shows available buildnumbers from a model to user choose one
|
||||
function productversMenu() {
|
||||
ITEMS="$(readConfigEntriesArray "productvers" "${WORK_PATH}/model-configs/${MODEL}.yml" | sort -r)"
|
||||
ITEMS="$(readConfigEntriesArray "platforms.${PLATFORM}.productvers" "${WORK_PATH}/platforms.yml" | sort -r)"
|
||||
if [ -z "${1}" ]; then
|
||||
DIALOG --title "$(TEXT "Product Version")" \
|
||||
--no-items --menu "$(TEXT "Choose a product version")" 0 0 0 ${ITEMS} \
|
||||
@ -247,18 +210,19 @@ function productversMenu() {
|
||||
[ $? -ne 0 ] && return 0
|
||||
fi
|
||||
else
|
||||
if ! arrayExistItem "${1}" ${ITEMS}; then return 1; fi
|
||||
arrayExistItem "${1}" ${ITEMS} || return 1
|
||||
resp="${1}"
|
||||
fi
|
||||
|
||||
local KVER=$(readModelKey "${MODEL}" "productvers.[${resp}].kver")
|
||||
if [ $(echo "${KVER:-4}" | cut -d'.' -f1) -lt 4 ] && [ -d "/sys/firmware/efi" ]; then
|
||||
if [ -z "${1}" ]; then
|
||||
DIALOG --title "$(TEXT "Product Version")" \
|
||||
--msgbox "$(TEXT "This version does not support UEFI startup, Please select another version or switch the startup mode.")" 0 0
|
||||
fi
|
||||
return 1
|
||||
fi
|
||||
selver="${resp}"
|
||||
urlver=""
|
||||
# KVER=$(readConfigKey "platforms.${PLATFORM}.productvers.[${resp}].kver" "${WORK_PATH}/platforms.yml")
|
||||
# if [ $(echo "${KVER:-4}" | cut -d'.' -f1) -lt 4 ] && [ -d "/sys/firmware/efi" ]; then
|
||||
# if [ -z "${1}" ]; then
|
||||
# DIALOG --title "$(TEXT "Product Version")" \
|
||||
# --msgbox "$(TEXT "This version does not support UEFI startup, Please select another version or switch the startup mode.")" 0 0
|
||||
# fi
|
||||
# return 1
|
||||
# fi
|
||||
# if [ ! "usb" = "$(getBus "${LOADER_DISK}")" ] && [ $(echo "${KVER:-4}" | cut -d'.' -f1) -gt 4 ]; then
|
||||
# if [ -z "${1}" ]; then
|
||||
# DIALOG --title "$(TEXT "Product Version")" \
|
||||
@ -286,9 +250,12 @@ function productversMenu() {
|
||||
[ "${fastest}" = "www.synology.cn" ] &&
|
||||
fastest="https://www.synology.cn/api/support/findDownloadInfo?lang=zh-cn" ||
|
||||
fastest="https://www.synology.com/api/support/findDownloadInfo?lang=en-us"
|
||||
patdata=$(curl -skL --connect-timeout 10 "${fastest}&product=${MODEL/+/%2B}&major=${resp%%.*}&minor=${resp##*.}")
|
||||
patdata=$(curl -skL --connect-timeout 10 "${fastest}&product=${MODEL/+/%2B}&major=${selver%%.*}&minor=${selver##*.}")
|
||||
if [ "$(echo ${patdata} | jq -r '.success' 2>/dev/null)" = "true" ]; then
|
||||
if echo ${patdata} | jq -r '.info.system.detail[0].items[0].files[0].label_ext' 2>/dev/null | grep -q 'pat'; then
|
||||
major=$(echo ${patdata} | jq -r '.info.system.detail[0].items[0].major')
|
||||
minor=$(echo ${patdata} | jq -r '.info.system.detail[0].items[0].minor')
|
||||
urlver="${major}.${minor}"
|
||||
paturl=$(echo ${patdata} | jq -r '.info.system.detail[0].items[0].files[0].url')
|
||||
patsum=$(echo ${patdata} | jq -r '.info.system.detail[0].items[0].files[0].checksum')
|
||||
paturl=${paturl%%\?*}
|
||||
@ -307,7 +274,13 @@ function productversMenu() {
|
||||
paturl=""
|
||||
patsum=""
|
||||
else
|
||||
MSG="$(TEXT "Successfully to get pat data, Please confirm.\nOr modify the URL and md5sum to you need.")"
|
||||
MSG=""
|
||||
MSG+="$(TEXT "Successfully to get pat data.")\n"
|
||||
if [ ! "${selver}" = "${urlver}" ]; then
|
||||
MSG+="$(printf "$(TEXT "Note: There is no version %s and automatically returns to version %s.")" "${selver}" "${urlver}")\n"
|
||||
selver=${urlver}
|
||||
fi
|
||||
MSG+="$(TEXT "Please confirm or modify the URL and md5sum to you need.")"
|
||||
fi
|
||||
if [ -z "${1}" ]; then
|
||||
DIALOG --title "$(TEXT "Product Version")" \
|
||||
@ -332,7 +305,7 @@ function productversMenu() {
|
||||
[ -z "${paturl}" -o -z "${patsum}" ] && return 1
|
||||
writeConfigKey "paturl" "${paturl}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "patsum" "${patsum}" "${USER_CONFIG_FILE}"
|
||||
PRODUCTVER=${resp}
|
||||
PRODUCTVER=${selver}
|
||||
writeConfigKey "productver" "${PRODUCTVER}" "${USER_CONFIG_FILE}"
|
||||
BUILDNUM=""
|
||||
SMALLNUM=""
|
||||
@ -340,17 +313,16 @@ function productversMenu() {
|
||||
writeConfigKey "smallnum" "${SMALLNUM}" "${USER_CONFIG_FILE}"
|
||||
if [ -z "${1}" ]; then
|
||||
DIALOG --title "$(TEXT "Product Version")" \
|
||||
--infobox "$(TEXT "Reconfiguring Synoinfo, Addons and Modules")" 0 0
|
||||
--infobox "$(TEXT "Reconfiguring Synoinfo, Addons and Modules ...")" 0 0
|
||||
fi
|
||||
# Delete synoinfo and reload model/build synoinfo
|
||||
writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}"
|
||||
while IFS=': ' read KEY VALUE; do
|
||||
writeConfigKey "synoinfo.\"${KEY}\"" "${VALUE}" "${USER_CONFIG_FILE}"
|
||||
done <<<$(readModelMap "${MODEL}" "productvers.[${PRODUCTVER}].synoinfo")
|
||||
done <<<$(readConfigMap "platforms.${PLATFORM}.synoinfo" "${WORK_PATH}/platforms.yml")
|
||||
# Check addons
|
||||
PLATFORM="$(readModelKey "${MODEL}" "platform")"
|
||||
KVER="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kver")"
|
||||
KPRE="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kpre")"
|
||||
KVER=$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kver" "${WORK_PATH}/platforms.yml")
|
||||
KPRE=$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kpre" "${WORK_PATH}/platforms.yml")
|
||||
while IFS=': ' read ADDON PARAM; do
|
||||
[ -z "${ADDON}" ] && continue
|
||||
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}"; then
|
||||
@ -369,6 +341,81 @@ function productversMenu() {
|
||||
return 0
|
||||
}
|
||||
|
||||
function setConfigFromDSM() {
|
||||
DSM_ROOT="${1}"
|
||||
if [ ! -f "${DSM_ROOT}/GRUB_VER" -o ! -f "${DSM_ROOT}/VERSION" ]; then
|
||||
echo -e "$(TEXT "DSM Invalid, try again!")" >"${LOG_FILE}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
PLATFORMTMP="$(_get_conf_kv "PLATFORM" ${DSM_ROOT}/GRUB_VER)"
|
||||
MODELTMP="$(_get_conf_kv "MODEL" ${DSM_ROOT}/GRUB_VER)"
|
||||
majorversion="$(_get_conf_kv "majorversion" ${DSM_ROOT}/VERSION)"
|
||||
minorversion="$(_get_conf_kv "minorversion" ${DSM_ROOT}/VERSION)"
|
||||
buildnumber="$(_get_conf_kv "buildnumber" ${DSM_ROOT}/VERSION)"
|
||||
smallfixnumber="$(_get_conf_kv "smallfixnumber" ${DSM_ROOT}/VERSION)"
|
||||
if [ -z "${PLATFORMTMP}" -o -z "${MODELTMP}" -o -z "${majorversion}" -o -z "${minorversion}" ]; then
|
||||
echo -e "$(TEXT "DSM Invalid, try again!")" >"${LOG_FILE}"
|
||||
return 1
|
||||
fi
|
||||
PS="$(readConfigEntriesArray "platforms" "${WORK_PATH}/platforms.yml" | sort)"
|
||||
VS="$(readConfigEntriesArray "platforms.${PLATFORMTMP,,}.productvers" "${WORK_PATH}/platforms.yml" | sort -r)"
|
||||
if arrayExistItem "${PLATFORMTMP,,}" ${PS} && arrayExistItem "${majorversion}.${minorversion}" ${VS}; then
|
||||
PLATFORM=${PLATFORMTMP,,}
|
||||
MODEL=$(echo ${MODELTMP} | sed 's/d$/D/; s/rp$/RP/; s/rp+/RP+/')
|
||||
MODELID=${MODELTMP}
|
||||
PRODUCTVER=${majorversion}.${minorversion}
|
||||
BUILDNUM=${buildnumber}
|
||||
SMALLNUM=${smallfixnumber}
|
||||
else
|
||||
echo "$(printf "$(TEXT "Currently, %s is not supported.")" "${MODELTMP}-${majorversion}.${minorversion}")" >"${LOG_FILE}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "$(TEXT "Reconfiguring Synoinfo, Addons and Modules ...")"
|
||||
|
||||
writeConfigKey "platform" "${PLATFORM}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "model" "${MODEL}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "modelid" "${MODELID}" "${USER_CONFIG_FILE}"
|
||||
SN=$(generateSerial "${MODEL}")
|
||||
writeConfigKey "sn" "${SN}" "${USER_CONFIG_FILE}"
|
||||
NETIF_NUM=2
|
||||
MACS=($(generateMacAddress "${MODEL}" ${NETIF_NUM}))
|
||||
for I in $(seq 1 ${NETIF_NUM}); do
|
||||
writeConfigKey "mac${I}" "${MACS[$((${I} - 1))]}" "${USER_CONFIG_FILE}"
|
||||
done
|
||||
|
||||
writeConfigKey "productver" "${PRODUCTVER}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "buildnum" "${BUILDNUM}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "smallnum" "${SMALLNUM}" "${USER_CONFIG_FILE}"
|
||||
|
||||
writeConfigKey "paturl" "#" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "patsum" "#" "${USER_CONFIG_FILE}"
|
||||
|
||||
# Delete synoinfo and reload model/build synoinfo
|
||||
writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}"
|
||||
while IFS=': ' read KEY VALUE; do
|
||||
writeConfigKey "synoinfo.\"${KEY}\"" "${VALUE}" "${USER_CONFIG_FILE}"
|
||||
done <<<$(readConfigMap "platforms.${PLATFORM}.synoinfo" "${WORK_PATH}/platforms.yml")
|
||||
|
||||
# Check addons
|
||||
KVER=$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kver" "${WORK_PATH}/platforms.yml")
|
||||
KPRE=$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kpre" "${WORK_PATH}/platforms.yml")
|
||||
while IFS=': ' read ADDON PARAM; do
|
||||
[ -z "${ADDON}" ] && continue
|
||||
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}"; then
|
||||
deleteConfigKey "addons.\"${ADDON}\"" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
done <<<$(readConfigMap "addons" "${USER_CONFIG_FILE}")
|
||||
# Rebuild modules
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
while read ID DESC; do
|
||||
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
|
||||
done <<<$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
|
||||
touch ${PART1_PATH}/.build
|
||||
return 0
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Parse Pat
|
||||
function ParsePat() {
|
||||
@ -408,55 +455,6 @@ function ParsePat() {
|
||||
rm -rf "${UNTAR_PAT_PATH}"
|
||||
break
|
||||
fi
|
||||
if [ ! -f "${UNTAR_PAT_PATH}/GRUB_VER" -o ! -f "${UNTAR_PAT_PATH}/VERSION" ]; then
|
||||
echo -e "$(TEXT "pat Invalid, try again!")" >"${LOG_FILE}"
|
||||
break
|
||||
fi
|
||||
|
||||
MODELTMP=$(grep -E "MODEL=\".*\"" ${UNTAR_PAT_PATH}/GRUB_VER 2>/dev/null | sed 's/.*MODEL="\(.*\)".*/\1/')
|
||||
if [ -n "${MODELTMP}" ]; then
|
||||
if [ -f "${WORK_PATH}/model-configs/${MODELTMP}.yml" ]; then
|
||||
MODEL=${MODELTMP}
|
||||
else
|
||||
IS_FIND="false"
|
||||
for M in $(find "${WORK_PATH}/model-configs" -maxdepth 1 -name \*.yml 2>/dev/null | sed 's/.*\///; s/\.yml//'); do
|
||||
if [ "$(readModelKey "${M}" "id")" = "${MODELTMP}" ]; then
|
||||
MODEL=${M}
|
||||
IS_FIND="true"
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ "${IS_FIND}" = "false" ]; then
|
||||
echo "$(printf "$(TEXT "Currently, %s is not supported.")" "${MODELTMP}")" >"${LOG_FILE}"
|
||||
break
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
. ${UNTAR_PAT_PATH}/VERSION
|
||||
if [ -n "${majorversion}" -a -n "${minorversion}" -a -n "$(readModelKey "${MODEL}" "productvers.[${majorversion}.${minorversion}]")" ]; then
|
||||
PRODUCTVER=${majorversion}.${minorversion}
|
||||
BUILDNUM=${buildnumber}
|
||||
SMALLNUM=${smallfixnumber}
|
||||
else
|
||||
echo "$(printf "$(TEXT "Currently, %s of %s is not supported.")" "${majorversion}.${minorversion}" "${MODEL}")" >"${LOG_FILE}"
|
||||
break
|
||||
fi
|
||||
|
||||
echo "$(TEXT "Reconfiguring Synoinfo, Addons and Modules")"
|
||||
|
||||
writeConfigKey "model" "${MODEL}" "${USER_CONFIG_FILE}"
|
||||
SN=$(generateSerial "${MODEL}")
|
||||
writeConfigKey "sn" "${SN}" "${USER_CONFIG_FILE}"
|
||||
NETIF_NUM=2
|
||||
MACS=($(generateMacAddress "${MODEL}" ${NETIF_NUM}))
|
||||
for I in $(seq 1 ${NETIF_NUM}); do
|
||||
writeConfigKey "mac${I}" "${MACS[$((${I} - 1))]}" "${USER_CONFIG_FILE}"
|
||||
done
|
||||
|
||||
writeConfigKey "productver" "${PRODUCTVER}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "buildnum" "${BUILDNUM}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "smallnum" "${SMALLNUM}" "${USER_CONFIG_FILE}"
|
||||
|
||||
mkdir -p "${PART3_PATH}/dl"
|
||||
# Check disk space left
|
||||
@ -469,36 +467,18 @@ function ParsePat() {
|
||||
else
|
||||
cp -f "${PAT_PATH}" "${PART3_PATH}/dl/${MODEL}-${PRODUCTVER}.pat"
|
||||
fi
|
||||
MD5SUM="$(md5sum "${PART3_PATH}/dl/${MODEL}-${PRODUCTVER}.pat" | awk '{print $1}')"
|
||||
|
||||
setConfigFromDSM "${UNTAR_PAT_PATH}"
|
||||
if [ $? -ne 0 ]; then
|
||||
rm -rf "${UNTAR_PAT_PATH}"
|
||||
break
|
||||
fi
|
||||
writeConfigKey "paturl" "#PARSEPAT" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "patsum" "${MD5SUM}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "patsum" "" "${USER_CONFIG_FILE}"
|
||||
copyDSMFiles "${UNTAR_PAT_PATH}"
|
||||
|
||||
# Delete synoinfo and reload model/build synoinfo
|
||||
writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}"
|
||||
while IFS=': ' read KEY VALUE; do
|
||||
writeConfigKey "synoinfo.\"${KEY}\"" "${VALUE}" "${USER_CONFIG_FILE}"
|
||||
done <<<$(readModelMap "${MODEL}" "productvers.[${PRODUCTVER}].synoinfo")
|
||||
|
||||
# Check addons
|
||||
PLATFORM="$(readModelKey "${MODEL}" "platform")"
|
||||
KVER="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kver")"
|
||||
KPRE="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kpre")"
|
||||
while IFS=': ' read ADDON PARAM; do
|
||||
[ -z "${ADDON}" ] && continue
|
||||
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}"; then
|
||||
deleteConfigKey "addons.\"${ADDON}\"" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
done <<<$(readConfigMap "addons" "${USER_CONFIG_FILE}")
|
||||
# Rebuild modules
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
while read ID DESC; do
|
||||
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
|
||||
done <<<$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
|
||||
|
||||
# Remove old files
|
||||
rm -f "${ORI_ZIMAGE_FILE}" "${ORI_RDGZ_FILE}" "${MOD_ZIMAGE_FILE}" "${MOD_RDGZ_FILE}" >/dev/null 2>&1 || true
|
||||
rm -f "${PART1_PATH}/grub_cksum.syno" "${PART1_PATH}/GRUB_VER" "${PART2_PATH}/"* >/dev/null 2>&1 || true
|
||||
touch ${PART1_PATH}/.build
|
||||
rm -rf "${UNTAR_PAT_PATH}"
|
||||
rm -f "${LOG_FILE}"
|
||||
echo "$(TEXT "Ready!")"
|
||||
sleep 3
|
||||
@ -511,14 +491,15 @@ function ParsePat() {
|
||||
rm -f "${LOG_FILE}"
|
||||
return 1
|
||||
else
|
||||
PLATFORM="$(readConfigKey "platform" "${USER_CONFIG_FILE}")"
|
||||
MODEL="$(readConfigKey "model" "${USER_CONFIG_FILE}")"
|
||||
MODELID="$(readConfigKey "modelid" "${USER_CONFIG_FILE}")"
|
||||
PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")"
|
||||
BUILDNUM="$(readConfigKey "buildnum" "${USER_CONFIG_FILE}")"
|
||||
SMALLNUM="$(readConfigKey "smallnum" "${USER_CONFIG_FILE}")"
|
||||
SN="$(readConfigKey "sn" "${USER_CONFIG_FILE}")"
|
||||
MAC1="$(readConfigKey "mac1" "${USER_CONFIG_FILE}")"
|
||||
MAC2="$(readConfigKey "mac2" "${USER_CONFIG_FILE}")"
|
||||
rm -f "${LOG_FILE}"
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
@ -527,9 +508,8 @@ function ParsePat() {
|
||||
# Manage addons
|
||||
function addonMenu() {
|
||||
# Read 'platform' and kernel version to check if addon exists
|
||||
PLATFORM="$(readModelKey "${MODEL}" "platform")"
|
||||
KVER="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kver")"
|
||||
KPRE="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kpre")"
|
||||
KVER=$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kver" "${WORK_PATH}/platforms.yml")
|
||||
KPRE=$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kpre" "${WORK_PATH}/platforms.yml")
|
||||
|
||||
NEXT="a"
|
||||
# Loop menu
|
||||
@ -666,9 +646,8 @@ function addonMenu() {
|
||||
|
||||
###############################################################################
|
||||
function moduleMenu() {
|
||||
PLATFORM="$(readModelKey "${MODEL}" "platform")"
|
||||
KVER="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kver")"
|
||||
KPRE="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kpre")"
|
||||
KVER=$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kver" "${WORK_PATH}/platforms.yml")
|
||||
KPRE=$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kpre" "${WORK_PATH}/platforms.yml")
|
||||
NEXT="c"
|
||||
# loop menu
|
||||
while true; do
|
||||
@ -850,7 +829,7 @@ function cmdlineMenu() {
|
||||
if [ -n "${MODEL}" ]; then
|
||||
echo "s \"$(TEXT "Define SN/MAC")\"" >>"${TMP_PATH}/menu"
|
||||
fi
|
||||
echo "m \"$(TEXT "Show model inherent cmdline")\"" >>"${TMP_PATH}/menu"
|
||||
# echo "m \"$(TEXT "Show model inherent cmdline")\"" >>"${TMP_PATH}/menu"
|
||||
echo "e \"$(TEXT "Exit")\"" >>"${TMP_PATH}/menu"
|
||||
DIALOG --title "$(TEXT "Cmdline")" \
|
||||
--menu "$(TEXT "Choose a option")" 0 0 0 --file "${TMP_PATH}/menu" \
|
||||
@ -973,14 +952,14 @@ function cmdlineMenu() {
|
||||
esac
|
||||
done
|
||||
;;
|
||||
m)
|
||||
ITEMS=""
|
||||
while IFS=': ' read KEY VALUE; do
|
||||
ITEMS+="${KEY}: ${VALUE}\n"
|
||||
done <<<$(readModelMap "${MODEL}" "productvers.[${PRODUCTVER}].cmdline")
|
||||
DIALOG --title "$(TEXT "Cmdline")" \
|
||||
--msgbox "${ITEMS}" 0 0
|
||||
;;
|
||||
# m)
|
||||
# ITEMS=""
|
||||
# while IFS=': ' read KEY VALUE; do
|
||||
# ITEMS+="${KEY}: ${VALUE}\n"
|
||||
# done <<<$(readConfigMap "platforms.${PLATFORM}.cmdline" "${WORK_PATH}/platforms.yml")
|
||||
# DIALOG --title "$(TEXT "Cmdline")" \
|
||||
# --msgbox "${ITEMS}" 0 0
|
||||
# ;;
|
||||
e) return ;;
|
||||
esac
|
||||
done
|
||||
@ -1283,12 +1262,7 @@ function extractDsmFiles() {
|
||||
echo "$(TEXT "OK")"
|
||||
|
||||
echo -n "$(TEXT "Copying files: ")"
|
||||
cp -f "${UNTAR_PAT_PATH}/grub_cksum.syno" "${PART1_PATH}"
|
||||
cp -f "${UNTAR_PAT_PATH}/GRUB_VER" "${PART1_PATH}"
|
||||
cp -f "${UNTAR_PAT_PATH}/grub_cksum.syno" "${PART2_PATH}"
|
||||
cp -f "${UNTAR_PAT_PATH}/GRUB_VER" "${PART2_PATH}"
|
||||
cp -f "${UNTAR_PAT_PATH}/zImage" "${ORI_ZIMAGE_FILE}"
|
||||
cp -f "${UNTAR_PAT_PATH}/rd.gz" "${ORI_RDGZ_FILE}"
|
||||
copyDSMFiles "${UNTAR_PAT_PATH}"
|
||||
rm -rf "${UNTAR_PAT_PATH}"
|
||||
echo "$(TEXT "OK")"
|
||||
}
|
||||
@ -1696,7 +1670,7 @@ function formatDisks() {
|
||||
[ "${KNAME}" = "${LOADER_DISK}" -o "${PKNAME}" = "${LOADER_DISK}" ] && continue
|
||||
[ -z "${ID}" ] && ID="Unknown"
|
||||
echo "\"${KNAME}\" \"${ID}\" \"off\"" >>"${TMP_PATH}/opts"
|
||||
done <<<$(lsblk -pno KNAME,ID,PKNAME | sort)
|
||||
done <<<$(lsblk -pno KNAME,ID,PKNAME)
|
||||
if [ ! -f "${TMP_PATH}/opts" ]; then
|
||||
DIALOG --title "$(TEXT "Advanced")" \
|
||||
--msgbox "$(TEXT "No disk found!")" 0 0
|
||||
@ -1719,15 +1693,13 @@ function formatDisks() {
|
||||
mdadm -S "${I}"
|
||||
done
|
||||
fi
|
||||
(
|
||||
for I in ${RESP}; do
|
||||
if [[ "${I}" = /dev/mmc* ]]; then
|
||||
echo y | mkfs.ext4 -T largefile4 -E nodiscard "${I}"
|
||||
else
|
||||
echo y | mkfs.ext4 -T largefile4 "${I}"
|
||||
fi
|
||||
done
|
||||
) 2>&1 | DIALOG --title "$(TEXT "Advanced")" \
|
||||
for I in ${RESP}; do
|
||||
if [[ "${I}" = /dev/mmc* ]]; then
|
||||
echo y | mkfs.ext4 -T largefile4 -E nodiscard "${I}"
|
||||
else
|
||||
echo y | mkfs.ext4 -T largefile4 "${I}"
|
||||
fi
|
||||
done 2>&1 | DIALOG --title "$(TEXT "Advanced")" \
|
||||
--progressbox "$(TEXT "Formatting ...")" 20 100
|
||||
DIALOG --title "$(TEXT "Advanced")" \
|
||||
--msgbox "$(TEXT "Formatting is complete.")" 0 0
|
||||
@ -1763,147 +1735,58 @@ function tryRecoveryDSM() {
|
||||
DIALOG --title "$(TEXT "Try recovery DSM")" \
|
||||
--infobox "$(TEXT "Checking for backup of user's configuration for bootloader ...")" 0 0
|
||||
if [ -f "${TMP_PATH}/mdX/usr/rr/backup/p1/user-config.yml" ]; then
|
||||
R_PLATFORM="$(readConfigKey "platform" "${TMP_PATH}/mdX/usr/rr/backup/p1/user-config.yml")"
|
||||
R_MODEL="$(readConfigKey "model" "${TMP_PATH}/mdX/usr/rr/backup/p1/user-config.yml")"
|
||||
R_MODELID="$(readConfigKey "modelid" "${TMP_PATH}/mdX/usr/rr/backup/p1/user-config.yml")"
|
||||
R_PRODUCTVER="$(readConfigKey "productver" "${TMP_PATH}/mdX/usr/rr/backup/p1/user-config.yml")"
|
||||
R_BUILDNUM="$(readConfigKey "buildnum" "${TMP_PATH}/mdX/usr/rr/backup/p1/user-config.yml")"
|
||||
R_SMALLNUM="$(readConfigKey "smallnum" "${TMP_PATH}/mdX/usr/rr/backup/p1/user-config.yml")"
|
||||
R_PATURL="$(readConfigKey "paturl" "${USER_CONFIG_FILE}")"
|
||||
R_PATSUM="$(readConfigKey "patsum" "${USER_CONFIG_FILE}")"
|
||||
if [ -n "${R_MODEL}" ] && [ -f "${WORK_PATH}/model-configs/${R_MODEL}.yml" ] &&
|
||||
[ -n "${R_PRODUCTVER}" ] && arrayExistItem "${R_PRODUCTVER}" "$(readConfigEntriesArray "productvers" "${WORK_PATH}/model-configs/${R_MODEL}.yml" | sort -r)" &&
|
||||
R_PATURL="$(readConfigKey "paturl" "${TMP_PATH}/mdX/usr/rr/backup/p1/user-config.yml")"
|
||||
R_PATSUM="$(readConfigKey "patsum" "${TMP_PATH}/mdX/usr/rr/backup/p1/user-config.yml")"
|
||||
|
||||
PS="$(readConfigEntriesArray "platforms" "${WORK_PATH}/platforms.yml" | sort)"
|
||||
VS="$(readConfigEntriesArray "platforms.${R_PLATFORM}.productvers" "${WORK_PATH}/platforms.yml" | sort -r)"
|
||||
if [ -n "${R_PLATFORM}" ] && arrayExistItem "${R_PLATFORM}" ${PS} &&
|
||||
[ -n "${R_PRODUCTVER}" ] && arrayExistItem "${R_PRODUCTVER}" ${VS} &&
|
||||
[ -n "${R_BUILDNUM}" ] && [ -n "${R_SMALLNUM}" ]; then
|
||||
if [ "${R_PATURL:0:1}" = "#" ] || [ -z "${R_PATSUM}" ]; then
|
||||
if [ -f "${TMP_PATH}/mdX/.syno/patch/VERSION" ] &&
|
||||
[ -f "${TMP_PATH}/mdX/.syno/patch/zImage" ] &&
|
||||
[ -f "${TMP_PATH}/mdX/.syno/patch/rd.gz" ]; then
|
||||
cp -f "${TMP_PATH}/mdX/.syno/patch/zImage" "${ORI_ZIMAGE_FILE}"
|
||||
cp -f "${TMP_PATH}/mdX/.syno/patch/rd.gz" "${ORI_RDGZ_FILE}"
|
||||
else
|
||||
__umountDSMRootDisk
|
||||
DIALOG --title "$(TEXT "Try recovery DSM")" \
|
||||
--msgbox "$(TEXT "Found a backup of the user's configuration, but the system is damaged and will not be restored. Please reselect model and build.")" 0 0
|
||||
return
|
||||
fi
|
||||
else
|
||||
cp -rf "${TMP_PATH}/mdX/usr/rr/backup/p1/*" "${PART1_PATH}"
|
||||
if [ -d "${TMP_PATH}/mdX/usr/rr/backup/p3" ]; then
|
||||
cp -rf "${TMP_PATH}/mdX/usr/rr/backup/p3/*" "${PART3_PATH}"
|
||||
fi
|
||||
if [ -f "${TMP_PATH}/mdX/.syno/patch/VERSION" ] &&
|
||||
[ -f "${TMP_PATH}/mdX/.syno/patch/zImage" ] &&
|
||||
[ -f "${TMP_PATH}/mdX/.syno/patch/rd.gz" ]; then
|
||||
cp -f "${TMP_PATH}/mdX/.syno/patch/zImage" "${ORI_ZIMAGE_FILE}"
|
||||
cp -f "${TMP_PATH}/mdX/.syno/patch/rd.gz" "${ORI_RDGZ_FILE}"
|
||||
fi
|
||||
__umountDSMRootDisk
|
||||
DIALOG --title "$(TEXT "Try recovery DSM")" \
|
||||
--msgbox "$(TEXT "Found a backup of the user's configuration, and restored it. Please rebuild and boot.")" 0 0
|
||||
exec "$0"
|
||||
touch ${PART1_PATH}/.build
|
||||
return
|
||||
cp -Rf "${TMP_PATH}/mdX/usr/rr/backup/p1/"* "${PART1_PATH}"
|
||||
if [ -d "${TMP_PATH}/mdX/usr/rr/backup/p3" ]; then
|
||||
cp -Rf "${TMP_PATH}/mdX/usr/rr/backup/p3/"* "${PART3_PATH}"
|
||||
fi
|
||||
copyDSMFiles "${TMP_PATH}/mdX/.syno/patch"
|
||||
__umountDSMRootDisk
|
||||
DIALOG --title "$(TEXT "Try recovery DSM")" \
|
||||
--msgbox "$(TEXT "Found a backup of the user's configuration, and restored it. Please rebuild and boot.")" 0 0
|
||||
exec "$0"
|
||||
touch ${PART1_PATH}/.build
|
||||
return
|
||||
fi
|
||||
fi
|
||||
|
||||
DIALOG --title "$(TEXT "Try recovery DSM")" \
|
||||
--infobox "$(TEXT "Checking for installed DSM system ...")" 0 0
|
||||
if [ -f "${TMP_PATH}/mdX/.syno/patch/VERSION" ] &&
|
||||
[ -f "${TMP_PATH}/mdX/.syno/patch/zImage" ] &&
|
||||
[ -f "${TMP_PATH}/mdX/.syno/patch/rd.gz" ]; then
|
||||
R_MODEL=""
|
||||
R_PRODUCTVER=""
|
||||
R_BUILDNUM=""
|
||||
R_SMALLNUM=""
|
||||
R_SN=""
|
||||
R_MAC1=""
|
||||
R_MAC2=""
|
||||
unique="$(_get_conf_kv unique "${TMP_PATH}/mdX/.syno/patch/VERSION")"
|
||||
majorversion="$(_get_conf_kv majorversion "${TMP_PATH}/mdX/.syno/patch/VERSION")"
|
||||
minorversion="$(_get_conf_kv minorversion "${TMP_PATH}/mdX/.syno/patch/VERSION")"
|
||||
buildnumber="$(_get_conf_kv buildnumber "${TMP_PATH}/mdX/.syno/patch/VERSION")"
|
||||
smallfixnumber="$(_get_conf_kv smallfixnumber "${TMP_PATH}/mdX/.syno/patch/VERSION")"
|
||||
while read F; do
|
||||
M="$(basename ${F} .yml)"
|
||||
UNIQUE=$(readModelKey "${M}" "unique")
|
||||
[ "${unique}" = "${UNIQUE}" ] && R_MODEL="${M}" && break
|
||||
done <<<$(find "${WORK_PATH}/model-configs" -maxdepth 1 -name \*.yml 2>/dev/null | sort)
|
||||
if [ -n "${R_MODEL}" ]; then
|
||||
ITEMS="$(readConfigEntriesArray "productvers" "${WORK_PATH}/model-configs/${R_MODEL}.yml" | sort -r)"
|
||||
if arrayExistItem "${majorversion}.${minorversion}" ${ITEMS}; then
|
||||
R_PRODUCTVER="${majorversion}.${minorversion}"
|
||||
fi
|
||||
fi
|
||||
R_BUILDNUM=${buildnumber}
|
||||
R_SMALLNUM=${smallfixnumber}
|
||||
if [ -f "${TMP_PATH}/mdX/etc/synoinfo.conf" ]; then
|
||||
R_SN=$(_get_conf_kv SN "${TMP_PATH}/mdX/etc/synoinfo.conf")
|
||||
fi
|
||||
|
||||
if [ -n "${R_MODEL}" ] && [ -n "${R_PRODUCTVER}" ] && [ -n "${R_BUILDNUM}" ] && [ -n "${R_SMALLNUM}" ]; then
|
||||
cp -f "${TMP_PATH}/mdX/.syno/patch/zImage" "${ORI_ZIMAGE_FILE}"
|
||||
cp -f "${TMP_PATH}/mdX/.syno/patch/rd.gz" "${ORI_RDGZ_FILE}"
|
||||
|
||||
MODEL="${R_MODEL}"
|
||||
PRODUCTVER="${R_PRODUCTVER}"
|
||||
BUILDNUM=${R_BUILDNUM}
|
||||
SMALLNUM=${R_SMALLNUM}
|
||||
if [ -n "${R_SN}" ]; then
|
||||
SN=${R_SN}
|
||||
else
|
||||
SN=$(generateSerial "${MODEL}")
|
||||
fi
|
||||
|
||||
writeConfigKey "model" "${MODEL}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "productver" "${PRODUCTVER}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "buildnum" "${BUILDNUM}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "smallnum" "${SMALLNUM}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "sn" "${SN}" "${USER_CONFIG_FILE}"
|
||||
NETIF_NUM=2
|
||||
MACS=($(generateMacAddress "${MODEL}" ${NETIF_NUM}))
|
||||
for I in $(seq 1 ${NETIF_NUM}); do
|
||||
writeConfigKey "mac${I}" "${MACS[$((${I} - 1))]}" "${USER_CONFIG_FILE}"
|
||||
done
|
||||
writeConfigKey "paturl" "#RECOVERY" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "patsum" "" "${USER_CONFIG_FILE}"
|
||||
|
||||
# Delete synoinfo and reload model/build synoinfo
|
||||
writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}"
|
||||
while IFS=': ' read KEY VALUE; do
|
||||
writeConfigKey "synoinfo.\"${KEY}\"" "${VALUE}" "${USER_CONFIG_FILE}"
|
||||
done <<<$(readModelMap "${MODEL}" "productvers.[${PRODUCTVER}].synoinfo")
|
||||
|
||||
# Check addons
|
||||
PLATFORM="$(readModelKey "${MODEL}" "platform")"
|
||||
KVER="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kver")"
|
||||
KPRE="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kpre")"
|
||||
while IFS=': ' read ADDON PARAM; do
|
||||
[ -z "${ADDON}" ] && continue
|
||||
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}"; then
|
||||
deleteConfigKey "addons.\"${ADDON}\"" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
done <<<$(readConfigMap "addons" "${USER_CONFIG_FILE}")
|
||||
# Rebuild modules
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
while read ID DESC; do
|
||||
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
|
||||
done <<<$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
|
||||
|
||||
__umountDSMRootDisk
|
||||
DIALOG --title "$(TEXT "Try recovery DSM")" \
|
||||
--msgbox "$(TEXT "Found a installed DSM system and restored it. Please rebuild and boot.")" 0 0
|
||||
touch ${PART1_PATH}/.build
|
||||
return
|
||||
else
|
||||
__umountDSMRootDisk
|
||||
DIALOG --title "$(TEXT "Try recovery DSM")" \
|
||||
--msgbox "$(TEXT "Found a installed DSM system, but the system is damaged and will not be restored. Please reselect model and build.")" 0 0
|
||||
touch ${PART1_PATH}/.build
|
||||
return
|
||||
fi
|
||||
setConfigFromDSM "${TMP_PATH}/mdX/.syno/patch"
|
||||
if [ $? -ne 0 ]; then
|
||||
__umountDSMRootDisk
|
||||
DIALOG --title "$(TEXT "Try recovery DSM")" \
|
||||
--msgbox "$(TEXT "The installed DSM system was not found, or the system is damaged and cannot be recovered. Please reselect model and build.")" 0 0
|
||||
return
|
||||
fi
|
||||
|
||||
if [ -f "${TMP_PATH}/mdX/etc/synoinfo.conf" ]; then
|
||||
R_SN=$(_get_conf_kv SN "${TMP_PATH}/mdX/etc/synoinfo.conf")
|
||||
[ -n "${R_SN}" ] && SN=${R_SN} && writeConfigKey "sn" "${SN}" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
|
||||
writeConfigKey "paturl" "#RECOVERY" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "patsum" "" "${USER_CONFIG_FILE}"
|
||||
|
||||
copyDSMFiles "${TMP_PATH}/mdX/.syno/patch"
|
||||
__umountDSMRootDisk
|
||||
DIALOG --title "$(TEXT "Try recovery DSM")" \
|
||||
--msgbox "$(TEXT "The installed DSM system was not found, or the system is damaged and cannot be recovered. Please reselect model and build.")" 0 0
|
||||
--msgbox "$(TEXT "Found a installed DSM system and restored it. Please rebuild and boot.")" 0 0
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
@ -2136,7 +2019,7 @@ function cloneBootloaderDisk() {
|
||||
[ -z "${KNAME}" -o -z "${ID}" ] && continue
|
||||
[ "${KNAME}" = "${LOADER_DISK}" -o "${PKNAME}" = "${LOADER_DISK}" ] && continue
|
||||
echo "\"${KNAME}\" \"${ID}\" \"off\"" >>"${TMP_PATH}/opts"
|
||||
done <<<$(lsblk -dpno KNAME,ID,PKNAME | sort)
|
||||
done <<<$(lsblk -dpno KNAME,ID,PKNAME)
|
||||
if [ ! -f "${TMP_PATH}/opts" ]; then
|
||||
DIALOG --title "$(TEXT "Advanced")" \
|
||||
--msgbox "$(TEXT "No disk found!")" 0 0
|
||||
@ -2304,12 +2187,14 @@ function advancedMenu() {
|
||||
NEXT="l"
|
||||
while true; do
|
||||
rm -f "${TMP_PATH}/menu"
|
||||
echo "9 \"$(TEXT "DSM rd compression:") \Z4${RD_COMPRESSED}\Zn\"" >>"${TMP_PATH}/menu"
|
||||
echo "l \"$(TEXT "Switch LKM version:") \Z4${LKM}\Zn\"" >>"${TMP_PATH}/menu"
|
||||
echo "j \"$(TEXT "HDD sort(hotplug):") \Z4${HDDSORT}\Zn\"" >>"${TMP_PATH}/menu"
|
||||
if [ -n "${PRODUCTVER}" ]; then
|
||||
echo "c \"$(TEXT "show/modify the current pat data")\"" >>"${TMP_PATH}/menu"
|
||||
echo "8 \"$(TEXT "Switch SATADOM mode:") \Z4${SATADOM}\Zn\"" >>"${TMP_PATH}/menu"
|
||||
fi
|
||||
if [ "true" = "$(readModelKey "${MODEL}" "dt")" ]; then
|
||||
if [ -n "${PLATFORM}" ] && [ "true" = "$(readConfigKey "platforms.${PLATFORM}.dt" "${WORK_PATH}/platforms.yml")" ]; then
|
||||
echo "d \"$(TEXT "Custom DTS")\"" >>"${TMP_PATH}/menu"
|
||||
fi
|
||||
echo "q \"$(TEXT "Switch direct boot:") \Z4${DIRECTBOOT}\Zn\"" >>"${TMP_PATH}/menu"
|
||||
@ -2353,6 +2238,12 @@ function advancedMenu() {
|
||||
2>${TMP_PATH}/resp
|
||||
[ $? -ne 0 ] && break
|
||||
case $(cat "${TMP_PATH}/resp") in
|
||||
9)
|
||||
[ "${RD_COMPRESSED}" = "true" ] && RD_COMPRESSED='false' || RD_COMPRESSED='true'
|
||||
writeConfigKey "rd-compressed" "${RD_COMPRESSED}" "${USER_CONFIG_FILE}"
|
||||
touch ${PART1_PATH}/.build
|
||||
NEXT="9"
|
||||
;;
|
||||
l)
|
||||
LKM=$([ "${LKM}" = "dev" ] && echo 'prod' || ([ "${LKM}" = "test" ] && echo 'dev' || echo 'test'))
|
||||
writeConfigKey "lkm" "${LKM}" "${USER_CONFIG_FILE}"
|
||||
@ -2383,6 +2274,20 @@ function advancedMenu() {
|
||||
fi
|
||||
NEXT="e"
|
||||
;;
|
||||
8)
|
||||
rm -f "${TMP_PATH}/opts"
|
||||
echo "1 \"Native SATA Disk(SYNO)\"" >>"${TMP_PATH}/opts"
|
||||
echo "2 \"Fake SATA DOM(Redpill)\"" >>"${TMP_PATH}/opts"
|
||||
DIALOG --title "$(TEXT "Advanced")" \
|
||||
--default-item "${SATADOM}" --menu "$(TEXT "Choose a mode(Only supported for kernel version 4)")" 0 0 0 --file "${TMP_PATH}/opts" \
|
||||
2>${TMP_PATH}/resp
|
||||
[ $? -ne 0 ] && return
|
||||
resp=$(cat ${TMP_PATH}/resp 2>/dev/null)
|
||||
[ -z "${resp}" ] && return
|
||||
SATADOM=${resp}
|
||||
writeConfigKey "satadom" "${SATADOM}" "${USER_CONFIG_FILE}"
|
||||
NEXT="8"
|
||||
;;
|
||||
d)
|
||||
customDTS
|
||||
NEXT="e"
|
||||
@ -2927,9 +2832,8 @@ function updateRR() {
|
||||
cp -Rf "${TMP_PATH}/update/${VALUE}"/* "${VALUE}"
|
||||
if [ "$(realpath "${VALUE}")" = "$(realpath "${MODULES_PATH}")" ]; then
|
||||
if [ -n "${MODEL}" -a -n "${PRODUCTVER}" ]; then
|
||||
PLATFORM="$(readModelKey "${MODEL}" "platform")"
|
||||
KVER="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kver")"
|
||||
KPRE="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kpre")"
|
||||
KVER=$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kver" "${WORK_PATH}/platforms.yml")
|
||||
KPRE=$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kpre" "${WORK_PATH}/platforms.yml")
|
||||
if [ -n "${PLATFORM}" -a -n "${KVER}" ]; then
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
while read ID DESC; do
|
||||
@ -3062,9 +2966,8 @@ function updateModules() {
|
||||
rm -rf "${MODULES_PATH}/"*
|
||||
cp -rf "${TMP_PATH}/update/"* "${MODULES_PATH}/"
|
||||
if [ -n "${MODEL}" -a -n "${PRODUCTVER}" ]; then
|
||||
PLATFORM="$(readModelKey "${MODEL}" "platform")"
|
||||
KVER="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kver")"
|
||||
KPRE="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kpre")"
|
||||
KVER=$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kver" "${WORK_PATH}/platforms.yml")
|
||||
KPRE=$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kpre" "${WORK_PATH}/platforms.yml")
|
||||
if [ -n "${PLATFORM}" -a -n "${KVER}" ]; then
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
while read ID DESC; do
|
||||
@ -3403,9 +3306,8 @@ else
|
||||
fi
|
||||
echo "u \"$(TEXT "Parse pat")\"" >>"${TMP_PATH}/menu"
|
||||
if [ -n "${PRODUCTVER}" ]; then
|
||||
PLATFORM="$(readModelKey "${MODEL}" "platform")"
|
||||
KVER="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kver")"
|
||||
KPRE="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kpre")"
|
||||
KVER=$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kver" "${WORK_PATH}/platforms.yml")
|
||||
KPRE=$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kpre" "${WORK_PATH}/platforms.yml")
|
||||
if [ -f "${CKS_PATH}/bzImage-${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}.gz" ] &&
|
||||
[ -f "${CKS_PATH}/modules-${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}.tgz" ]; then
|
||||
echo "s \"$(TEXT "Kernel:") \Z4${KERNEL}\Zn\"" >>"${TMP_PATH}/menu"
|
||||
|
@ -1,67 +0,0 @@
|
||||
id: "DS1019+"
|
||||
synoinfo: &synoinfo
|
||||
support_uasp: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_leds_lp3943: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
SMBusHddDynamicPower: 1
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
- "ramdisk-disable-disabled-ports-*.patch"
|
||||
platform: "apollolake"
|
||||
unique: "synology_apollolake_1019+"
|
||||
serial:
|
||||
prefix:
|
||||
- "1850"
|
||||
- "1880"
|
||||
middle: "QXR"
|
||||
suffix: "numeric"
|
||||
flags:
|
||||
- "movbe"
|
||||
dom: 2
|
||||
dt: false
|
||||
beta: false
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,62 +0,0 @@
|
||||
id: "DS1520+"
|
||||
synoinfo: &synoinfo
|
||||
support_uasp: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
cmdline: &cmdline
|
||||
intel_iommu: "igfx_off"
|
||||
HddHotplug: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
platform: "geminilake"
|
||||
unique: "synology_geminilake_1520+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2060"
|
||||
middle: "RYR"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
beta: true
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,53 +0,0 @@
|
||||
id: "DS1522+"
|
||||
synoinfo: &synoinfo
|
||||
support_uasp: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
platform: "r1000"
|
||||
unique: "synology_r1000_1522+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2270"
|
||||
middle: "TRR"
|
||||
suffix: "alpha"
|
||||
macpre: 9009d0
|
||||
dom: 2
|
||||
dt: true
|
||||
beta: true
|
||||
productvers:
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,60 +0,0 @@
|
||||
id: "DS1621+"
|
||||
synoinfo: &synoinfo
|
||||
support_uasp: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
platform: "v1000"
|
||||
unique: "synology_v1000_1621+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2080"
|
||||
middle: "S7R"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
beta: true
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,65 +0,0 @@
|
||||
id: "DS1621xs+"
|
||||
synoinfo: &synoinfo
|
||||
support_uasp: "yes"
|
||||
support_printer: "yes"
|
||||
support_usb_printer: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_oob_ctl: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
SMBusHddDynamicPower: 1
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
- "ramdisk-disable-disabled-ports-*.patch"
|
||||
platform: "broadwellnk"
|
||||
unique: "synology_broadwellnk_1621xs+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2070"
|
||||
middle: "RVR"
|
||||
suffix: "alpha"
|
||||
dom: 1
|
||||
dt: false
|
||||
beta: false
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,64 +0,0 @@
|
||||
id: "DS1819+"
|
||||
synoinfo: &synoinfo
|
||||
support_uasp: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
SMBusHddDynamicPower: 1
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
- "ramdisk-disable-disabled-ports-*.patch"
|
||||
platform: "denverton"
|
||||
unique: "synology_denverton_1819+"
|
||||
serial:
|
||||
prefix:
|
||||
- "1890"
|
||||
middle: "R5R"
|
||||
suffix: "alpha"
|
||||
flags:
|
||||
- "movbe"
|
||||
dom: 2
|
||||
dt: false
|
||||
beta: true
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,60 +0,0 @@
|
||||
id: "DS1821+"
|
||||
synoinfo: &synoinfo
|
||||
support_uasp: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
platform: "v1000"
|
||||
unique: "synology_v1000_1821+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2110"
|
||||
middle: "SKR"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
beta: true
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,53 +0,0 @@
|
||||
id: "DS1823xs+"
|
||||
synoinfo: &synoinfo
|
||||
support_uasp: "yes"
|
||||
support_printer: "yes"
|
||||
support_usb_printer: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
platform: "v1000"
|
||||
unique: "synology_v1000_1823xs+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2280"
|
||||
middle: "V5R"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
beta: false
|
||||
productvers:
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,62 +0,0 @@
|
||||
id: "DS220+"
|
||||
synoinfo: &synoinfo
|
||||
support_uasp: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
cmdline: &cmdline
|
||||
intel_iommu: "igfx_off"
|
||||
HddHotplug: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
platform: "geminilake"
|
||||
unique: "synology_geminilake_220+"
|
||||
serial:
|
||||
prefix:
|
||||
- "0000"
|
||||
middle: "XXX"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
beta: true
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,46 +0,0 @@
|
||||
id: "DS224+"
|
||||
synoinfo: &synoinfo
|
||||
support_uasp: "yes"
|
||||
support_printer: "yes"
|
||||
support_usb_printer: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
cmdline: &cmdline
|
||||
intel_iommu: "igfx_off"
|
||||
HddHotplug: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
platform: "geminilake"
|
||||
unique: "synology_geminilake_224+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2350"
|
||||
middle: "WBR"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
beta: true
|
||||
productvers:
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,64 +0,0 @@
|
||||
id: "DS2419+"
|
||||
synoinfo: &synoinfo
|
||||
support_uasp: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
SMBusHddDynamicPower: 1
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
- "ramdisk-disable-disabled-ports-*.patch"
|
||||
platform: "denverton"
|
||||
unique: "synology_denverton_2419+"
|
||||
serial:
|
||||
prefix:
|
||||
- "1880"
|
||||
middle: "QZA"
|
||||
suffix: "alpha"
|
||||
flags:
|
||||
- "movbe"
|
||||
dom: 2
|
||||
dt: false
|
||||
beta: true
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,61 +0,0 @@
|
||||
id: "DS2422+"
|
||||
synoinfo: &synoinfo
|
||||
support_uasp: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
platform: "v1000"
|
||||
unique: "synology_v1000_2422+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2140"
|
||||
- "2180"
|
||||
middle: "SLR"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
beta: false
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,67 +0,0 @@
|
||||
id: "DS3617xs"
|
||||
synoinfo: &synoinfo
|
||||
support_uasp: "yes"
|
||||
support_printer: "yes"
|
||||
support_usb_printer: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
SMBusHddDynamicPower: 1
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
- "ramdisk-disable-disabled-ports-*.patch"
|
||||
platform: "broadwell"
|
||||
unique: "synology_broadwell_3617xs"
|
||||
serial:
|
||||
prefix:
|
||||
- "1130"
|
||||
- "1230"
|
||||
- "1330"
|
||||
- "1430"
|
||||
middle: "ODN"
|
||||
suffix: "numeric"
|
||||
dom: 1
|
||||
dt: false
|
||||
beta: true
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,65 +0,0 @@
|
||||
id: "DS3622xs+"
|
||||
synoinfo: &synoinfo
|
||||
support_uasp: "yes"
|
||||
support_printer: "yes"
|
||||
support_usb_printer: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_oob_ctl: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
SMBusHddDynamicPower: 1
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
- "ramdisk-disable-disabled-ports-*.patch"
|
||||
platform: "broadwellnk"
|
||||
unique: "synology_broadwellnk_3622xs+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2150"
|
||||
middle: "SQR"
|
||||
suffix: "alpha"
|
||||
dom: 1
|
||||
dt: false
|
||||
beta: false
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,55 +0,0 @@
|
||||
id: "DS423+"
|
||||
synoinfo: &synoinfo
|
||||
support_uasp: "yes"
|
||||
support_printer: "yes"
|
||||
support_usb_printer: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
cmdline: &cmdline
|
||||
intel_iommu: "igfx_off"
|
||||
HddHotplug: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
platform: "geminilake"
|
||||
unique: "synology_geminilake_423+"
|
||||
serial:
|
||||
prefix:
|
||||
- "22A0"
|
||||
middle: "VKR"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
beta: false
|
||||
productvers:
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,67 +0,0 @@
|
||||
id: "DS718+"
|
||||
synoinfo: &synoinfo
|
||||
support_uasp: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_leds_lp3943: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
SMBusHddDynamicPower: 1
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
- "ramdisk-disable-disabled-ports-*.patch"
|
||||
platform: "apollolake"
|
||||
unique: "synology_apollolake_718+"
|
||||
serial:
|
||||
prefix:
|
||||
- "1930"
|
||||
middle: "PEN"
|
||||
suffix: "numeric"
|
||||
flags:
|
||||
- "movbe"
|
||||
dom: 2
|
||||
dt: false
|
||||
beta: true
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
@ -1,64 +0,0 @@
|
||||
id: "DS720+"
|
||||
synoinfo: &synoinfo
|
||||
support_uasp: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
cmdline: &cmdline
|
||||
intel_iommu: "igfx_off"
|
||||
HddHotplug: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
platform: "geminilake"
|
||||
unique: "synology_geminilake_720+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2010"
|
||||
- "2110"
|
||||
middle: "QWR"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
beta: true
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
@ -1,54 +0,0 @@
|
||||
id: "DS723+"
|
||||
synoinfo: &synoinfo
|
||||
support_uasp: "yes"
|
||||
support_printer: "yes"
|
||||
support_usb_printer: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
platform: "r1000"
|
||||
unique: "synology_r1000_723+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2270"
|
||||
middle: "TQR"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
beta: true
|
||||
productvers:
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,66 +0,0 @@
|
||||
id: "DS918+"
|
||||
synoinfo: &synoinfo
|
||||
support_uasp: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_leds_lp3943: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
SMBusHddDynamicPower: 1
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
- "ramdisk-disable-disabled-ports-*.patch"
|
||||
platform: "apollolake"
|
||||
unique: "synology_apollolake_918+"
|
||||
serial:
|
||||
prefix:
|
||||
- "1910"
|
||||
middle: "PDN"
|
||||
suffix: "numeric"
|
||||
flags:
|
||||
- "movbe"
|
||||
dom: 2
|
||||
dt: false
|
||||
beta: false
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,65 +0,0 @@
|
||||
id: "DS920+"
|
||||
synoinfo: &synoinfo
|
||||
support_uasp: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
cmdline: &cmdline
|
||||
intel_iommu: "igfx_off"
|
||||
HddHotplug: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
platform: "geminilake"
|
||||
unique: "synology_geminilake_920+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2030"
|
||||
- "2040"
|
||||
- "20C0"
|
||||
- "2150"
|
||||
middle: "SBR"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
beta: false
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,55 +0,0 @@
|
||||
id: "DS923+"
|
||||
synoinfo: &synoinfo
|
||||
support_uasp: "yes"
|
||||
support_printer: "yes"
|
||||
support_usb_printer: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
platform: "r1000"
|
||||
unique: "synology_r1000_923+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2270"
|
||||
middle: "TQR"
|
||||
suffix: "alpha"
|
||||
macpre: 9009d0
|
||||
dom: 2
|
||||
dt: true
|
||||
beta: false
|
||||
productvers:
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,56 +0,0 @@
|
||||
id: "DVA1622"
|
||||
synoinfo: &synoinfo
|
||||
support_uasp: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
cmdline: &cmdline
|
||||
intel_iommu: "igfx_off"
|
||||
HddHotplug: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
platform: "geminilake"
|
||||
unique: "synology_geminilake_dva1622"
|
||||
serial:
|
||||
prefix:
|
||||
- "2030"
|
||||
- "2040"
|
||||
- "20C0"
|
||||
- "2150"
|
||||
middle: "UBR"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
beta: false
|
||||
productvers:
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,65 +0,0 @@
|
||||
id: "DVA3219"
|
||||
synoinfo: &synoinfo
|
||||
support_uasp: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
SMBusHddDynamicPower: 1
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
- "ramdisk-disable-disabled-ports-*.patch"
|
||||
platform: "denverton"
|
||||
unique: "synology_denverton_dva3219"
|
||||
serial:
|
||||
prefix:
|
||||
- "1930"
|
||||
- "1940"
|
||||
middle: "RFR"
|
||||
suffix: "alpha"
|
||||
flags:
|
||||
- "movbe"
|
||||
dom: 2
|
||||
dt: false
|
||||
beta: true
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,67 +0,0 @@
|
||||
id: "DVA3221"
|
||||
synoinfo: &synoinfo
|
||||
support_uasp: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
SMBusHddDynamicPower: 1
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
- "ramdisk-disable-disabled-ports-*.patch"
|
||||
platform: "denverton"
|
||||
unique: "synology_denverton_dva3221"
|
||||
serial:
|
||||
prefix:
|
||||
- "2030"
|
||||
- "2040"
|
||||
- "20C0"
|
||||
- "2150"
|
||||
middle: "SJR"
|
||||
suffix: "alpha"
|
||||
flags:
|
||||
- "movbe"
|
||||
dom: 2
|
||||
dt: false
|
||||
beta: false
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,64 +0,0 @@
|
||||
id: "FS2500"
|
||||
synoinfo: &synoinfo
|
||||
supportext4: "yes"
|
||||
support_uasp: "yes"
|
||||
support_printer: "yes"
|
||||
support_usb_printer: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
intel_iommu: "igfx_off"
|
||||
HddHotplug: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
platform: "v1000"
|
||||
unique: "synology_v1000_fs2500"
|
||||
serial:
|
||||
prefix:
|
||||
- "1960"
|
||||
middle: "PSN"
|
||||
suffix: "numeric"
|
||||
dom: 2
|
||||
dt: true
|
||||
beta: true
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,68 +0,0 @@
|
||||
id: "FS6400"
|
||||
synoinfo: &synoinfo
|
||||
supportext4: "yes"
|
||||
support_uasp: "yes"
|
||||
support_printer: "yes"
|
||||
support_usb_printer: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
supportsas: "no"
|
||||
supportsas_v2_r1: "no"
|
||||
support_multipath: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
cmdline: &cmdline
|
||||
SASmodel: 1
|
||||
HddHotplug: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
platform: "purley"
|
||||
unique: "synology_purley_fs6400"
|
||||
serial:
|
||||
prefix:
|
||||
- "0000"
|
||||
middle: "XXX"
|
||||
suffix: "alpha"
|
||||
dom: 1
|
||||
dt: true
|
||||
beta: false
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,73 +0,0 @@
|
||||
id: "HD6500"
|
||||
synoinfo: &synoinfo
|
||||
supportext4: "yes"
|
||||
support_uasp: "yes"
|
||||
support_printer: "yes"
|
||||
support_usb_printer: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
internal_disk_without_led_mask: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
supportsas: "no"
|
||||
support_multipath: "yes"
|
||||
support_install_only_dev: "no"
|
||||
isolated_disk_system: "no"
|
||||
required_system_disk_number: "0"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
cmdline: &cmdline
|
||||
SASmodel: 1
|
||||
HddHotplug: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
platform: "purley"
|
||||
unique: "synology_purley_hd6500"
|
||||
serial:
|
||||
prefix:
|
||||
- "20A0"
|
||||
- "21C0"
|
||||
middle: "RUR"
|
||||
suffix: "alpha"
|
||||
macpre: 9009d0
|
||||
dom: 1
|
||||
dt: true
|
||||
beta: false
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,61 +0,0 @@
|
||||
id: "RS1221+"
|
||||
synoinfo: &synoinfo
|
||||
supportext4: "yes"
|
||||
support_uasp: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
platform: "v1000"
|
||||
unique: "synology_v1000_rs1221+"
|
||||
serial:
|
||||
prefix:
|
||||
- "20B0"
|
||||
middle: "RWR"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
beta: true
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,65 +0,0 @@
|
||||
id: "RS1619xs+"
|
||||
synoinfo: &synoinfo
|
||||
supportext4: "yes"
|
||||
support_uasp: "yes"
|
||||
support_printer: "yes"
|
||||
support_usb_printer: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
SMBusHddDynamicPower: 1
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
- "ramdisk-disable-disabled-ports-*.patch"
|
||||
platform: "broadwellnk"
|
||||
unique: "synology_broadwellnk_rs1619xs+"
|
||||
serial:
|
||||
prefix:
|
||||
- "1920"
|
||||
middle: "QPR"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: false
|
||||
beta: false
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,54 +0,0 @@
|
||||
id: "RS2423+"
|
||||
synoinfo: &synoinfo
|
||||
supportext4: "yes"
|
||||
support_uasp: "yes"
|
||||
support_printer: "yes"
|
||||
support_usb_printer: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
platform: "v1000"
|
||||
unique: "synology_v1000_rs2423+"
|
||||
serial:
|
||||
prefix:
|
||||
- "0000"
|
||||
middle: "XXX"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
beta: true
|
||||
productvers:
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,57 +0,0 @@
|
||||
id: "RS2423rp+"
|
||||
synoinfo: &synoinfo
|
||||
supportext4: "yes"
|
||||
support_uasp: "yes"
|
||||
support_printer: "yes"
|
||||
support_usb_printer: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_leds_atmega1608: "no"
|
||||
support_leds_lp3943: "no"
|
||||
supportadt7490: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
platform: "v1000"
|
||||
unique: "synology_v1000_rs2423rp+"
|
||||
serial:
|
||||
prefix:
|
||||
- "0000"
|
||||
middle: "XXX"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
beta: true
|
||||
productvers:
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,66 +0,0 @@
|
||||
id: "RS3618xs"
|
||||
synoinfo: &synoinfo
|
||||
supportext4: "yes"
|
||||
support_uasp: "yes"
|
||||
support_printer: "yes"
|
||||
support_usb_printer: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
supportssdcache: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
SMBusHddDynamicPower: 1
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
- "ramdisk-disable-disabled-ports-*.patch"
|
||||
platform: "broadwell"
|
||||
unique: "synology_broadwell_rs3618xs"
|
||||
serial:
|
||||
prefix:
|
||||
- "0000"
|
||||
middle: "XXX"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: false
|
||||
beta: true
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,65 +0,0 @@
|
||||
id: "RS3621xs+"
|
||||
synoinfo: &synoinfo
|
||||
supportext4: "yes"
|
||||
support_uasp: "yes"
|
||||
support_printer: "yes"
|
||||
support_usb_printer: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
SMBusHddDynamicPower: 1
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
- "ramdisk-disable-disabled-ports-*.patch"
|
||||
platform: "broadwellnk"
|
||||
unique: "synology_broadwellnk_rs3621xs+"
|
||||
serial:
|
||||
prefix:
|
||||
- "20A0"
|
||||
middle: "SZR"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: false
|
||||
beta: true
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,66 +0,0 @@
|
||||
id: "RS4021xs+"
|
||||
synoinfo: &synoinfo
|
||||
supportext4: "yes"
|
||||
support_uasp: "yes"
|
||||
support_printer: "yes"
|
||||
support_usb_printer: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
SMBusHddDynamicPower: 1
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
- "ramdisk-disable-disabled-ports-*.patch"
|
||||
platform: "broadwellnk"
|
||||
unique: "synology_broadwellnk_rs4021xs+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2160"
|
||||
middle: "T2R"
|
||||
suffix: "alpha"
|
||||
macpre: 9009d0
|
||||
dom: 2
|
||||
dt: false
|
||||
beta: true
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,72 +0,0 @@
|
||||
id: "SA3200d"
|
||||
synoinfo: &synoinfo
|
||||
supportext4: "yes"
|
||||
support_uasp: "yes"
|
||||
support_printer: "yes"
|
||||
support_usb_printer: "yes"
|
||||
support_disk_hibernation: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_disk_hibernation: "yes"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
supportsas: "no"
|
||||
supportbootinst:
|
||||
no_disk_system: "no"
|
||||
support_auto_install: "no"
|
||||
support_install_only_dev: "no"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
SMBusHddDynamicPower: 1
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
- "ramdisk-disable-disabled-ports-*.patch"
|
||||
platform: "broadwellntbap"
|
||||
unique: "synology_broadwellntbap_sa3200d"
|
||||
serial:
|
||||
prefix:
|
||||
- "19A0"
|
||||
middle: "S4R"
|
||||
suffix: "alpha"
|
||||
dom: 1
|
||||
dt: false
|
||||
beta: true
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,66 +0,0 @@
|
||||
id: "SA3400"
|
||||
synoinfo: &synoinfo
|
||||
supportext4: "yes"
|
||||
support_uasp: "yes"
|
||||
support_printer: "yes"
|
||||
support_usb_printer: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
supportsas: "no"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
SMBusHddDynamicPower: 1
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
- "ramdisk-disable-disabled-ports-*.patch"
|
||||
platform: "broadwellnk"
|
||||
unique: "synology_broadwellnk_sa3400"
|
||||
serial:
|
||||
prefix:
|
||||
- "1970"
|
||||
middle: "RJR"
|
||||
suffix: "alpha"
|
||||
dom: 1
|
||||
dt: false
|
||||
beta: true
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,73 +0,0 @@
|
||||
id: "SA3400d"
|
||||
synoinfo: &synoinfo
|
||||
supportext4: "yes"
|
||||
support_uasp: "yes"
|
||||
support_printer: "yes"
|
||||
support_usb_printer: "yes"
|
||||
support_disk_hibernation: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_disk_hibernation: "yes"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
supportsas: "no"
|
||||
supportbootinst:
|
||||
no_disk_system: "no"
|
||||
support_auto_install: "no"
|
||||
support_install_only_dev: "no"
|
||||
required_system_disk_number: "0"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
SMBusHddDynamicPower: 1
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
- "ramdisk-disable-disabled-ports-*.patch"
|
||||
platform: "broadwellntbap"
|
||||
unique: "synology_broadwellntbap_sa3400d"
|
||||
serial:
|
||||
prefix:
|
||||
- "2350"
|
||||
middle: "W8R"
|
||||
suffix: "alpha"
|
||||
dom: 1
|
||||
dt: false
|
||||
beta: true
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,59 +0,0 @@
|
||||
id: "SA3410"
|
||||
synoinfo: &synoinfo
|
||||
supportext4: "yes"
|
||||
support_uasp: "yes"
|
||||
support_printer: "yes"
|
||||
support_usb_printer: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_oob_ctl: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
supportsas: "no"
|
||||
supportsas_v2_r1: "no"
|
||||
support_multipath: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
SASmodel: 1
|
||||
HddHotplug: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
platform: "broadwellnkv2"
|
||||
unique: "synology_broadwellnkv2_sa3410"
|
||||
serial:
|
||||
prefix:
|
||||
- "0000"
|
||||
middle: "XXX"
|
||||
suffix: "alpha"
|
||||
dom: 1
|
||||
dt: true
|
||||
beta: true
|
||||
productvers:
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,66 +0,0 @@
|
||||
id: "SA3600"
|
||||
synoinfo: &synoinfo
|
||||
supportext4: "yes"
|
||||
support_uasp: "yes"
|
||||
support_printer: "yes"
|
||||
support_usb_printer: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
supportsas: "no"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
SMBusHddDynamicPower: 1
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
- "ramdisk-disable-disabled-ports-*.patch"
|
||||
platform: "broadwellnk"
|
||||
unique: "synology_broadwellnk_sa3600"
|
||||
serial:
|
||||
prefix:
|
||||
- "0000"
|
||||
middle: "XXX"
|
||||
suffix: "alpha"
|
||||
dom: 1
|
||||
dt: false
|
||||
beta: true
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,59 +0,0 @@
|
||||
id: "SA3610"
|
||||
synoinfo: &synoinfo
|
||||
supportext4: "yes"
|
||||
support_uasp: "yes"
|
||||
support_printer: "yes"
|
||||
support_usb_printer: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_oob_ctl: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
supportsas: "no"
|
||||
supportsas_v2_r1: "no"
|
||||
support_multipath: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
SASmodel: 1
|
||||
HddHotplug: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v4-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
platform: "broadwellnkv2"
|
||||
unique: "synology_broadwellnkv2_sa3610"
|
||||
serial:
|
||||
prefix:
|
||||
- "0000"
|
||||
middle: "XXX"
|
||||
suffix: "alpha"
|
||||
dom: 1
|
||||
dt: true
|
||||
beta: true
|
||||
productvers:
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,58 +0,0 @@
|
||||
id: "SA6400"
|
||||
synoinfo: &synoinfo
|
||||
supportext4: "yes"
|
||||
support_uasp: "yes"
|
||||
support_printer: "yes"
|
||||
support_usb_printer: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_oob_ctl: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
netif_seq_by_dts: "no"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
patch: &patch
|
||||
- "ramdisk-etc-rc-*.patch"
|
||||
- "ramdisk-init-script-v5-*.patch"
|
||||
- "ramdisk-post-init-script-*.patch"
|
||||
- "ramdisk-disable-root-pwd-*.patch"
|
||||
platform: "epyc7002"
|
||||
unique: "synology_epyc7002_sa6400"
|
||||
serial:
|
||||
prefix:
|
||||
- "2270"
|
||||
middle: "UMR"
|
||||
suffix: "alpha"
|
||||
macpre: 9009d0
|
||||
dom: -1
|
||||
dt: true
|
||||
beta: false
|
||||
productvers:
|
||||
"7.1":
|
||||
kpre: "7.1"
|
||||
kver: "5.10.55"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
||||
|
||||
"7.2":
|
||||
kpre: "7.2"
|
||||
kver: "5.10.55"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch: *patch
|
@ -1,39 +0,0 @@
|
||||
--- a/linuxrc.syno.impl
|
||||
+++ b/linuxrc.syno.impl
|
||||
@@ -49,6 +49,9 @@
|
||||
UnknownSynoPartitionMigrationFlag="/.unknown_syno_partition_migrate"
|
||||
IncompatibleRootDevice="/.incompatible_root_device"
|
||||
|
||||
+insmod /usr/lib/modules/rp.ko
|
||||
+/addons/addons.sh early
|
||||
+
|
||||
UmountRoot()
|
||||
{
|
||||
grep "^${RootDevice}" /proc/mounts && /bin/umount -f ${Mnt}
|
||||
@@ -69,6 +73,8 @@
|
||||
/etc.defaults/AHAtasks stage_change_end
|
||||
fi
|
||||
|
||||
+ rmmod rp
|
||||
+ /addons/addons.sh jrExit
|
||||
UmountRoot
|
||||
|
||||
exit $1
|
||||
@@ -178,6 +184,8 @@
|
||||
echo "Insert basic USB modules..."
|
||||
SYNOLoadModules $USB_MODULES
|
||||
|
||||
+/addons/addons.sh modules
|
||||
+
|
||||
# insert Etron USB3.0 drivers
|
||||
|
||||
if [ $KERNEL_VCODE -ge "$(KernelVersionCode "3.10")" ]; then
|
||||
@@ -232,6 +240,8 @@
|
||||
fi
|
||||
fi
|
||||
|
||||
+/addons/addons.sh patches
|
||||
+
|
||||
if [ "$SupportDualhead" = "yes" ]; then
|
||||
# Run HA script
|
||||
/etc.defaults/AHAtasks check_stage
|
@ -1,39 +0,0 @@
|
||||
--- a/linuxrc.syno.impl
|
||||
+++ b/linuxrc.syno.impl
|
||||
@@ -51,6 +51,9 @@
|
||||
UnknownSynoPartitionMigrationFlag="/.unknown_syno_partition_migrate"
|
||||
IncompatibleRootDevice="/.incompatible_root_device"
|
||||
|
||||
+insmod /usr/lib/modules/rp.ko
|
||||
+/addons/addons.sh early
|
||||
+
|
||||
UmountRoot()
|
||||
{
|
||||
grep "^${RootDevice}" /proc/mounts && /bin/umount -f ${Mnt}
|
||||
@@ -67,6 +69,8 @@
|
||||
# show date for login info
|
||||
date
|
||||
|
||||
+ rmmod rp
|
||||
+ /addons/addons.sh jrExit
|
||||
UmountRoot
|
||||
|
||||
exit $1
|
||||
@@ -176,6 +179,8 @@
|
||||
echo "Insert basic USB modules..."
|
||||
SYNOLoadModules $USB_MODULES
|
||||
|
||||
+/addons/addons.sh modules
|
||||
+
|
||||
# insert Etron USB3.0 drivers
|
||||
|
||||
if [ $KERNEL_VCODE -ge "$(KernelVersionCode "3.10")" ]; then
|
||||
@@ -224,6 +229,8 @@
|
||||
fi
|
||||
fi
|
||||
|
||||
+/addons/addons.sh patches
|
||||
+
|
||||
LoadBrmModules
|
||||
|
||||
####################################################
|
@ -1,39 +0,0 @@
|
||||
--- a/linuxrc.syno.impl
|
||||
+++ b/linuxrc.syno.impl
|
||||
@@ -51,6 +51,9 @@
|
||||
UnknownSynoPartitionMigrationFlag="/.unknown_syno_partition_migrate"
|
||||
IncompatibleRootDevice="/.incompatible_root_device"
|
||||
|
||||
+insmod /usr/lib/modules/rp.ko
|
||||
+/addons/addons.sh early
|
||||
+
|
||||
UmountRoot()
|
||||
{
|
||||
grep "^${RootDevice}" /proc/mounts && /bin/umount -f ${Mnt}
|
||||
@@ -67,6 +69,8 @@
|
||||
# show date for login info
|
||||
date
|
||||
|
||||
+ rmmod rp
|
||||
+ /addons/addons.sh jrExit
|
||||
if [ "$1" -eq 0 ]; then
|
||||
TryRestoringDeviceBackToSwapRaid
|
||||
fi
|
||||
@@ -176,6 +179,8 @@
|
||||
echo "Insert basic USB modules..."
|
||||
SYNOLoadModules $USB_MODULES
|
||||
|
||||
+/addons/addons.sh modules
|
||||
+
|
||||
# insert Etron USB3.0 drivers
|
||||
|
||||
if [ $KERNEL_VCODE -ge "$(KernelVersionCode "3.10")" ]; then
|
||||
@@ -224,6 +229,8 @@
|
||||
fi
|
||||
fi
|
||||
|
||||
+/addons/addons.sh patches
|
||||
+
|
||||
LoadBrmModules
|
||||
|
||||
if [ "$KERNEL_VCODE" -ge "$(KernelVersionCode "5.10")" ]; then
|
162
files/initrd/opt/rr/platforms.yml
Normal file
162
files/initrd/opt/rr/platforms.yml
Normal file
@ -0,0 +1,162 @@
|
||||
synoinfo: &synoinfo
|
||||
supportext4: "yes"
|
||||
support_uasp: "yes"
|
||||
support_printer: "yes"
|
||||
support_usb_printer: "yes"
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_leds_atmega1608: "no"
|
||||
support_leds_lp3943: "no"
|
||||
support_oob_ctl: "no"
|
||||
support_syno_hybrid_raid: "no"
|
||||
supportraidgroup: "no"
|
||||
HddEnableDynamicPower: "yes"
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
platforms:
|
||||
apollolake:
|
||||
dt: false
|
||||
flags:
|
||||
- "movbe"
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
broadwell:
|
||||
dt: false
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
broadwellnk:
|
||||
dt: false
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
support_bde_internal_10g: "no"
|
||||
supportsas: "no"
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
broadwellnkv2:
|
||||
dt: true
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
support_bde_internal_10g: "no"
|
||||
supportsas: "no"
|
||||
supportsas_v2_r1: "no"
|
||||
support_multipath: "yes"
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
broadwellntbap:
|
||||
dt: false
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
support_bde_internal_10g: "no"
|
||||
supportsas: "no"
|
||||
supportbootinst: "no"
|
||||
no_disk_system: "no"
|
||||
support_auto_install: "no"
|
||||
support_install_only_dev: "no"
|
||||
required_system_disk_number: "0"
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
denverton:
|
||||
dt: false
|
||||
flags:
|
||||
- "movbe"
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
geminilake:
|
||||
dt: true
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
purley:
|
||||
dt: true
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
supportsas: "no"
|
||||
supportsas_v2_r1: "no"
|
||||
support_multipath: "yes"
|
||||
support_install_only_dev: "no"
|
||||
isolated_disk_system: "no"
|
||||
required_system_disk_number: "0"
|
||||
internal_disk_without_led_mask: "no"
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
r1000:
|
||||
dt: true
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
productvers:
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
v1000:
|
||||
dt: true
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
epyc7002:
|
||||
dt: true
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
netif_seq_by_dts: "no"
|
||||
productvers:
|
||||
"7.1":
|
||||
kpre: "7.1"
|
||||
kver: "5.10.55"
|
||||
"7.2":
|
||||
kpre: "7.2"
|
||||
kver: "5.10.55"
|
@ -29,11 +29,13 @@ mkdir -p "${RAMDISK_PATH}"
|
||||
) >/dev/null 2>&1
|
||||
|
||||
# get user data
|
||||
PLATFORM="$(readConfigKey "platform" "${USER_CONFIG_FILE}")"
|
||||
MODEL="$(readConfigKey "model" "${USER_CONFIG_FILE}")"
|
||||
PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")"
|
||||
BUILDNUM="$(readConfigKey "buildnum" "${USER_CONFIG_FILE}")"
|
||||
SMALLNUM="$(readConfigKey "smallnum" "${USER_CONFIG_FILE}")"
|
||||
KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||
RD_COMPRESSED="$(readConfigKey "rd-compressed" "${USER_CONFIG_FILE}")"
|
||||
LKM="$(readConfigKey "lkm" "${USER_CONFIG_FILE}")"
|
||||
SN="$(readConfigKey "sn" "${USER_CONFIG_FILE}")"
|
||||
LAYOUT="$(readConfigKey "layout" "${USER_CONFIG_FILE}")"
|
||||
@ -70,10 +72,8 @@ writeConfigKey "smallnum" "${SMALLNUM}" "${USER_CONFIG_FILE}"
|
||||
|
||||
echo -n "."
|
||||
# Read model data
|
||||
PLATFORM="$(readModelKey "${MODEL}" "platform")"
|
||||
KVER="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kver")"
|
||||
KPRE="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kpre")"
|
||||
RD_COMPRESSED="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].rd-compressed")"
|
||||
KVER=$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kver" "${WORK_PATH}/platforms.yml")
|
||||
KPRE=$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kpre" "${WORK_PATH}/platforms.yml")
|
||||
|
||||
# Sanity check
|
||||
if [ -z "${PLATFORM}" -o -z "${KVER}" ]; then
|
||||
@ -99,7 +99,13 @@ while IFS=': ' read KEY VALUE; do
|
||||
done <<<$(readConfigMap "modules" "${USER_CONFIG_FILE}")
|
||||
|
||||
# Patches (diff -Naru OLDFILE NEWFILE > xxx.patch)
|
||||
while read PE; do
|
||||
PATCHS=()
|
||||
PATCHS+=("ramdisk-etc-rc-*.patch")
|
||||
PATCHS+=("ramdisk-init-script-*.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 ${WORK_PATH}/patch/${PE} 2>/dev/null); do
|
||||
@ -113,7 +119,7 @@ while read PE; do
|
||||
[ ${RET} -eq 0 ] && break
|
||||
done
|
||||
[ ${RET} -ne 0 ] && exit 1
|
||||
done <<<$(readModelArray "${MODEL}" "productvers.[${PRODUCTVER}].patch")
|
||||
done
|
||||
|
||||
# Patch /etc/synoinfo.conf
|
||||
echo -n "."
|
||||
@ -156,19 +162,19 @@ echo "Create addons.sh" >"${LOG_FILE}"
|
||||
mkdir -p "${RAMDISK_PATH}/addons"
|
||||
echo "#!/bin/sh" >"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo 'echo "addons.sh called with params ${@}"' >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export LOADERLABEL=RR" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export LOADERVERSION=${RR_VERSION}" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export PLATFORM=${PLATFORM}" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export MODEL=${MODEL}" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export PRODUCTVERL=${PRODUCTVERL}" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export MLINK=${PATURL}" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export MCHECKSUM=${PATSUM}" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export LAYOUT=${LAYOUT}" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export KEYMAP=${KEYMAP}" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export LOADERLABEL=\"RR\"" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export LOADERVERSION=\"${RR_VERSION}\"" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export PLATFORM=\"${PLATFORM}\"" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export MODEL=\"${MODEL}\"" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export PRODUCTVERL=\"${PRODUCTVERL}\"" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export MLINK=\"${PATURL}\"" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export MCHECKSUM=\"${PATSUM}\"" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export LAYOUT=\"${LAYOUT}\"" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export KEYMAP=\"${KEYMAP}\"" >>"${RAMDISK_PATH}/addons/addons.sh"
|
||||
chmod +x "${RAMDISK_PATH}/addons/addons.sh"
|
||||
|
||||
# This order cannot be changed.
|
||||
for ADDON in "revert" "misc" "eudev" "disks" "localrss" "notify" "wol" "rndis"; do
|
||||
for ADDON in "redpill" "revert" "misc" "eudev" "disks" "localrss" "notify" "wol" "rndis"; do
|
||||
PARAMS=""
|
||||
if [ "${ADDON}" = "disks" ]; then
|
||||
PARAMS=${HDDSORT}
|
||||
|
220
files/initrd/opt/rr/serialnumber.yml
Normal file
220
files/initrd/opt/rr/serialnumber.yml
Normal file
@ -0,0 +1,220 @@
|
||||
"DS224+":
|
||||
prefix:
|
||||
- "2350"
|
||||
middle:
|
||||
- "WBR"
|
||||
suffix: "alpha"
|
||||
"DS423+":
|
||||
prefix:
|
||||
- "22A0"
|
||||
middle:
|
||||
- "VKR"
|
||||
suffix: "alpha"
|
||||
"DS718+":
|
||||
prefix:
|
||||
- "1930"
|
||||
middle:
|
||||
- "PEN"
|
||||
suffix: "numeric"
|
||||
"DS720+":
|
||||
prefix:
|
||||
- "2010"
|
||||
- "2110"
|
||||
middle:
|
||||
- "QWR"
|
||||
suffix: "alpha"
|
||||
"DS918+":
|
||||
prefix:
|
||||
- "1910"
|
||||
middle:
|
||||
- "PDN"
|
||||
suffix: "numeric"
|
||||
"DS920+":
|
||||
prefix:
|
||||
- "2030"
|
||||
- "2040"
|
||||
- "20C0"
|
||||
- "2150"
|
||||
middle:
|
||||
- "SBR"
|
||||
suffix: "alpha"
|
||||
"DS923+":
|
||||
prefix:
|
||||
- "2270"
|
||||
middle:
|
||||
- "TQR"
|
||||
suffix: "alpha"
|
||||
macpre: 9009d0
|
||||
"DS1019+":
|
||||
prefix:
|
||||
- "1850"
|
||||
- "1880"
|
||||
middle:
|
||||
- "QXR"
|
||||
suffix: "numeric"
|
||||
"DS1520+":
|
||||
prefix:
|
||||
- "2060"
|
||||
middle:
|
||||
- "RYR"
|
||||
suffix: "alpha"
|
||||
"DS1522+":
|
||||
prefix:
|
||||
- "2270"
|
||||
middle:
|
||||
- "TRR"
|
||||
suffix: "alpha"
|
||||
macpre: 9009d0
|
||||
"DS1621+":
|
||||
prefix:
|
||||
- "2080"
|
||||
middle:
|
||||
- "S7R"
|
||||
suffix: "alpha"
|
||||
"DS1621xs+":
|
||||
prefix:
|
||||
- "2070"
|
||||
middle:
|
||||
- "RVR"
|
||||
suffix: "alpha"
|
||||
"DS1819+":
|
||||
prefix:
|
||||
- "1890"
|
||||
middle:
|
||||
- "R5R"
|
||||
suffix: "alpha"
|
||||
"DS1821+":
|
||||
prefix:
|
||||
- "2110"
|
||||
middle:
|
||||
- "SKR"
|
||||
suffix: "alpha"
|
||||
"DS1823xs+":
|
||||
prefix:
|
||||
- "2280"
|
||||
middle:
|
||||
- "V5R"
|
||||
suffix: "alpha"
|
||||
"DS2419+":
|
||||
prefix:
|
||||
- "1880"
|
||||
middle:
|
||||
- "QZA"
|
||||
suffix: "alpha"
|
||||
"DS2422+":
|
||||
prefix:
|
||||
- "2140"
|
||||
- "2180"
|
||||
middle:
|
||||
- "SLR"
|
||||
suffix: "alpha"
|
||||
"DS3617xs":
|
||||
prefix:
|
||||
- "1130"
|
||||
- "1230"
|
||||
- "1330"
|
||||
- "1430"
|
||||
middle:
|
||||
- "ODN"
|
||||
suffix: "numeric"
|
||||
"DS3622xs+":
|
||||
prefix:
|
||||
- "2150"
|
||||
middle:
|
||||
- "SQR"
|
||||
suffix: "alpha"
|
||||
"DVA1622":
|
||||
prefix:
|
||||
- "2030"
|
||||
- "2040"
|
||||
- "20C0"
|
||||
- "2150"
|
||||
middle:
|
||||
- "UBR"
|
||||
suffix: "alpha"
|
||||
"DVA3219":
|
||||
prefix:
|
||||
- "1930"
|
||||
- "1940"
|
||||
middle:
|
||||
- "RFR"
|
||||
suffix: "alpha"
|
||||
"DVA3221":
|
||||
prefix:
|
||||
- "2030"
|
||||
- "2040"
|
||||
- "20C0"
|
||||
- "2150"
|
||||
middle:
|
||||
- "SJR"
|
||||
suffix: "alpha"
|
||||
"FS2500":
|
||||
prefix:
|
||||
- "1960"
|
||||
middle:
|
||||
- "PSN"
|
||||
suffix: "numeric"
|
||||
"FS6400":
|
||||
prefix:
|
||||
- "0000"
|
||||
middle:
|
||||
- "XXX"
|
||||
suffix: "alpha"
|
||||
"HD6500":
|
||||
prefix:
|
||||
- "20A0"
|
||||
- "21C0"
|
||||
middle:
|
||||
- "RUR"
|
||||
suffix: "alpha"
|
||||
macpre: 9009d0
|
||||
"RS1221+":
|
||||
prefix:
|
||||
- "20B0"
|
||||
middle:
|
||||
- "RWR"
|
||||
suffix: "alpha"
|
||||
"RS1619xs+":
|
||||
prefix:
|
||||
- "1920"
|
||||
middle:
|
||||
- "QPR"
|
||||
suffix: "alpha"
|
||||
"RS3621xs+":
|
||||
prefix:
|
||||
- "20A0"
|
||||
middle:
|
||||
- "SZR"
|
||||
suffix: "alpha"
|
||||
"RS4021xs+":
|
||||
prefix:
|
||||
- "2160"
|
||||
middle:
|
||||
- "T2R"
|
||||
suffix: "alpha"
|
||||
macpre: 9009d0
|
||||
"SA3200D":
|
||||
prefix:
|
||||
- "19A0"
|
||||
middle:
|
||||
- "S4R"
|
||||
suffix: "alpha"
|
||||
"SA3400":
|
||||
prefix:
|
||||
- "1970"
|
||||
middle:
|
||||
- "RJR"
|
||||
suffix: "alpha"
|
||||
"SA6400":
|
||||
prefix:
|
||||
- "2350"
|
||||
middle:
|
||||
- "W8R"
|
||||
suffix: "alpha"
|
||||
"SA3410":
|
||||
prefix:
|
||||
- "2270"
|
||||
middle:
|
||||
- "UMR"
|
||||
suffix: "alpha"
|
||||
macpre: 9009d0
|
@ -5,9 +5,10 @@
|
||||
|
||||
. ${WORK_PATH}/include/functions.sh
|
||||
|
||||
MODEL="$(readConfigKey "model" "${USER_CONFIG_FILE}")"
|
||||
PLATFORM="$(readConfigKey "platform" "${USER_CONFIG_FILE}")"
|
||||
PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")"
|
||||
KVER="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kver")"
|
||||
KVER=$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kver" "${WORK_PATH}/platforms.yml")
|
||||
KPRE=$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kpre" "${WORK_PATH}/platforms.yml")
|
||||
|
||||
# Adapted from: scripts/Makefile.lib
|
||||
# Usage: size_append FILE [FILE2] [FILEn]...
|
||||
@ -66,7 +67,7 @@ if [ $(echo "${KVER:-4}" | cut -d'.' -f1) -lt 5 ]; then
|
||||
file_size_le "${VMLINUX_MOD}" | dd of="${ZIMAGE_MOD}" bs=15745244 seek=1 conv=notrunc || exit 1
|
||||
|
||||
RUN_SIZE=$(objdump -h ${VMLINUX_MOD} | sh "${WORK_PATH}/calc_run_size.sh")
|
||||
size_le ${RUN_SIZE} | dd of=${ZIMAGE_MOD} bs=15745210 seek=1 conv=notrunc|| exit 1
|
||||
size_le ${RUN_SIZE} | dd of=${ZIMAGE_MOD} bs=15745210 seek=1 conv=notrunc || exit 1
|
||||
size_le $(($((16#$(crc32 "${ZIMAGE_MOD}" | awk '{print $1}'))) ^ 0xFFFFFFFF)) | dd of="${ZIMAGE_MOD}" conv=notrunc oflag=append || exit 1
|
||||
else
|
||||
# Kernel version 5.x
|
||||
|
@ -19,11 +19,10 @@ rm -f "${MOD_ZIMAGE_FILE}"
|
||||
KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||
if [ "${KERNEL}" = "custom" ]; then
|
||||
echo -n "."
|
||||
MODEL="$(readConfigKey "model" "${USER_CONFIG_FILE}")"
|
||||
PLATFORM="$(readConfigKey "platform" "${USER_CONFIG_FILE}")"
|
||||
PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")"
|
||||
PLATFORM="$(readModelKey "${MODEL}" "platform")"
|
||||
KVER="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kver")"
|
||||
KPRE="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kpre")"
|
||||
KVER=$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kver" "${WORK_PATH}/platforms.yml")
|
||||
KPRE=$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kpre" "${WORK_PATH}/platforms.yml")
|
||||
# Extract bzImage
|
||||
gzip -dc "${CKS_PATH}/bzImage-${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}.gz" >"${MOD_ZIMAGE_FILE}"
|
||||
else
|
||||
|
@ -6,7 +6,7 @@
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
import os, sys, glob, json, yaml, click, shutil, tarfile, kmodule
|
||||
import os, sys, glob, json, yaml, click, shutil, tarfile, kmodule, requests
|
||||
from openpyxl import Workbook
|
||||
|
||||
|
||||
@ -23,23 +23,35 @@ def cli():
|
||||
@click.option("-j", "--jsonpath", type=str, required=True, help="The output path of jsonfile.")
|
||||
@click.option("-x", "--xlsxpath", type=str, required=False, help="The output path of xlsxfile.")
|
||||
def getmodels(workpath, jsonpath, xlsxpath):
|
||||
# Read the model-configs files
|
||||
MS = glob.glob("{}/opt/rr/model-configs/*.yml".format(workpath))
|
||||
MS.sort()
|
||||
|
||||
models = {}
|
||||
for M in MS:
|
||||
with open(M, "r") as f:
|
||||
M_name = os.path.splitext(os.path.basename(M))[0]
|
||||
M_data = yaml.safe_load(f)
|
||||
M_platform = M_data.get("platform", "")
|
||||
M_productvers = M_data.get("productvers", [])
|
||||
with open("{}/opt/rr/platforms.yml".format(workpath), "r") as f:
|
||||
P_data = yaml.safe_load(f)
|
||||
P_platforms = P_data.get("platforms", [])
|
||||
for P in P_platforms:
|
||||
productvers = {}
|
||||
for P in M_productvers:
|
||||
if M_productvers[P].get("kpre", "") != "":
|
||||
productvers[P] = M_productvers[P].get("kpre", "") + "-" + M_productvers[P].get("kver", "")
|
||||
for V in P_platforms[P]["productvers"]:
|
||||
if P_platforms[P]["productvers"][V].get("kpre", "") != "":
|
||||
productvers[V] = (P_platforms[P]["productvers"][V].get("kpre", "") + "-" + P_platforms[P]["productvers"][V].get("kver", ""))
|
||||
else:
|
||||
productvers[P] = M_productvers[P].get("kver", "")
|
||||
models[M_name] = {"platform": M_platform, "productvers": productvers}
|
||||
productvers[V] = P_platforms[P]["productvers"][V].get("kver", "")
|
||||
models[P] = {"productvers": productvers, "models": []}
|
||||
|
||||
req = requests.get("https://autoupdate.synology.com/os/v2")
|
||||
req.encoding = "utf-8"
|
||||
data = json.loads(req.text)
|
||||
|
||||
for I in data["channel"]["item"]:
|
||||
if not I["title"].startswith("DSM"):
|
||||
continue
|
||||
for J in I["model"]:
|
||||
arch = J["mUnique"].split("_")[1].lower()
|
||||
name = J["mLink"].split("/")[-1].split("_")[1].replace("%2B", "+")
|
||||
if arch not in models.keys():
|
||||
continue
|
||||
if name in (A for B in models for A in models[B]["models"]):
|
||||
continue
|
||||
models[arch]["models"].append(name)
|
||||
|
||||
if jsonpath:
|
||||
with open(jsonpath, "w") as f:
|
||||
@ -47,10 +59,9 @@ def getmodels(workpath, jsonpath, xlsxpath):
|
||||
if xlsxpath:
|
||||
wb = Workbook()
|
||||
ws = wb.active
|
||||
ws.append(["Model", "platform", "productvers", "kvernelvers"])
|
||||
for k1, v1 in models.items():
|
||||
for k2, v2 in v1["productvers"].items():
|
||||
ws.append([k1, v1["platform"], k2, v2])
|
||||
ws.append(["platform", "productvers", "Model"])
|
||||
for k, v in models.items():
|
||||
ws.append([k, v["productvers"], v["models"]])
|
||||
wb.save(xlsxpath)
|
||||
|
||||
|
||||
@ -76,9 +87,9 @@ def getaddons(workpath, jsonpath, xlsxpath):
|
||||
if xlsxpath:
|
||||
wb = Workbook()
|
||||
ws = wb.active
|
||||
ws.append(['Name', 'system', 'en_US', 'zh_CN'])
|
||||
ws.append(["Name", "system", "en_US", "zh_CN"])
|
||||
for k1, v1 in addons.items():
|
||||
ws.append([k1, v1.get("system", False), v1.get("description").get("en_US", ""), v1.get("description").get("zh_CN", "")])
|
||||
ws.append([k1, v1.get("system", False), v1.get("description").get("en_US", ""), v1.get("description").get("zh_CN", ""),])
|
||||
wb.save(xlsxpath)
|
||||
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
click
|
||||
kmodule
|
||||
requests
|
||||
openpyxl
|
Loading…
x
Reference in New Issue
Block a user