mirror of
https://github.com/RROrg/rr.git
synced 2025-09-10 22:07:23 +08:00
Compare commits
No commits in common. "main" and "23.8.1" have entirely different histories.
6
.gitattributes
vendored
6
.gitattributes
vendored
@ -1,5 +1 @@
|
||||
* text=auto eol=lf
|
||||
*.png binary
|
||||
*.jpg binary
|
||||
*.gif binary
|
||||
*.ico binary
|
||||
*.sh eol=lf
|
35
.github/ISSUE_TEMPLATE/bug.md
vendored
35
.github/ISSUE_TEMPLATE/bug.md
vendored
@ -7,36 +7,19 @@ assignees: ''
|
||||
|
||||
---
|
||||
|
||||
请填写以下信息.
|
||||
Please fill in the following information.
|
||||
Install ENV:
|
||||
* motherboard:
|
||||
* CPU:
|
||||
* NIC:
|
||||
|
||||
Install ENV: (You can find it in the boot interface.)
|
||||
* DMI:
|
||||
* CPU:
|
||||
* NIC: (pid & vid)
|
||||
Arpl version:
|
||||
|
||||
RR version: (You can find it in the update menu.)
|
||||
* RR:
|
||||
* addons:
|
||||
* modules:
|
||||
* lkms:
|
||||
DSM model:
|
||||
DSM version:
|
||||
|
||||
DSM:
|
||||
* model:
|
||||
* version:
|
||||
Issue:
|
||||
|
||||
Issue:
|
||||
logs:
|
||||
|
||||
logs:
|
||||
|
||||
(## 因为 log中存在 SN/MAC 等一些敏感信息, 当提供完整文件时请自行抹除他们, 当然你也可以发送到我的邮箱. ##)
|
||||
(## Because the log contains some sensitive information such as SN/MAC, please delete them when providing the complete file. Of course, you can also send it to my email. ##)
|
||||
...
|
||||
|
||||
(请先看一下#173、#175、#226 的内容)
|
||||
(Plz review the content of #173, #175, #226 first)
|
||||
...
|
||||
|
||||
(如果你只是说 XXX 不能用, 什么详细信息也不提供, 我也只能说感谢你的反馈.)
|
||||
(If you just say XXX doesn't work without providing any details, I can only say thank you for your feedback.)
|
||||
...
|
||||
|
107
.github/workflows/data.yml
vendored
107
.github/workflows/data.yml
vendored
@ -1,107 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2022 Ing <https://github.com/wjz304>
|
||||
#
|
||||
# This is free software, licensed under the MIT License.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
name: Data
|
||||
on:
|
||||
release:
|
||||
types:
|
||||
- created
|
||||
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
push:
|
||||
description: "push"
|
||||
default: false
|
||||
type: boolean
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@main
|
||||
with:
|
||||
ref: main
|
||||
|
||||
- name: Init Env
|
||||
run: |
|
||||
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git config --global user.name "github-actions[bot]"
|
||||
sudo timedatectl set-timezone "Asia/Shanghai"
|
||||
|
||||
- name: Delay
|
||||
run: |
|
||||
echo "Delaying for 1 minutes..."
|
||||
sleep 60
|
||||
|
||||
- name: Get Release RR
|
||||
run: |
|
||||
REPO="${{ github.server_url }}/${{ github.repository }}"
|
||||
PRERELEASE="true"
|
||||
|
||||
TAG=""
|
||||
if [ "${PRERELEASE}" = "true" ]; then
|
||||
TAG="$(curl -skL --connect-timeout 10 "${REPO}/tags" | grep "/refs/tags/.*\.zip" | sed -E 's/.*\/refs\/tags\/(.*)\.zip.*$/\1/' | sort -rV | head -1)"
|
||||
else
|
||||
TAG="$(curl -skL --connect-timeout 10 -w "%{url_effective}" -o /dev/null "${REPO}/releases/latest" | awk -F'/' '{print $NF}')"
|
||||
fi
|
||||
[ "${TAG:0:1}" = "v" ] && TAG="${TAG:1}"
|
||||
rm -f rr-${TAG}.img.zip
|
||||
STATUS=$(curl -kL --connect-timeout 10 -w "%{http_code}" "${REPO}/releases/download/${TAG}/rr-${TAG}.img.zip" -o "rr-${TAG}.img.zip")
|
||||
if [ $? -ne 0 ] || [ ${STATUS:-0} -ne 200 ]; then
|
||||
echo "Download failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
unzip rr-${TAG}.img.zip -d "rr"
|
||||
|
||||
export TERM=xterm
|
||||
|
||||
sudo ./localbuild.sh create rr/ws rr/rr.img
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "create failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Get data
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y locales busybox dialog gettext sed gawk jq curl
|
||||
sudo apt install -y python-is-python3 python3-pip libelf-dev qemu-utils cpio xz-utils lz4 lzma bzip2 gzip zstd
|
||||
sudo apt install -y build-essential libtool pkgconf libzstd-dev liblzma-dev libssl-dev # kmodule dependencies
|
||||
|
||||
# Backup the original python3 executable.
|
||||
sudo mv -f "$(realpath $(which python3))/EXTERNALLY-MANAGED" "$(realpath $(which python3))/EXTERNALLY-MANAGED.bak" 2>/dev/null || true
|
||||
sudo pip3 install -U -r scripts/requirements.txt
|
||||
|
||||
python3 scripts/func.py getmodels -w "rr/ws/initrd" -j "docs/models.json" -x "docs/models.xlsx"
|
||||
python3 scripts/func.py getpats -w "rr/ws/initrd" -j "docs/pats.json" -x "docs/pats.xlsx"
|
||||
python3 scripts/func.py getaddons -w "rr/ws" -j "docs/addons.json" -x "docs/addons.xlsx"
|
||||
python3 scripts/func.py getmodules -w "rr/ws" -j "docs/modules.json" -x "docs/modules.xlsx"
|
||||
|
||||
- name: Upload to Artifacts
|
||||
if: success()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: docs
|
||||
path: |
|
||||
docs/*.json
|
||||
docs/*.xlsx
|
||||
retention-days: 5
|
||||
|
||||
- name: Check and Push
|
||||
if: success() && (inputs.push == true || github.event.action == 'created')
|
||||
run: |
|
||||
echo "Git push ..."
|
||||
# git checkout main
|
||||
git pull
|
||||
status=$(git status -s | grep -E "docs" | awk '{printf " %s", $2}')
|
||||
if [ -n "${status}" ]; then
|
||||
git add ${status}
|
||||
git commit -m "update $(date +%Y-%m-%d" "%H:%M:%S)"
|
||||
git push -f
|
||||
fi
|
62
.github/workflows/grub.yml
vendored
Normal file
62
.github/workflows/grub.yml
vendored
Normal file
@ -0,0 +1,62 @@
|
||||
#
|
||||
# Copyright (C) 2022 Ing <https://github.com/wjz304>
|
||||
#
|
||||
# This is free software, licensed under the MIT License.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
name: Grub
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
push:
|
||||
description: 'push'
|
||||
default: false
|
||||
type: boolean
|
||||
jobs:
|
||||
grub:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@main
|
||||
|
||||
- name: Initialization environment
|
||||
run : |
|
||||
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git config --global user.name "github-actions[bot]"
|
||||
sudo timedatectl set-timezone "Asia/Shanghai"
|
||||
|
||||
sudo apt update
|
||||
sudo apt install -y build-essential bison flex dosfstools
|
||||
|
||||
- name: Make Grub
|
||||
run: |
|
||||
. scripts/grub.sh "grub-2.06" "i386-pc i386-efi x86_64-efi"
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: grub
|
||||
path: |
|
||||
grub.img.gz
|
||||
|
||||
- name: Check and Push
|
||||
if: success() && inputs.push == true
|
||||
run: |
|
||||
if [ -f "grub.img.gz" ]; then
|
||||
echo "Copy img ..."
|
||||
mv -f grub.img.gz files/board/arpl/grub.img.gz
|
||||
|
||||
echo "Git push ..."
|
||||
git pull
|
||||
status=$(git status -s | grep -E 'grub.img.gz' | awk '{printf " %s", $2}')
|
||||
if [ -n "${status}" ]; then
|
||||
git add ${status}
|
||||
git commit -m "update $(date +%Y-%m-%d" "%H:%M:%S)"
|
||||
git push -f
|
||||
fi
|
||||
else
|
||||
echo "No change ..."
|
||||
fi
|
||||
|
435
.github/workflows/issues.yml
vendored
435
.github/workflows/issues.yml
vendored
@ -1,11 +1,12 @@
|
||||
#
|
||||
# Copyright (C) 2022 Ing <https://github.com/wjz304>
|
||||
#
|
||||
#
|
||||
# This is free software, licensed under the MIT License.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
name: Issues
|
||||
|
||||
name: Auto Comment
|
||||
on:
|
||||
issues:
|
||||
types: [opened, reopened]
|
||||
@ -14,436 +15,28 @@ jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@main
|
||||
|
||||
- name: Init Env
|
||||
run: |
|
||||
run : |
|
||||
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git config --global user.name "github-actions[bot]"
|
||||
sudo timedatectl set-timezone "Asia/Shanghai"
|
||||
|
||||
|
||||
- name: Check Issues
|
||||
shell: python
|
||||
run: |
|
||||
# -*- coding: utf-8 -*-
|
||||
import json, subprocess
|
||||
def set_output(name, value):
|
||||
subprocess.call(f'echo "{name}<<EOF" >> $GITHUB_ENV', shell=True)
|
||||
subprocess.call(f'echo "{value}" >> $GITHUB_ENV', shell=True)
|
||||
subprocess.call(f'echo "EOF" >> $GITHUB_ENV', shell=True)
|
||||
if echo "${{ github.event.issue.body }}" | grep -q "DS"; then
|
||||
echo "FALG=true" >> $GITHUB_ENV
|
||||
else
|
||||
echo "FALG=false" >> $GITHUB_ENV
|
||||
fi
|
||||
|
||||
issuetitle = ${{ toJSON(github.event.issue.title) }}
|
||||
issuebody = ${{ toJSON(github.event.issue.body) }}
|
||||
|
||||
iscustom = 'false'
|
||||
warinfo = 'false'
|
||||
|
||||
format = ''
|
||||
size = ''
|
||||
template = ''
|
||||
language= ''
|
||||
sn = ''
|
||||
macs = ''
|
||||
tips = ''
|
||||
model = ''
|
||||
version = ''
|
||||
kernel = ''
|
||||
addons = ''
|
||||
modules = ''
|
||||
try:
|
||||
if issuetitle.lower().startswith('custom'):
|
||||
jsonbody = json.loads(issuebody)
|
||||
iscustom = 'true'
|
||||
format = jsonbody.get('format', '')
|
||||
size = jsonbody.get('size', '')
|
||||
template = jsonbody.get('template', '')
|
||||
language = jsonbody.get('language', '')
|
||||
sn = jsonbody.get('sn', '')
|
||||
macs = jsonbody.get('macs', '')
|
||||
tips = jsonbody.get('tips', '')
|
||||
model = jsonbody.get('model', '')
|
||||
version = jsonbody.get('version', '')
|
||||
kernel = jsonbody.get('kernel', '')
|
||||
addons = jsonbody.get('addons', '')
|
||||
modules = jsonbody.get('modules', '')
|
||||
except ValueError as e:
|
||||
pass
|
||||
|
||||
if iscustom == 'false':
|
||||
if issuebody.find('DMI') < 0 and issuebody.find('CPU') < 0 and issuebody.find('NIC') < 0:
|
||||
warinfo = 'true'
|
||||
|
||||
set_output("iscustom", iscustom)
|
||||
set_output("warinfo", warinfo)
|
||||
|
||||
set_output("format", format)
|
||||
set_output("size", size)
|
||||
set_output("template", template)
|
||||
set_output("language", language)
|
||||
set_output("sn", sn)
|
||||
set_output("macs", macs)
|
||||
set_output("tips", tips)
|
||||
set_output("model", model)
|
||||
set_output("version", version)
|
||||
set_output("kernel", kernel)
|
||||
set_output("addons", addons)
|
||||
set_output("modules", modules)
|
||||
|
||||
- name: Update Comment Warinfo
|
||||
if: env.warinfo == 'true'
|
||||
uses: actions-cool/issues-helper@v3
|
||||
with:
|
||||
actions: "create-comment"
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
issue-number: ${{ github.event.issue.number }}
|
||||
body: |
|
||||
<img src="https://user-images.githubusercontent.com/5615843/235939097-6798da58-24fd-44cc-9970-c8d2f9609704.jpg" width="400">
|
||||
|
||||
请填写以下信息.
|
||||
Please fill in the following information.
|
||||
|
||||
Install ENV: (You can find it in the boot interface.)
|
||||
* DMI:
|
||||
* CPU:
|
||||
* NIC: (pid & vid)
|
||||
|
||||
RR version: (You can find it in the update menu.)
|
||||
* RR:
|
||||
* addons:
|
||||
* modules:
|
||||
* lkms:
|
||||
|
||||
DSM:
|
||||
* model:
|
||||
* version:
|
||||
|
||||
Issue:
|
||||
|
||||
logs:
|
||||
|
||||
(## 因为 log中存在 SN/MAC 等一些敏感信息, 当提供完整文件时请自行抹除他们, 当然你也可以发送到我的邮箱. ##)
|
||||
(## Because the log contains some sensitive information such as SN/MAC, please delete them when providing the complete file. Of course, you can also send it to my email. ##)
|
||||
...
|
||||
|
||||
(请先看一下#173、#175、#226 的内容)
|
||||
(Plz review the content of #173, #175, #226 first)
|
||||
...
|
||||
|
||||
(如果你只是说 XXX 不能用, 什么详细信息也不提供, 我也只能说感谢你的反馈.)
|
||||
(If you just say XXX doesn't work without providing any details, I can only say thank you for your feedback.)
|
||||
...
|
||||
|
||||
emoji: heart
|
||||
|
||||
- name: Update Comment Labels
|
||||
if: env.iscustom == 'true'
|
||||
uses: actions-cool/issues-helper@v3
|
||||
with:
|
||||
actions: 'add-labels'
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
issue-number: ${{ github.event.issue.number }}
|
||||
labels: 'custom,${{ env.model }}'
|
||||
|
||||
- name: Update Comment Building
|
||||
if: env.iscustom == 'true'
|
||||
id: comment
|
||||
- name: Create Issues comment
|
||||
if: env.FALG == 'false'
|
||||
uses: actions-cool/issues-helper@v3
|
||||
with:
|
||||
actions: 'create-comment'
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
issue-number: ${{ github.event.issue.number }}
|
||||
body: |
|
||||
Hi @${{ github.event.issue.user.login }}.
|
||||
RR-${{ env.model }} building (Usually about 5 minutes) ...
|
||||
> ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
----
|
||||
body: |
|
||||
<img src="https://user-images.githubusercontent.com/5615843/235939097-6798da58-24fd-44cc-9970-c8d2f9609704.jpg" width="400">
|
||||
emoji: heart
|
||||
|
||||
- name: Run Build
|
||||
if: env.iscustom == 'true'
|
||||
run: |
|
||||
# 累了, 毁灭吧!
|
||||
|
||||
# yq need sudo !!!
|
||||
function deleteConfigKey() {
|
||||
sudo yq eval "del(.${1})" --inplace "${2}" 2>/dev/null
|
||||
}
|
||||
|
||||
function writeConfigKey() {
|
||||
local value="${2}"
|
||||
[ "${value}" = "{}" ] && sudo yq eval ".${1} = {}" --inplace "${3}" 2>/dev/null || sudo yq eval ".${1} = \"${value}\"" --inplace "${3}" 2>/dev/null
|
||||
}
|
||||
|
||||
function readConfigKey() {
|
||||
local result
|
||||
result=$(sudo yq eval ".${1} | explode(.)" "${2}" 2>/dev/null)
|
||||
[ "${result}" = "null" ] && echo "" || echo "${result}"
|
||||
}
|
||||
|
||||
function mergeConfigModules() {
|
||||
# Error: bad file '-': cannot index array with '8139cp' (strconv.ParseInt: parsing "8139cp": invalid syntax)
|
||||
# When the first key is a pure number, yq will not process it as a string by default. The current solution is to insert a placeholder key.
|
||||
local MS ML XF
|
||||
MS="RRORG\n${1// /\\n}"
|
||||
ML="$(echo -en "${MS}" | awk '{print "modules."$1":"}')"
|
||||
XF=$(mktemp 2>/dev/null)
|
||||
XF=${XF:-/tmp/tmp.XXXXXXXXXX}
|
||||
echo -en "${ML}" | sudo yq -p p -o y >"${XF}"
|
||||
deleteConfigKey "modules.\"RRORG\"" "${XF}"
|
||||
sudo yq eval-all --inplace '. as $item ireduce ({}; . * $item)' --inplace "${2}" "${XF}" 2>/dev/null
|
||||
rm -f "${XF}"
|
||||
}
|
||||
|
||||
REPO="${{ github.server_url }}/${{ github.repository }}"
|
||||
MODEL="${{ env.model }}"
|
||||
VERSION="${{ env.version }}"
|
||||
PRERELEASE="true"
|
||||
|
||||
TAG=""
|
||||
if [ "${PRERELEASE}" = "true" ]; then
|
||||
TAG="$(curl -skL --connect-timeout 10 "${REPO}/tags" | grep "/refs/tags/.*\.zip" | sed -E 's/.*\/refs\/tags\/(.*)\.zip.*$/\1/' | sort -rV | head -1)"
|
||||
else
|
||||
TAG="$(curl -skL --connect-timeout 10 -w "%{url_effective}" -o /dev/null "${REPO}/releases/latest" | awk -F'/' '{print $NF}')"
|
||||
fi
|
||||
[ "${TAG:0:1}" = "v" ] && TAG="${TAG:1}"
|
||||
rm -f rr-${TAG}.img.zip
|
||||
STATUS=$(curl -kL --connect-timeout 10 -w "%{http_code}" "${REPO}/releases/download/${TAG}/rr-${TAG}.img.zip" -o "rr-${TAG}.img.zip")
|
||||
if [ $? -ne 0 ] || [ ${STATUS:-0} -ne 200 ]; then
|
||||
echo "Download failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
unzip rr-${TAG}.img.zip -d "rr"
|
||||
|
||||
export TERM=xterm
|
||||
|
||||
sudo ./localbuild.sh create rr/ws rr/rr.img
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "create failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# sudo cp -rf files/initrd/opt/rr/* rr/ws/initrd/opt/rr/
|
||||
# sudo sed -i "s/set -e/set -ex/" rr/ws/initrd/opt/rr/init.sh
|
||||
# sudo sed -i '/^alias/i\set -x' rr/ws/initrd/opt/rr/menu.sh
|
||||
|
||||
[ -n "${{ env.language }}" ] && echo "${{ env.language }}.UTF-8" | sudo tee rr/ws/mnt/p1/.locale
|
||||
|
||||
sudo ./localbuild.sh init
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "init failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -n "${{ env.kernel }}" ]; then
|
||||
echo "set kernel"
|
||||
USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml"
|
||||
writeConfigKey "kernel" "${{ env.kernel }}" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
|
||||
sudo ./localbuild.sh config "${MODEL}" "${VERSION}"
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "config failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -n "${{ env.sn }}" ]; then
|
||||
echo "set sn: ${{ env.sn }}"
|
||||
USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml"
|
||||
writeConfigKey "sn" "${{ env.sn }}" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
|
||||
if [ -n "${{ env.macs }}" ]; then
|
||||
echo "set macs: ${{ env.macs }}"
|
||||
USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml"
|
||||
MACS=($(echo "${{ env.macs }}" | sed 's/[:-]//g' | sed 's/.*/\U&/' | sed 's/[;,]/ /g'))
|
||||
writeConfigKey "mac1" "${MACS[0]}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "mac2" "${MACS[1]}" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
|
||||
if [ -n "${{ env.tips }}" ]; then
|
||||
echo "set tips: ${{ env.tips }}"
|
||||
echo -e "${{ env.tips }}" | sudo tee rr/ws/mnt/p3/AddTips
|
||||
fi
|
||||
|
||||
if [ -n "${{ env.addons }}" ]; then
|
||||
echo "set addons: ${{ env.addons }}"
|
||||
USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml"
|
||||
writeConfigKey "addons" "{}" "${USER_CONFIG_FILE}"
|
||||
IFS=',' read -ra ADDON_ARR <<< "${{ env.addons }}"
|
||||
for A in "${ADDON_ARR[@]}"; do
|
||||
if echo "${A}" | grep -qE '^[^:]+:[^:]+$'; then
|
||||
KEY="$(echo "${A}" | cut -d':' -f1 | xargs)"
|
||||
VAL="$(echo "${A}" | cut -d':' -f2 | xargs)"
|
||||
else
|
||||
KEY="${A}"
|
||||
VAL=""
|
||||
fi
|
||||
writeConfigKey "addons.\"${KEY}\"" "${VAL}" "${USER_CONFIG_FILE}"
|
||||
done
|
||||
fi
|
||||
|
||||
if [ ! "custom" = "${{ env.kernel }}" ] && [ -n "${{ env.modules }}" ]; then
|
||||
echo "set modules: ${{ env.modules }}"
|
||||
USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml"
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
mergeConfigModules "$(echo "${{ env.modules }}" | sed 's/,/\n/g')" "${USER_CONFIG_FILE}"
|
||||
# for M in $(echo "${{ env.modules }}" | sed 's/,/ /g'); do
|
||||
# writeConfigKey "modules.\"${M}\"" "" "${USER_CONFIG_FILE}"
|
||||
# done
|
||||
fi
|
||||
|
||||
sudo ./localbuild.sh build
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "build failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "true" = "${{ env.template }}" ]; then
|
||||
echo "set template: ${{ env.template }}"
|
||||
USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml"
|
||||
writeConfigKey "sn" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "mac1" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "mac2" "" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
|
||||
sudo ./localbuild.sh pack rr/rr.img
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "pack failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case "${{ env.size }}" in
|
||||
2GB)
|
||||
echo "2GB"
|
||||
;;
|
||||
4GB)
|
||||
echo "4GB"
|
||||
sudo ./localbuild.sh resize rr/rr.img +2048M
|
||||
;;
|
||||
8GB)
|
||||
echo "8GB"
|
||||
sudo ./localbuild.sh resize rr/rr.img +6144M
|
||||
;;
|
||||
*)
|
||||
echo "unknown size"
|
||||
;;
|
||||
esac
|
||||
|
||||
ls rr -al
|
||||
|
||||
RR_VERSION_FILE="rr/ws/mnt/p1/RR_VERSION"
|
||||
USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml"
|
||||
{
|
||||
echo "RR: "
|
||||
echo " VERSION: $(cat "${RR_VERSION_FILE}" 2>/dev/null | head -1)"
|
||||
echo " CUSTOM: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
|
||||
echo
|
||||
echo "DSM:"
|
||||
echo " MODEL: $(readConfigKey "model" "${USER_CONFIG_FILE}")"
|
||||
echo " VERSION: $(readConfigKey "productver" "${USER_CONFIG_FILE}")"
|
||||
echo " KERNEL: $(readConfigKey "kernel" "${USER_CONFIG_FILE}")"
|
||||
echo " PATURL: $(readConfigKey "paturl" "${USER_CONFIG_FILE}")"
|
||||
echo " PATSUM: $(readConfigKey "patsum" "${USER_CONFIG_FILE}")"
|
||||
echo
|
||||
echo
|
||||
echo "After the image is written to the disk, it will boot directly into DSM without the need to compile again."
|
||||
echo "Of course, you can also modify the settings yourself."
|
||||
} >README.txt
|
||||
|
||||
case "${{ env.format }}" in
|
||||
ova)
|
||||
echo "OVA"
|
||||
. scripts/func.sh "${{ secrets.RRORG }}"
|
||||
convertova "rr/rr.img" "rr/rr.ova"
|
||||
(cd rr && sha256sum rr.ova >../sha256sum)
|
||||
zip -9 "rr-${MODEL}-${TAG}-${{ github.run_id }}.ova.zip" -j rr/rr.ova ${USER_CONFIG_FILE} sha256sum README.txt
|
||||
;;
|
||||
vmx)
|
||||
echo "VMX"
|
||||
. scripts/func.sh "${{ secrets.RRORG }}"
|
||||
convertvmx "rr/rr.img" "rr.vmx" # rr.vmx is a directory
|
||||
(cd rr.vmx && sha256sum * >../sha256sum)
|
||||
zip -9 "rr-${MODEL}-${TAG}-${{ github.run_id }}.vmx.zip" -r rr.vmx ${USER_CONFIG_FILE} sha256sum README.txt
|
||||
;;
|
||||
vmdk)
|
||||
echo "VMDK"
|
||||
qemu-img convert rr/rr.img -O vmdk -o 'adapter_type=lsilogic,subformat=streamOptimized,compat6' rr/rr.vmdk
|
||||
(cd rr && sha256sum rr.vmdk >../sha256sum)
|
||||
zip -9 "rr-${MODEL}-${TAG}-${{ github.run_id }}.vmdk.zip" -j rr/rr.vmdk ${USER_CONFIG_FILE} sha256sum README.txt
|
||||
;;
|
||||
flat)
|
||||
echo "FLAT"
|
||||
qemu-img convert rr/rr.img -O vmdk -o 'adapter_type=lsilogic,subformat=monolithicFlat,compat6' rr/rr.vmdk
|
||||
(cd rr && sha256sum rr*.vmdk >../sha256sum)
|
||||
zip -9 "rr-${MODEL}-${TAG}-${{ github.run_id }}.flat.zip" -j rr/rr*.vmdk ${USER_CONFIG_FILE} sha256sum README.txt
|
||||
;;
|
||||
vhd)
|
||||
echo "VHD"
|
||||
. scripts/func.sh "${{ secrets.RRORG }}"
|
||||
qemu-img convert rr/rr.img -O vpc rr/rr.vhd
|
||||
createvmc "rr/rr.vhd" "rr/rr.vmc"
|
||||
(cd rr && sha256sum rr.vhd >../sha256sum)
|
||||
zip -9 "rr-${MODEL}-${TAG}-${{ github.run_id }}.vhd.zip" -j rr/rr.vmc rr/rr.vhd ${USER_CONFIG_FILE} sha256sum README.txt
|
||||
;;
|
||||
vhdx)
|
||||
echo "VHDX"
|
||||
qemu-img convert rr/rr.img -O vhdx -o subformat=dynamic rr/rr.vhdx
|
||||
(cd rr && sha256sum rr.vhdx >../sha256sum)
|
||||
zip -9 "rr-${MODEL}-${TAG}-${{ github.run_id }}.vhdx.zip" -j rr/rr.vhdx ${USER_CONFIG_FILE} sha256sum README.txt
|
||||
;;
|
||||
*)
|
||||
echo "IMG"
|
||||
(cd rr && sha256sum rr.img >../sha256sum)
|
||||
zip -9 "rr-${MODEL}-${TAG}-${{ github.run_id }}.img.zip" -j rr/rr.img ${USER_CONFIG_FILE} sha256sum README.txt
|
||||
esac
|
||||
|
||||
echo "TAG=${TAG}" >> $GITHUB_ENV
|
||||
|
||||
- name: Upload to Artifacts
|
||||
if: env.iscustom == 'true' && success()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: rr-${{ env.model }}-${{ env.TAG }}
|
||||
path: |
|
||||
rr-${{ env.model }}-${{ env.TAG }}*.zip
|
||||
retention-days: 5
|
||||
|
||||
- name: Update Comment Success
|
||||
if: env.iscustom == 'true' && success()
|
||||
uses: actions-cool/issues-helper@v3
|
||||
with:
|
||||
actions: 'update-comment'
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
comment-id: ${{ steps.comment.outputs.comment-id }}
|
||||
update-mode: replace
|
||||
body: |
|
||||
Hi @${{ github.event.issue.user.login }}.
|
||||
RR-${{ env.model }}-${{ env.TAG }} build success, please download the attachment from the below link (Attachments are only kept for 5 days).
|
||||
> ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
----
|
||||
emoji: hooray
|
||||
|
||||
- name: Update Comment Fail
|
||||
if: env.iscustom == 'true' && failure()
|
||||
uses: actions-cool/issues-helper@v3
|
||||
with:
|
||||
actions: 'update-comment'
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
comment-id: ${{ steps.comment.outputs.comment-id }}
|
||||
update-mode: replace
|
||||
body: |
|
||||
Hi @${{ github.event.issue.user.login }}.
|
||||
RR-${{ env.model }}-${{ env.TAG }} build failed, please try again.
|
||||
> ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
----
|
||||
emoji: confused
|
||||
|
||||
- name: Close Issues
|
||||
if: env.iscustom == 'true'
|
||||
uses: actions-cool/issues-helper@v3
|
||||
with:
|
||||
actions: 'close-issue'
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
issue-number: ${{ github.event.issue.number }}
|
||||
|
214
.github/workflows/main.yml
vendored
Normal file
214
.github/workflows/main.yml
vendored
Normal file
@ -0,0 +1,214 @@
|
||||
#
|
||||
# Copyright (C) 2022 Ing <https://github.com/wjz304>
|
||||
#
|
||||
# This is free software, licensed under the MIT License.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
name: Build arpl
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
tags:
|
||||
- v*
|
||||
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description: 'format %y.%-m.$i or auto'
|
||||
required: false
|
||||
type: string
|
||||
prerelease:
|
||||
description: 'pre release'
|
||||
default: false
|
||||
type: boolean
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@main
|
||||
|
||||
# Install dependencies
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git config --global user.name "github-actions[bot]"
|
||||
|
||||
sudo apt update
|
||||
sudo apt install -y jq gettext libelf-dev qemu-utils
|
||||
sudo snap install yq
|
||||
|
||||
# Check dl cache
|
||||
- name: Cache downloads
|
||||
id: dl-cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ~/dl
|
||||
key: ${{ runner.os }}-dl
|
||||
|
||||
# Check buildroot cache
|
||||
- name: Cache buildroot
|
||||
id: br-cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: .buildroot
|
||||
key: ${{ runner.os }}-${{ hashFiles('files/configs/arpl_defconfig') }}
|
||||
|
||||
# Clone buildroot repository (if not cached)
|
||||
- name: Clone buildroot
|
||||
if: steps.br-cache.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
git clone --single-branch -b 2023.02.x https://github.com/buildroot/buildroot.git .buildroot
|
||||
# Copy files
|
||||
echo "Copying files"
|
||||
cp -Ru files/* .buildroot
|
||||
cd .buildroot
|
||||
echo "Generating default config"
|
||||
make BR2_EXTERNAL=../external arpl_defconfig
|
||||
|
||||
# Download sources if not cached
|
||||
- name: Download buildroot packages source
|
||||
if: steps.dl-cache.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
cd .buildroot
|
||||
make BR2_EXTERNAL=../external source
|
||||
|
||||
# Prepare buildroot for first make
|
||||
- name: Prepare buildroot
|
||||
if: steps.br-cache.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
echo "First make"
|
||||
cd .buildroot
|
||||
make BR2_EXTERNAL=../external
|
||||
|
||||
# calculates the version number and push
|
||||
- name: Calculate version
|
||||
run: |
|
||||
# Calculate version
|
||||
VERSION=""
|
||||
if [[ "${{ github.event_name }}" =~ ^(push|release)$ && "${{ github.ref_type }}" == 'tag' ]]; then
|
||||
VERSION="${{ github.ref_name }}"
|
||||
elif [ -n "${{ inputs.version }}" ]; then
|
||||
if [ "`echo ${{ inputs.version }} | cut -d '.' -f 1,2`" = "`date +'%y.%-m'`" ]; then
|
||||
VERSION="${{ inputs.version }}"
|
||||
else
|
||||
LATEST_TAG="`curl -skL "https://api.github.com/repos/${{ github.repository }}/releases/latest" | jq -r ".tag_name" 2>/dev/null`"
|
||||
if [ -n "${LATEST_TAG}" -a "`echo ${LATEST_TAG} | cut -d '.' -f 1,2`" = "`date +'%y.%-m'`" ]; then # format %y.%-m.$i
|
||||
VERSION="`echo ${LATEST_TAG} | awk -F '.' '{$3=$3+1}1' OFS='.'`"
|
||||
else
|
||||
VERSION="`date +'%y.%-m'`.0"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
VERSION=""
|
||||
fi
|
||||
|
||||
echo "VERSION: ${VERSION}"
|
||||
echo "VERSION=${VERSION}" >> $GITHUB_ENV
|
||||
|
||||
if [ -n "${VERSION}" ]; then
|
||||
# Modify Source File
|
||||
echo "${VERSION}" > VERSION
|
||||
echo "${VERSION}" > files/board/arpl/p1/ARPL-VERSION
|
||||
sed 's/^ARPL_VERSION=.*/ARPL_VERSION="'${VERSION}'"/' -i files/board/arpl/overlayfs/opt/arpl/include/consts.sh
|
||||
|
||||
git checkout main
|
||||
git pull
|
||||
status=$(git status -s | awk '{printf " %s", $2}')
|
||||
if [ -n "${status}" ]; then
|
||||
git add ${status}
|
||||
git commit -m "update $(date +%Y-%m-%d" "%H:%M:%S)"
|
||||
git push -f
|
||||
fi
|
||||
fi
|
||||
|
||||
# Convert po2mo, Get extractor, LKM, addons and Modules
|
||||
- name: Convert po2mo, Get extractor, LKM, addons and Modules
|
||||
run: |
|
||||
. scripts/func.sh
|
||||
|
||||
convertpo2mo "files/board/arpl/overlayfs/opt/arpl/lang"
|
||||
getExtractor "files/board/arpl/p3/extractor"
|
||||
getLKMs "files/board/arpl/p3/lkms"
|
||||
getAddons "files/board/arpl/p3/addons"
|
||||
getModules "files/board/arpl/p3/modules"
|
||||
|
||||
echo "OK"
|
||||
|
||||
# Build incremental from caches
|
||||
- name: Build image
|
||||
run: |
|
||||
# Remove old files
|
||||
rm -rf .buildroot/output/target/opt/arpl
|
||||
rm -rf .buildroot/board/arpl/overlayfs
|
||||
rm -rf .buildroot/board/arpl/p1
|
||||
rm -rf .buildroot/board/arpl/p3
|
||||
|
||||
# Copy files
|
||||
echo "Copying files"
|
||||
cp -Ru files/* .buildroot/
|
||||
|
||||
cd .buildroot
|
||||
echo "Generating default config"
|
||||
make BR2_EXTERNAL=../external arpl_defconfig
|
||||
echo "Building..."
|
||||
make BR2_EXTERNAL=../external
|
||||
cd -
|
||||
# qemu-img convert -O vmdk arpl.img arpl-dyn.vmdk
|
||||
# qemu-img convert -O vmdk -o adapter_type=lsilogic arpl.img -o subformat=monolithicFlat arpl.vmdk
|
||||
|
||||
# Zip image and generate checksum
|
||||
- name: Pack
|
||||
run: |
|
||||
if [ -n "${{ env.VERSION }}" ]; then
|
||||
zip -9 "arpl-i18n-${{ env.VERSION }}.img.zip" arpl.img
|
||||
# zip -9 "arpl-i18n-${{ env.VERSION }}.vmdk-dyn.zip" arpl-dyn.vmdk
|
||||
# zip -9 "arpl-i18n-${{ env.VERSION }}.vmdk-flat.zip" arpl.vmdk arpl-flat.vmdk
|
||||
else
|
||||
zip -9 "arpl-i18n.img.zip" arpl.img
|
||||
fi
|
||||
sha256sum update-list.yml update-check.sh > sha256sum
|
||||
zip -9j update.zip update-list.yml update-check.sh
|
||||
while read F; do
|
||||
if [ -d "${F}" ]; then
|
||||
FTGZ="`basename "${F}"`.tgz"
|
||||
tar -czf "${FTGZ}" -C "${F}" .
|
||||
sha256sum "${FTGZ}" >> sha256sum
|
||||
zip -9j update.zip "${FTGZ}"
|
||||
rm "${FTGZ}"
|
||||
else
|
||||
(cd `dirname ${F}` && sha256sum `basename ${F}`) >> sha256sum
|
||||
zip -9j update.zip "${F}"
|
||||
fi
|
||||
done < <(yq '.replace | explode(.) | to_entries | map([.key])[] | .[]' update-list.yml)
|
||||
zip -9j update.zip sha256sum
|
||||
|
||||
# Upload artifact
|
||||
- name: Upload
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: Images
|
||||
path: |
|
||||
arpl-i18n.img.zip
|
||||
update.zip
|
||||
retention-days: 5
|
||||
|
||||
# Publish a release if is a tag
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
if: env.VERSION != ''
|
||||
with:
|
||||
tag_name: ${{ env.VERSION }}
|
||||
prerelease: ${{ inputs.prerelease }}
|
||||
files: |
|
||||
arpl-i18n-${{ env.VERSION }}.img.zip
|
||||
# arpl-i18n-${{ env.VERSION }}.vmdk-dyn.zip
|
||||
# arpl-i18n-${{ env.VERSION }}.vmdk-flat.zip
|
||||
update.zip
|
34
.gitignore
vendored
34
.gitignore
vendored
@ -1,28 +1,16 @@
|
||||
!.gitkeep
|
||||
.vscode
|
||||
/rr
|
||||
/rr.env
|
||||
rr*.img
|
||||
rr*.vmdk
|
||||
arpl*.img
|
||||
arpl*.vmdk
|
||||
*.zip
|
||||
.buildroot
|
||||
test*.sh
|
||||
docker/syno-compiler/Dockerfile
|
||||
cache
|
||||
*.bak
|
||||
*.o
|
||||
**.po~
|
||||
**.mo
|
||||
|
||||
downloads.md
|
||||
tests
|
||||
Changelog*
|
||||
sha256sum
|
||||
|
||||
ovftool*
|
||||
OVA*
|
||||
**.ova
|
||||
|
||||
files/mnt/p1/.locale
|
||||
files/mnt/p1/grub_cksum.syno
|
||||
files/mnt/p1/GRUB_VER
|
||||
files/mnt/p1/user-config.yml
|
||||
files/mnt/p2
|
||||
files/mnt/p3
|
||||
files/tmp
|
||||
/files/board/arpl/p3/addons
|
||||
/files/board/arpl/p3/lkms
|
||||
/files/board/arpl/p3/modules
|
||||
/tests
|
||||
/extractor
|
||||
|
6
.gitmodules
vendored
Normal file
6
.gitmodules
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
[submodule "redpill-lkm"]
|
||||
path = redpill-lkm
|
||||
url = https://github.com/wjz304/redpill-lkm
|
||||
[submodule "addons"]
|
||||
path = addons
|
||||
url = https://github.com/wjz304/arpl-addons
|
150
README.md
150
README.md
@ -1,122 +1,54 @@
|
||||
<img src="https://avatars.githubusercontent.com/u/151816514?s=200&v=4" alt="logo" width="140" height="140" align="left" />
|
||||
# Automated Redpill Loader (i18n)
|
||||
|
||||
<h1>RR: <small>redpill’s preinstallation and recovery environment</small></h1>
|
||||
本库为 arpl i18n (多语言优化版):
|
||||
|
||||
[](https://github.com/rrorg/rr/releases/latest)
|
||||
[](https://github.com/rrorg/rr/releases)
|
||||
[](https://rrorg.github.io/rr/)
|
||||
### 原版:
|
||||
<b>https://github.com/fbelavenuto/arpl</b>
|
||||
* [arpl说明](https://github.com/fbelavenuto/arpl/blob/main/README.md)
|
||||
|
||||
> The ultimate solution to self-centralized Synology DSM OS on any local machine with any x86/x64 CPU architecture via a single flash of bootload pre-installation process in addition within recovery environment.
|
||||
### 汉化:
|
||||
<b>https://github.com/wjz304/arpl-zh_CN</b>
|
||||
* 仅同步汉化原版, 所以功能与原版保持一致.
|
||||
|
||||
### 1: Disclaimer
|
||||
|
||||
* 硬盘有价,数据无价,任何对引导的修改都是有风险的,本人/组织不承担数据丢失的责任。本工具仅用作学习交流,严禁用于商业用途。
|
||||
----
|
||||
* Hardware/hard-drives are priced whilst data are priceless, any user-specific custom modification of the tested & prebuilt bootloader images could potentially cause irreversible data destruction towards your local machine. Us, as (RROrg) are not responsibly liable for damage nor personal loss of any types. The project with its affiliation is released for educational and learning purpose only, commercial application of the software is strictly prohibited.
|
||||
### i18n:
|
||||
<b>https://github.com/wjz304/arpl-i18n</b>
|
||||
* 多语言支持.
|
||||
* 6.2&7.2支持.
|
||||
* other.
|
||||
|
||||
|
||||
### 2: Documentation & FAQ
|
||||
## 说明 - Instructions
|
||||
* [GUIDE](./guide.md)
|
||||
|
||||
|
||||
- [RRManager](https://github.com/T-REX-XP/RRManager)
|
||||
- [rr-tools](https://github.com/RROrg/rr-tools)
|
||||
- [blog](https://rrorg.cn)
|
||||
- [docs](https://rrorg.github.io/rr-docs)
|
||||
- [📣](https://github.com/orgs/RROrg/discussions)
|
||||
## 翻译 - Translation
|
||||
* 其他语言的翻译 - Language translation work:
|
||||
```shell
|
||||
# If it does not involve adding or deleting, the following process is not required.
|
||||
sudo apt install gettext
|
||||
git clone https://github.com/wjz304/arpl-i18n.git
|
||||
cd arpl-i18n/files/board/arpl/overlayfs/opt/arpl
|
||||
xgettext -L Shell --keyword=TEXT *.sh -o lang/arpl.pot
|
||||
sed -i 's/charset=CHARSET/charset=UTF-8/' lang/arpl.pot
|
||||
# You need to replace the language you need and translate the po file.
|
||||
msginit -i lang/arpl.pot -l zh_CN.UTF-8 -o lang/zh_CN.po
|
||||
# This process will be automatically processed during packaging.
|
||||
msgfmt lang/zh_CN.po -o lang/zh_CN.mo
|
||||
```
|
||||
|
||||
### 3: Components
|
||||
|
||||
- During the compilation process, you need to connect to the Internet to obtain model and version information and download the corresponding ROM.
|
||||
If you cannot connect to the Internet, please build a pre-compiled bootloader through [RR-CUSTOM](https://rrorg.github.io/rr/).
|
||||
- Models: [models](https://github.com/RROrg/rr/raw/main/docs/models.xlsx)
|
||||
- PATs: [pats](https://github.com/RROrg/rr/raw/main/docs/pats.xlsx)
|
||||
- Addons: [addons](https://github.com/RROrg/rr/raw/main/docs/addons.xlsx)
|
||||
- Modules: [modules](https://github.com/RROrg/rr/raw/main/docs/modules.xlsx)
|
||||
## 教程 - Usage
|
||||
* 中文: https://www.bilibili.com/video/BV1jk4y1Y7B7
|
||||
##### `(From: http://mi-d.cn)`
|
||||
* English: https://www.youtube.com/watch?v=mmwKCOiHGWA
|
||||
##### `(From: @markstar6449)`
|
||||
|
||||
|
||||
### 4: GPU:
|
||||
## 打赏一下
|
||||
* > ### 作者: Ing
|
||||
* > QQ群: 21609194 [点击链接加入QQ群](https://qm.qq.com/cgi-bin/qm/qr?k=z5O89os88QEKXCbz-0gwtEz1AeQiCwk3)
|
||||
* > QQ频道: redpill2syno [点击链接加入QQ频道](https://pd.qq.com/s/5nmli9qgn)
|
||||
* > TG频道: redpill2syno [点击链接加入TG频道](https://t.me/redpill2syno)
|
||||
* <img src="https://raw.githubusercontent.com/wjz304/wjz304/master/my/20220908134226.jpg" width="400">
|
||||
|
||||
- vGPU:
|
||||
- [蔚然小站](https://blog.kkk.rs/)
|
||||
- [syno_nvidia_gpu_driver](https://github.com/pdbear/syno_nvidia_gpu_driver/)
|
||||
- iGPU:
|
||||
- [Jim's Blog](https://jim.plus/)
|
||||
- iGPU:
|
||||
- [intel-gpu-i915-backports](https://github.com/MoetaYuko/intel-gpu-i915-backports)
|
||||
|
||||
## 5: Contributing
|
||||
|
||||
* The following is a roughly truncated guide to involve in project localization for internationalization.
|
||||
|
||||
```shell
|
||||
# If deletion nor addition proces of code hunk is not required, comply with the following process
|
||||
sudo apt install gettext
|
||||
git clone https://github.com/rrorg/rr.git
|
||||
cd files/initrd/opt/rr
|
||||
xgettext -L Shell --keyword=TEXT *.sh -o lang/rr.pot
|
||||
sed -i 's/charset=CHARSET/charset=UTF-8/' lang/rr.pot
|
||||
# If you have to replace certain language string of the project, please suggest and modify translation changes within each correlated PO file
|
||||
mkdir -p lang/zh_CN/LC_MESSAGES
|
||||
msginit -i lang/rr.pot -l zh_CN.UTF-8 -o lang/zh_CN/LC_MESSAGES/rr.po
|
||||
# Update translation files
|
||||
for I in $(find lang -path *rr.po); do msgmerge --width=256 -U ${I} lang/rr.pot; done
|
||||
# This formatting process will be automatically conducted during packaging.
|
||||
for I in $(find lang -path *rr.po); do msgfmt ${I} -o ${I/.po/.mo}; done
|
||||
```
|
||||
|
||||
- PRs of new language translations towards the project is welcomed with appreciation.
|
||||
|
||||
- Community maintainers of each supporting list of languages are accredited below.
|
||||
|
||||
- `de_DE`: `@Tim Krämer`: [Tim Krämer](https://tim-kraemer.de)
|
||||
- `en_US`: `@rrorg`
|
||||
- `ja_JP`: `@andatoshiki` & `@toshikidev`
|
||||
- `ko_KR`: `@EXP` : jeong1986
|
||||
- `ru_RU`: `@Alex`: TG
|
||||
- `tr_TR`: `@miraç bahadır öztürk`: miracozturk
|
||||
- `vi_VN`: `@Ngọc Anh Trần`: mr.ngocanhtran
|
||||
- `zh_CN`: `@rrorg`
|
||||
- `zh_HK`: `@rrorg`
|
||||
- `zh_TW`: `@March Fun`: [豪客幫](<https://cyber.suma.tw/>)
|
||||
|
||||
### 6: Acknowledgment & Credits
|
||||
|
||||
- [ARPL](https://github.com/fbelavenuto/arpl): `@fbelavenuto`
|
||||
- Redpill: `@RedPill-TTG` `@pocopico` `@jim3ma` `@fbelavenuto` `@MoetaYuko`
|
||||
- [RedPill-TTG](https://github.com/RedPill-TTG)
|
||||
- [redpill-lkm5](https://github.com/XPEnology-Community/redpill-lkm5)
|
||||
- [linux_dsm_epyc7002](https://github.com/MoetaYuko/linux_dsm_epyc7002)
|
||||
- Framework:
|
||||
- [Buildroot](https://github.com/buildroot/buildroot)
|
||||
- [Eudev](https://github.com/eudev-project/eudev)
|
||||
- [Grub](https://git.savannah.gnu.org/git/grub)
|
||||
- Addons: `@xbl3&@wirgen` `@007revad` `@PeterSuh-Q3` `@jim3ma` `@jinlife`
|
||||
- [synocodectool-patch](https://github.com/xbl3/synocodectool-patch)
|
||||
- [Synology_HDD_db](https://github.com/007revad/Synology_HDD_db)
|
||||
- [nvme-cache](https://github.com/PeterSuh-Q3/tcrp-addons/tree/main/nvme-cache)
|
||||
- [Synology_enable_M2_volume](https://github.com/007revad/Synology_enable_M2_volume)
|
||||
- [synology-installation-with-nvme-disks-only](https://jim.plus/blog/post/jim/synology-installation-with-nvme-disks-only)
|
||||
- [Synology_Photos_Face_Patch](https://github.com/jinlife/Synology_Photos_Face_Patch)
|
||||
- Modules:`@jim3ma` `@MoetaYuko`
|
||||
- [synology-igc](https://github.com/jim3ma/synology-igc)
|
||||
- [intel-gpu-i915-backports](https://github.com/MoetaYuko/intel-gpu-i915-backports)
|
||||
|
||||
### 7: Links & Community
|
||||
|
||||
#### 7.1: Group
|
||||
|
||||
- `QQ群1: 21609194` [`点击加入QQ群`](https://qm.qq.com/q/YTPvSXfeU0)
|
||||
- `QQ群2: 73119176` [`点击加入QQ群`](https://qm.qq.com/q/YV1B0NFvWK)
|
||||
- `QQ群3: 51929774` [`点击加入QQ群`](https://qm.qq.com/q/aVjM3Wb6KY)
|
||||
- `QQ群4: 49756829` [`点击加入QQ群`](https://qm.qq.com/q/9PHzmZDkqI)
|
||||
- `QQ群5: 30267817` [`点击加入QQ群`](https://qm.qq.com/q/6RgVDfOSXe)
|
||||
- `QQ群6: 68640297` [`点击加入QQ群`](https://qm.qq.com/q/PU71eSXAic)
|
||||
- `QQ Channel: RROrg` [`点击加入QQ频道`](https://pd.qq.com/s/aklqb0uij)
|
||||
- `Telegram Channel: RROrg` [`Click to join`](https://t.me/RR_Org)
|
||||
|
||||
### 7: Sponsoring
|
||||
|
||||
- <img src="https://raw.githubusercontent.com/wjz304/wjz304/master/my/buymeacoffee.png" width="700">
|
||||
|
||||
### 8: License
|
||||
|
||||
- [GPL-V3](https://github.com/RROrg/rr/blob/main/LICENSE)
|
||||
|
19
Taskfile.yaml
Normal file
19
Taskfile.yaml
Normal file
@ -0,0 +1,19 @@
|
||||
# https://taskfile.dev
|
||||
|
||||
version: '3'
|
||||
|
||||
tasks:
|
||||
build-img:
|
||||
cmds:
|
||||
- ./img-gen.sh
|
||||
|
||||
build-docker-img:
|
||||
dir: docker
|
||||
cmds:
|
||||
- ./build.sh
|
||||
|
||||
compile-kpatch:
|
||||
dir: kpatch
|
||||
cmds:
|
||||
- make clean all
|
||||
- mv kpatch ../files/board/arpl/overlayfs/opt/arpl/
|
842
docs/addons.json
842
docs/addons.json
@ -1,842 +0,0 @@
|
||||
{
|
||||
"acpid": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "ACPI Daemon that handles power button events, fixing power button not shutting down in some environments.",
|
||||
"ar_SA": "برنامج ACPI Daemon الذي يتعامل مع أحداث زر الطاقة، ويصلح عدم إغلاق زر الطاقة في بعض البيئات.",
|
||||
"de_DE": "ACPI Daemon, der die Power-Button-Ereignisse behandelt, um das Problem zu beheben, dass der Power-Button in einigen Umgebungen nicht herunterfährt.",
|
||||
"es_ES": "Demonio ACPI que maneja los eventos del botón de encendido, solucionando el problema de que el botón de encendido no apague en algunos entornos.",
|
||||
"fr_FR": "Démon ACPI qui gère les événements du bouton d'alimentation, corrigeant le problème du bouton d'alimentation qui ne s'éteint pas dans certains environnements.",
|
||||
"ja_JP": "電源ボタンのイベントを処理するACPIデーモンで、一部の環境で電源ボタンがシャットダウンしない問題を修正します.",
|
||||
"ko_KR": "전원 버튼 이벤트를 처리하는 ACPI 데몬, 일부 환경에서 전원 버튼이 종료되지 않는 문제를 해결합니다.",
|
||||
"ru_RU": "Демон ACPI, обрабатывающий события кнопки питания, исправляющий проблему, когда кнопка питания не выключает в некоторых средах.",
|
||||
"th_TH": "ACPI Daemon ที่จัดการกับเหตุการณ์ปุ่มเปิดเครื่อง, แก้ปัญหาปุ่มเปิดเครื่องไม่ปิดเครื่องในบางสภาพแวดล้อม",
|
||||
"tr_TR": "Güç düğmesi olaylarını ele alan ACPI Daemon, bazı ortamlarda güç düğmesinin kapanmamasını düzeltir.",
|
||||
"uk_UA": "Демон ACPI, який обробляє події кнопки живлення, виправляючи проблему, коли кнопка живлення не вимикає в деяких середовищах.",
|
||||
"vi_VN": "ACPI Daemon xử lý các sự kiện nút nguồn, sửa lỗi nút nguồn không tắt máy trong một số môi trường.",
|
||||
"zh_CN": "处理电源按钮事件的 ACPI 守护程序, 解决部分环境下电源按钮无法正常关机的问题.",
|
||||
"zh_HK": "處理電源按鈕事件的 ACPI 守护程序, 解决部分環境下電源按鈕無法正常關機的問題.",
|
||||
"zh_TW": "處理電源按鈕事件的 ACPI 守护程序, 解决部分環境下電源按鈕無法正常關機的問題."
|
||||
}
|
||||
},
|
||||
"addincards": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Remove model restrictions from official Addin cards(M2D20, E10G30-T2, ...).",
|
||||
"ar_SA": "قم بإزالة القيود على النموذج من بعض البطاقات الرسمية (M2D20، E10G30-T2، ...).",
|
||||
"de_DE": "Entfernen Sie Modellbeschränkungen von offiziellen Addin-Karten (M2D20, E10G30-T2, ...).",
|
||||
"es_ES": "Elimine las restricciones de modelo de las tarjetas Addin oficiales (M2D20, E10G30-T2, ...).",
|
||||
"fr_FR": "Supprimez les restrictions de modèle des cartes Addin officielles (M2D20, E10G30-T2, ...).",
|
||||
"ja_JP": "公式の Addin カード(M2D20、E10G30-T2、...)のモデル制限を解除します.",
|
||||
"ko_KR": "공식 Addin 카드(M2D20, E10G30-T2, ...)의 모델 제한을 제거합니다.",
|
||||
"ru_RU": "Удалите ограничения модели официальных карт Addin (M2D20, E10G30-T2, ...).",
|
||||
"th_TH": "ลบข้อจำกัดของโมเดลจากการ์ด Addin ทางการ (M2D20, E10G30-T2, ...)",
|
||||
"tr_TR": "Resmi Addin kartlarından model kısıtlamalarını kaldırın (M2D20, E10G30-T2, ...).",
|
||||
"uk_UA": "Видаліть обмеження моделі офіційних карток Addin (M2D20, E10G30-T2, ...).",
|
||||
"vi_VN": "Xóa các hạn chế mô hình từ các thẻ Addin chính thức (M2D20, E10G30-T2, ...).",
|
||||
"zh_CN": "移除官方 Addin 卡(M2D20, E10G30-T2, ...)对 DSM 型号限制.",
|
||||
"zh_HK": "移除官方 Addin 卡(M2D20, E10G30-T2, ...)对 DSM 型號限制.",
|
||||
"zh_TW": "移除官方 Addin 卡(M2D20, E10G30-T2, ...)对 DSM 型號限制."
|
||||
}
|
||||
},
|
||||
"apppatch": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Fix Synology Photos unable to delete photos under non-genuine SN, close local_display to prevent generating a large number of BrowserMetrics files.",
|
||||
"ar_SA": "إصلاح Synology Photos غير قادر على حذف الصور تحت رقم SN غير الأصلي، إغلاق local_display لمنع إنشاء عدد كبير من ملفات BrowserMetrics.",
|
||||
"de_DE": "Beheben Sie, dass Synology Photos unter einer nicht originalen SN keine Fotos löschen kann, schließen Sie local_display, um zu verhindern, dass eine große Anzahl von BrowserMetrics-Dateien generiert wird.",
|
||||
"es_ES": "Arreglar Synology Photos que no puede eliminar fotos bajo un SN no genuino, cerrar local_display para evitar generar una gran cantidad de archivos BrowserMetrics.",
|
||||
"fr_FR": "Corrigez Synology Photos qui ne peut pas supprimer de photos sous un SN non authentique, fermez local_display pour éviter de générer un grand nombre de fichiers BrowserMetrics.",
|
||||
"ja_JP": "Synology Photos が非正規 SN の下で写真を削除できない問題を修正し、local_display を閉じて大量の BrowserMetrics ファイルが生成されるのを防ぎます。",
|
||||
"ko_KR": "비정품 SN에서 사진을 삭제할 수 없는 Synology Photos를 수정하고 local_display를 닫아 많은 BrowserMetrics 파일이 생성되는 것을 방지합니다.",
|
||||
"ru_RU": "Исправление Synology Photos, который не может удалить фотографии под ненастоящим SN, закройте local_display, чтобы предотвратить создание большого количества файлов BrowserMetrics.",
|
||||
"th_TH": "แก้ไข Synology Photos ไม่สามารถลบภาพถ่ายได้เมื่อใช้ SN ไม่จริง และปิด local_display เพื่อป้องกันการสร้างไฟล์ BrowserMetrics เกินจำนวนมาก",
|
||||
"tr_TR": "Synology Photos'ın non-orijinal SN altında fotoğrafı silme yeteneğini düzeltin, local_display'i kapatın ve çok fazla BrowserMetrics dosyası oluşturmaması için.",
|
||||
"uk_UA": "Виправлення Synology Photos, який не може видаляти фотографії під неоригінальним SN, закрийте local_display, щоб уникнути створення великої кількості файлів BrowserMetrics.",
|
||||
"vi_VN": "Sửa lỗi Synology Photos không thể xóa hình ảnh dưới SN không chính xác, đóng local_display để ngăn chặn việc tạo nhiều tệp BrowserMetrics.",
|
||||
"zh_CN": "修复 Synology Photos 在非正版SN下无法删除照片的问题、关闭 local_display 防止生成大量 BrowserMetrics文件。",
|
||||
"zh_HK": "修復 Synology Photos 在非正版SN下無法刪除照片的問題、關閉 local_display 防止生成大量 BrowserMetrics文件。",
|
||||
"zh_TW": "修復 Synology Photos 在非正版SN下無法刪除照片的問題、關閉 local_display 防止生成大量 BrowserMetrics文件。"
|
||||
}
|
||||
},
|
||||
"beep": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Beep at startup and shutdown (requires motherboard with buzzer) Parameters: -m: Mario at startup and AxelF at shutdown",
|
||||
"ar_SA": "صد الصوت عند بدء التشغيل والإغلاق (يتطلب لوحة أم تحتوي على جرس) المعلمات: -m: ماريو عند بدء التشغيل و AxelF عند الإغلاق",
|
||||
"de_DE": "Beim Starten und Herunterfahren piepen (erfordert Mainboard mit Summer) Parameter: -m: Mario beim Starten und AxelF beim Herunterfahren",
|
||||
"es_ES": "Pitido al inicio y apagado (requiere placa base con zumbador) Parámetros: -m: Mario al inicio y AxelF al apagado",
|
||||
"fr_FR": "Bip au démarrage et à l'arrêt (nécessite une carte mère avec buzzer) Paramètres: -m: Mario au démarrage et AxelF à l'arrêt",
|
||||
"ja_JP": "起動時にブザーを鳴らす(ブザーを備えたマザーボードが必要) パラメータ: -m: 起動時にマリオ、シャットダウン時にAxelF",
|
||||
"ko_KR": "시작 및 종료시 소리 울리기(부저가 있는 메인보드 필요) 매개변수: -m: 시작시 Mario 및 종료시 AxelF",
|
||||
"ru_RU": "при запуске и выключении пищать (требуется материнская плата с зуммером) Параметры: -m: Mario при запуске и AxelF при выключении",
|
||||
"th_TH": "เสียงเบี๊ยวเมื่อเริ่มต้นและปิดเครื่อง (ต้องใช้เมนบอร์ดที่มีเสียงเบี๊ยว) พารามิเตอร์: -m: Mario เมื่อเริ่มต้นและ AxelF เมื่อปิดเครื่อง",
|
||||
"tr_TR": "Başlangıç ve kapanışta bip sesi çal (ana kartta hoparlör gerektirir) Parametreler: -m: Başlangıçta Mario ve kapanışta AxelF",
|
||||
"uk_UA": "при запуску та вимкненні пищати (потрібна материнська плата з динаміком) Параметри: -m: Mario при запуску та AxelF при вимкненні",
|
||||
"vi_VN": "Phát ra tiếng bíp khi khởi động và tắt máy (yêu cầu bo mạch chủ có loa) Tham số: -m: Mario khi khởi động và AxelF khi tắt máy",
|
||||
"zh_CN": "在启动和关机时发出哔声(需要主板有蜂鸣器) 参数: -m: 开机 Mario 和 关机 AxelF",
|
||||
"zh_HK": "在啟動和關機時發出哔聲(需要主機有蜂鳴器) 參數: -m: 開機 Mario 和 關機 AxelF",
|
||||
"zh_TW": "在啟動和關機時發出哔聲(需要主機有蜂鳴器) 參數: -m: 開機 Mario 和 關機 AxelF"
|
||||
}
|
||||
},
|
||||
"blockupdate": {
|
||||
"system": true,
|
||||
"description": {
|
||||
"en_US": "Block DSM automatic system update.",
|
||||
"ar_SA": "قفل التحديثات التلقائية منDSM.",
|
||||
"de_DE": "Bloquer les mises à jour automatiques du système DSM.",
|
||||
"es_ES": "Bloquear las actualizaciones automáticas del sistema DSM.",
|
||||
"fr_FR": "Bloquer les mises à jour automatiques du système DSM.",
|
||||
"ja_JP": "DSMの自動更新をブロックします。",
|
||||
"ko_KR": "DSM 자동 업데이트를 차단합니다.",
|
||||
"ru_RU": "Заблокировать автоматические обновления системы DSM.",
|
||||
"th_TH": "บล็อกอัตโนมัติอัปเดตจากDSM",
|
||||
"tr_TR": "DSM otomatik güncellemeleri engelle.",
|
||||
"uk_UA": "Блокувати автоматичні оновлення системи DSM.",
|
||||
"vi_VN": "Khóa tự động cập nhật hệ thống DSM.",
|
||||
"zh_CN": "阻止 DSM 自动系统更新。",
|
||||
"zh_HK": "阻止 DSM 自动系统更新。",
|
||||
"zh_TW": "阻止 DSM 自动系统更新。"
|
||||
}
|
||||
},
|
||||
"bootwait": {
|
||||
"system": true,
|
||||
"description": {
|
||||
"en_US": "This script ensures that the boot process waits for the boot disk (/dev/synoboot) to be available before starting other processes.",
|
||||
"ar_SA": "يضمن هذا البرنامج أن عملية التمهيد تنتظر حتى يصبح القرص المحمل (/dev/synoboot) متاحًا قبل بدء العمليات الأخرى.",
|
||||
"de_DE": "Diese Skript stellt sicher, dass der Startprozess auf das Boot-Laufwerk (/dev/synoboot) wartet, bevorandere Prozesse gestartet werden.",
|
||||
"es_ES": "Este programa garantiza que el proceso de arranque espere hasta que el disco cargado (/dev/synoboot) esté disponible antes de iniciar otros procesos.",
|
||||
"fr_FR": "Le script de démarrage assure que le processus de démarrage attend que le disque de démarrage (/dev/synoboot) soit disponible avant de commencer d'autres processus.",
|
||||
"ja_JP": "ブートディスク (/dev/synoboot) が利用可能になるまでブートプロセスが待機するようにします.",
|
||||
"ko_KR": "이 스크립트는 부팅 프로세스가 부팅 디스크 (/dev/synoboot)가 사용 가능할 때까지 기다리도록 합니다.",
|
||||
"ru_RU": "Этот скрипт гарантирует, что процесс загрузки будет ждать, пока загрузочный диск (/dev/synoboot) не станет доступным, прежде чем запустить другие процессы.",
|
||||
"th_TH": "โปรแกรมนี้จะช่วยให้แน่ใจว่ากระบวนการบูตจะรอจนกว่าดิสก์ที่โหลด (/dev/synoboot) จะพร้อมใช้งานก่อนที่จะเริ่มกระบวนการอื่น",
|
||||
"tr_TR": "Bu program, önyükleme işleminin diğer işlemleri başlatmadan önce yüklenen diskin (/dev/synoboot) kullanılabilir olmasını beklemesini sağlar.",
|
||||
"uk_UA": "Ця програма гарантує, що процес завантаження очікує, поки завантажений диск (/dev/synoboot) стане доступним, перш ніж запускати інші процеси.",
|
||||
"vi_VN": "Chương trình này đảm bảo rằng quá trình khởi động sẽ đợi cho đến khi đĩa được tải (/dev/synoboot) khả dụng trước khi bắt đầu các quá trình khác.",
|
||||
"zh_CN": "此脚本确保启动过程等待引导盘磁盘 (/dev/synoboot) 可用之后再启动其他进程.",
|
||||
"zh_HK": "此腳本確保啟動過程等待引导盤磁碟 (/dev/synoboot) 可用之後再啟動其他進程.",
|
||||
"zh_TW": "此腳本確保啟動過程等待引导盤磁碟 (/dev/synoboot) 可用之後再啟動其他進程."
|
||||
}
|
||||
},
|
||||
"console": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Provides screen console (bash) functionality via framebuffer (fb) to allow debugging on the screen, only supported on models with a graphics driver.",
|
||||
"ar_SA": "يوفر وظيفة وحدة التحكم في الشاشة (bash) عبر framebuffer (fb) للسماح بالتصحيح على الشاشة، مدعوم فقط على النماذج التي تحتوي على برنامج تشغيل الرسومات.",
|
||||
"de_DE": "Bietet Bildschirmkonsolen (bash)-Funktionalität über Framebuffer (fb), um das Debuggen auf dem Bildschirm zu ermöglichen, wird nur auf Modellen mit einem Grafiktreiber unterstützt.",
|
||||
"es_ES": "Proporciona la funcionalidad de la consola (bash) de pantalla a través del framebuffer (fb) para permitir la depuración en la pantalla, solo se admite en los modelos con un controlador gráfico.",
|
||||
"fr_FR": "Fournit une fonctionnalité de console d'écran (bash) via framebuffer (fb) pour permettre le débogage sur l'écran, pris en charge uniquement sur les modèles avec un pilote graphique.",
|
||||
"ja_JP": "グラフィックスドライバを搭載したモデルでのみサポートされる、フレームバッファ (fb) を介した画面コンソール (bash) 機能を提供し、画面上でのデバッグを可能にします.",
|
||||
"ko_KR": "프레임버퍼(fb)를 통해 화면 콘솔(bash) 기능을 제공하여 화면에서 디버깅을 허용하며, 그래픽 드라이버가 있는 모델에서만 지원됩니다.",
|
||||
"ru_RU": "Предоставляет функциональность консоли экрана (bash) через framebuffer (fb) для разрешения отладки на экране, поддерживается только на моделях с графическим драйвером.",
|
||||
"th_TH": "ให้ความสามารถของหน้าจอคอนโซล (bash) ผ่าน framebuffer (fb) เพื่ออนุญาตให้ทำการแก้บั๊กบนหน้าจอ รองรับเฉพาะบนโมเดลที่มีไดรเวอร์กราฟิก",
|
||||
"tr_TR": "Ekran üzerinde hata ayıklamaya izin vermek için framebuffer (fb) aracılığıyla ekran konsolu (bash) işlevselliği sağlar, yalnızca grafik sürücüsü olan modellerde desteklenir.",
|
||||
"uk_UA": "Надає функціональність консолі екрану (bash) через буфер кадру (fb) для дозволу налагодження на екрані, підтримується лише на моделях з графічним драйвером.",
|
||||
"vi_VN": "Cung cấp chức năng màn hình (bash) qua framebuffer (fb) để cho phép kiểm tra trên màn hình, chỉ được hỗ trợ trên các mô hình có trình điều khiển hình ảnh.",
|
||||
"zh_CN": "通过帧缓冲区 (fb) 提供屏幕控制台 (bash) 功能, 以允许在屏幕上进行调试, 仅支持具有显卡驱动程序的型号.",
|
||||
"zh_HK": "透過幀緩衝區 (fb) 提供屏幕控制台 (bash) 功能, 以允許在屏幕上進行調試, 僅支持具有顯卡驅動程序的型號.",
|
||||
"zh_TW": "透過幀緩衝區 (fb) 提供屏幕控制台 (bash) 功能, 以允許在屏幕上進行調試, 僅支持具有顯卡驅動程序的型號."
|
||||
}
|
||||
},
|
||||
"cpuinfo": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Display CPU/GPU/Temperature information in the control panel. (Option -s shows static information)",
|
||||
"ar_SA": "عرض معلومات وحدة المعالجة المركزية / وحدة معالجة الرسومات / درجة الحرارة في لوحة التحكم. (خيار -s يظهر معلومات ثابتة)",
|
||||
"de_DE": "Zeigt CPU/GPU/Temperaturinformationen im Bedienfeld an. (Option -s zeigt statische Informationen)",
|
||||
"es_ES": "Mostrar información de CPU/GPU/Temperatura en el panel de control. (L'option -s affiche des informations statiques))",
|
||||
"fr_FR": "Afficher les informations CPU/GPU/Température dans le panneau de configuration. (L'option -s affiche des informations statiques)))",
|
||||
"ja_JP": "コントロールパネルにCPU/GPU/温度情報を表示します。 (パラメータ -s は静的な情報を表示します)",
|
||||
"ko_KR": "제어판에 CPU/GPU/온도 정보를 표시합니다. (옵션 -s는 정적 정보를 표시합니다)",
|
||||
"ru_RU": "Показать информацию о процессоре/GPU/температуре в панели управления. (Опция -s показывает статическую информацию)",
|
||||
"th_TH": "แสดงข้อมูล CPU/GPU/อุณหภูมิในแผงควบคุม. (ตัวเลือก -s แสดงข้อมูลที่ไม่เปลี่ยนแปลง)",
|
||||
"tr_TR": "Kontrol panelinde CPU/GPU/Sıcaklık bilgilerini görüntüler. (Seçenek -s statik bilgileri gösterir)",
|
||||
"uk_UA": "Показати інформацію про процесор/GPU/температуру в панелі керування. (Опция -s показывает статическую информацию)",
|
||||
"vi_VN": "Hiển thị thông tin CPU/GPU/Nhiệt độ trong bảng điều khiển. (Tùy chọn -s hiển thị thông tin tĩnh)",
|
||||
"zh_CN": "只让控制面板显示正确的CPU/GPU/温度等信息. (参数 -s 显示静态信息)",
|
||||
"zh_HK": "只讓控制面板顯示正確的CPU/GPU/溫度等信息. (参数 -s 顯示靜態信息)",
|
||||
"zh_TW": "只讓控制面板顯示正確的CPU/GPU/温度等信息. (参数 -s 顯示靜態信息)"
|
||||
}
|
||||
},
|
||||
"dbgutils": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Debug utilities, automatically capture all stage boot logs to <loader disk>/p1/logs/.",
|
||||
"ar_SA": "أدوات التصحيح، التقاط جميع سجلات تمهيد المرحلة تلقائيًا إلى <قرص التحميل>/p1/logs/.",
|
||||
"de_DE": "Debug-Dienstprogramme, erfassen Sie automatisch alle Stufenstartprotokolle auf <Loader-Disk>/p1/logs/.",
|
||||
"es_ES": "Utilidades de depuración, captura automáticamente todos los registros de arranque de etapa a <disco de carga>/p1/logs/.",
|
||||
"fr_FR": "Utilitaires de débogage, capture automatiquement tous les journaux de démarrage de la scène à <disque de chargement>/p1/logs/.",
|
||||
"ja_JP": "デバッグユーティリティ、すべてのステージブートログを <ローダーディスク>/p1/logs/ に自動的にキャプチャします.",
|
||||
"ko_KR": "디버그 유틸리티, 모든 스테이지 부팅 로그를 <로더 디스크>/p1/logs/에 자동으로 캡처합니다.",
|
||||
"ru_RU": "Утилиты отладки, автоматически захватывают все журналы загрузки этапа на <загрузочный диск>/p1/logs/.",
|
||||
"th_TH": "เครื่องมือการแก้บั๊ก, จับบันทึกการบูตของขั้นตอนทั้งหมดไปยัง <ดิสก์โหลด>/p1/logs/ โดยอัตโนมัติ",
|
||||
"tr_TR": "Hata ayıklama araçları, tüm aşama başlangıç günlüklerini <yükleme diski>/p1/logs/ dizinine otomatik olarak yakalar.",
|
||||
"uk_UA": "Утиліти відлагодження, автоматично захоплюють всі журнали завантаження етапу на <завантажувальний диск>/p1/logs/.",
|
||||
"vi_VN": "Công cụ gỡ lỗi, tự động chụp tất cả các bản ghi khởi động giai đoạn đến <ổ đĩa tải trọng>/p1/logs/.",
|
||||
"zh_CN": "调试工具, 自动捕获所有阶段启动日志到 <加载器磁盘>/p1/logs/.",
|
||||
"zh_HK": "調試工具, 自動捕獲所有階段啟動日誌到 <加載器磁盤>/p1/logs/.",
|
||||
"zh_TW": "調試工具, 自動捕獲所有階段啟動日誌到 <加載器磁盤>/p1/logs/."
|
||||
}
|
||||
},
|
||||
"disks": {
|
||||
"system": true,
|
||||
"description": {
|
||||
"en_US": "Config disks related setting.",
|
||||
"ar_SA": "قم بتكوين إعدادات القرص.",
|
||||
"de_DE": "Konfiguriere Einstellungen für Festplatten.",
|
||||
"es_ES": "Configurar la configuración relacionada con los discos.",
|
||||
"fr_FR": "Configurer les paramètres relatifs aux disques.",
|
||||
"ja_JP": "ディスク関連の設定を構成します.",
|
||||
"ko_KR": "디스크 관련 설정 구성.",
|
||||
"ru_RU": "Настройка параметров дисков.",
|
||||
"th_TH": "กำหนดค่าที่เกี่ยวข้องกับดิสก์",
|
||||
"tr_TR": "Disklerle ilgili ayarları yapılandırın.",
|
||||
"uk_UA": "Налаштування параметрів дисків.",
|
||||
"vi_VN": "Cấu hình các thiết lập liên quan đến đĩa.",
|
||||
"zh_CN": "配置与磁盘相关的设置.",
|
||||
"zh_HK": "配置與磁碟相關的設定.",
|
||||
"zh_TW": "配置與磁碟相關的設定."
|
||||
}
|
||||
},
|
||||
"eudev": {
|
||||
"system": true,
|
||||
"description": {
|
||||
"en_US": "eudev + kmod automatically loaded modules.",
|
||||
"ar_SA": "eudev + kmod الوحدات المحملة تلقائيًا.",
|
||||
"de_DE": "eudev + kmod automatisch geladene Module.",
|
||||
"es_ES": "eudev + kmod módulos cargados automáticamente.",
|
||||
"fr_FR": "eudev + kmod modules chargés automatiquement.",
|
||||
"ja_JP": "eudev + kmod 自動的にロードされるモジュール.",
|
||||
"ko_KR": "eudev + kmod 자동으로 로드된 모듈.",
|
||||
"ru_RU": "eudev + kmod автоматически загружаемые модули.",
|
||||
"th_TH": "eudev + kmod โมดูลที่โหลดโดยอัตโนมัติ",
|
||||
"tr_TR": "eudev + kmod otomatik olarak yüklenen modüller.",
|
||||
"uk_UA": "eudev + kmod автоматично завантажені модулі.",
|
||||
"vi_VN": "eudev + kmod môdules tải tự động.",
|
||||
"zh_CN": "eudev + kmod 自动加载模块.",
|
||||
"zh_HK": "eudev + kmod 自動加載模塊.",
|
||||
"zh_TW": "eudev + kmod 自動加載模塊."
|
||||
}
|
||||
},
|
||||
"expands": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Expanded miscellaneous, updated usb.map, ca-certificates.crt, etc.",
|
||||
"ar_SA": "متنوعات موسعة، usb.map محدث، ca-certificates.crt، إلخ.",
|
||||
"de_DE": "Erweiterte Diverses, aktualisierte usb.map, ca-certificates.crt, etc.",
|
||||
"es_ES": "Misceláneos ampliados, usb.map actualizado, ca-certificates.crt, etc.",
|
||||
"fr_FR": "Diverses étendues, usb.map mise à jour, ca-certificates.crt, etc.",
|
||||
"ja_JP": "拡張その他、更新された usb.map、ca-certificates.crt など",
|
||||
"ko_KR": "기타 확장, 업데이트 된 usb.map, ca-certificates.crt 등",
|
||||
"ru_RU": "Расширенные разные, обновленная usb.map, ca-certificates.crt и т. Д.",
|
||||
"th_TH": "ขยายหลากหลาย, อัปเดต usb.map, ca-certificates.crt, เป็นต้น",
|
||||
"tr_TR": "Genişletilmiş çeşitli, güncellenmiş usb.map, ca-certificates.crt, vb.",
|
||||
"uk_UA": "Розширені різні, оновлена usb.map, ca-certificates.crt тощо.",
|
||||
"vi_VN": "Mở rộng các loại khác nhau, usb.map được cập nhật, ca-certificates.crt, v.v.",
|
||||
"zh_CN": "扩展杂项, 更新 usb.map, ca-certificates.crt 等.",
|
||||
"zh_HK": "擴展雜項, 更新 usb.map, ca-certificates.crt 等.",
|
||||
"zh_TW": "擴展雜項, 更新 usb.map, ca-certificates.crt 等."
|
||||
}
|
||||
},
|
||||
"hdddb": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Author: 007revad. Add HDD/SSD drives to the DSM database to solve the problem of firmware version not recognized by the disk.",
|
||||
"ar_SA": "المؤلف: (007revad). قم بإضافة بيانات محرك الأقراص الصلبة/SSD إلى قاعدة بيانات DSM لحل مشكلة إصدار البرنامج الثابت لمحرك الأقراص الثابتة غير المعروف.",
|
||||
"de_DE": "Autor: 007revad. Fügen Sie HDD/SSD-Laufwerke zur DSM-Datenbank hinzu, um das Problem zu lösen, dass die Firmware-Version von der Festplatte nicht erkannt wird.",
|
||||
"es_ES": "Autor: 007revad. Agrega discos duros y SSD a la base de datos de DSM para solucionar el problema de que la versión del firmware no sea reconocida por el disco.",
|
||||
"fr_FR": "Auteur: 007revad. Ajoutez des disques durs et SSD à la base de données DSM pour résoudre le problème de reconnaissance de la version du firmware par le disque.",
|
||||
"ja_JP": "作者: 007revad. ディスクのファームウェアバージョンが認識されない問題を解決するために、HDD/SSDドライブをDSMデータベースに追加します.",
|
||||
"ko_KR": "저자: 007revad. 디스크의 펌웨어 버전이 인식되지 않는 문제를 해결하기 위해 HDD/SSD 드라이브를 DSM 데이터베이스에 추가합니다.",
|
||||
"ru_RU": "Автор: 007revad. Добавьте данные жесткого диска/SSD в базу данных DSM, чтобы решить проблему нераспознанной версии прошивки жесткого диска.",
|
||||
"th_TH": "ผู้เขียน: 007revad. เพิ่มฮาร์ดดิสก์และ SSD ลงในฐานข้อมูล DSM เพื่อแก้ปัญหาเวอร์ชันฟิวเวอร์ไม่ได้รับการรับรู้โดยดิสก์",
|
||||
"tr_TR": "Yazar: 007revad. Disk tarafından tanınmayan firmware sürümü sorununu çözmek için HDD/SSD sürücüleri DSM veritabanına ekleyin.",
|
||||
"uk_UA": "Автор: 007revad. Додайте дані диска HDD/SSD до бази даних DSM, щоб вирішити проблему нерозпізнаної версії мікропрограми жорсткого диска.",
|
||||
"vi_VN": "Tác giả: 007revad. Thêm ổ cứng và ổ SSD vào cơ sở dữ liệu DSM để giải quyết vấn đề không nhận diện được phiên bản firmware của ổ cứng.",
|
||||
"zh_CN": "作者: 007revad. 将HDD/SSD驱动器数据添加到DSM数据库中, 以解决硬盘固件版本无法识别的问题.",
|
||||
"zh_HK": "作者: 007revad. 將HDD/SSD驱动器數據添加到DSM數據庫中, 以解決硬碟固件版本無法識別的問題.",
|
||||
"zh_TW": "作者: 007revad. 將HDD/SSD驅動器數據添加到DSM數據庫中, 以解決硬碟固件版本無法識別的問題."
|
||||
}
|
||||
},
|
||||
"i915le10th": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Automatically replace the device ID of i915.ko(apollolake, geminilake), only supporting less 10th. (Parameter VID:PID)",
|
||||
"ar_SA": "استبدل تلقائيًا معرف الجهاز لـ i915.ko (apollolake، geminilake)، والذي يدعم فقط أقل من 10. (معلمة VID:PID)",
|
||||
"de_DE": "Ersetzen Sie automatisch die Geräte-ID von i915.ko (apollolake, geminilake), die nur weniger als 10. unterstützt. (Parameter VID:PID)",
|
||||
"es_ES": "Reemplace automáticamente el ID de dispositivo de i915.ko (apollolake, geminilake), que solo admite menos de 10. (Parámetro VID:PID)",
|
||||
"fr_FR": "Remplacez automatiquement l'ID de périphérique de i915.ko (apollolake, geminilake), ne prenant en charge que moins de 10. (Paramètre VID:PID)",
|
||||
"ja_JP": "i915.ko (apollolake, geminilake) のデバイスIDを自動的に置き換え, 10未満のみをサポートします. (パラメータVID:PID) ",
|
||||
"ko_KR": "i915.ko (apollolake, geminilake) 의 장치 ID를 자동으로 교체하며, 10세 미만만 지원합니다. (파라미터 VID:PID)",
|
||||
"ru_RU": "Автоматическая замена идентификатора устройства i915.ko (apollolake, geminilake), поддерживающего только менее 10. (Параметр VID:PID)",
|
||||
"th_TH": "แทนที่ ID อุปกรณ์ของ i915.ko (apollolake, geminilake) โดยอัตโนมัติ รองรับเฉพาะต่ำกว่า 10 (พารามิเตอร์ VID:PID)",
|
||||
"tr_TR": "i915.ko (apollolake, geminilake) cihaz kimliğini otomatik olarak değiştirir, yalnızca 10. sürümü destekler. (Parametre VID:PID)",
|
||||
"uk_UA": "Автоматично замінює ідентифікатор пристрою i915.ko (apollolake, geminilake), підтримує лише менше 10. (Параметр VID:PID)",
|
||||
"vi_VN": "Tự động thay thế ID thiết bị của i915.ko (apollolake, geminilake), chỉ hỗ trợ ít hơn 10. (Tham số VID:PID)",
|
||||
"zh_CN": "自动替换 i915.ko (apollolake, geminilake) 的设备 ID, 仅支持 10 代以下. (参数VID:PID) ",
|
||||
"zh_HK": "自動替換 i915.ko (apollolake, geminilake) 的設備 ID, 僅支持 10 代以下. (參數VID:PID) ",
|
||||
"zh_TW": "自動替換 i915.ko (apollolake, geminilake) 的設備 ID, 僅支持 10 代以下. (參數VID:PID) "
|
||||
}
|
||||
},
|
||||
"localrss": {
|
||||
"system": true,
|
||||
"description": {
|
||||
"en_US": "Implant RSS into the bootloader so that it can be installed online.",
|
||||
"ar_SA": "زرع RSS في البرنامج الثابت ليمكن تثبيته عبر الإنترنت.",
|
||||
"de_DE": "RSS in den Bootloader einpflanzen, damit er online installiert werden kann.",
|
||||
"es_ES": "Implantar RSS en el cargador de arranque para que se pueda instalar en línea.",
|
||||
"fr_FR": "Implanter RSS dans le chargeur de démarrage pour qu'il puisse être installé en ligne.",
|
||||
"ja_JP": "RSS をブートローダーに埋め込んでオンラインでインストールできるようにします.",
|
||||
"ko_KR": "부트로더에 RSS를 심어 온라인으로 설치할 수 있습니다.",
|
||||
"ru_RU": "Внедрить RSS в загрузчик, чтобы его можно было установить онлайн.",
|
||||
"th_TH": "ฝัง RSS ในโปรแกรมเริ่มต้นเพื่อให้สามารถติดตั้งออนไลน์ได้",
|
||||
"tr_TR": "RSS'i önyükleyiciye yerleştirerek çevrimiçi olarak yükleyebilirsiniz.",
|
||||
"uk_UA": "Внести RSS в завантажувач, щоб його можна було встановити онлайн.",
|
||||
"vi_VN": "Cấy RSS vào trình khởi động để có thể cài đặt trực tuyến.",
|
||||
"zh_CN": "将 RSS 植入到引导加载程序中, 以便可以在线安装.",
|
||||
"zh_HK": "將 RSS 植入到引導加載程序中, 以便可以在線安裝.",
|
||||
"zh_TW": "將 RSS 植入到引導載入程式中, 以便可以在線安裝."
|
||||
}
|
||||
},
|
||||
"lsiutil": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "A tool for working with some LSI RAID controllers.",
|
||||
"ar_SA": "أداة للعمل مع بعض تحكمات RAID LSI.",
|
||||
"de_DE": "Ein Werkzeug zum Arbeiten mit einigen LSI RAID Controllern.",
|
||||
"es_ES": "Una herramienta para trabajar con algunos controladores RAID LSI.",
|
||||
"fr_FR": "Un outil pour travailler avec certains contrôleurs RAID LSI.",
|
||||
"ja_JP": "一部の LSI RAID コントローラーと一緒に作業するためのツールです.",
|
||||
"ko_KR": "LSI RAID 컨트롤러와 함께 작업하는 도구입니다.",
|
||||
"ru_RU": "Инструмент для работы с некоторыми контроллерами RAID LSI.",
|
||||
"th_TH": "เครื่องมือสำหรับทำงานกับบางคอนโทรลเลอร์ RAID LSI",
|
||||
"tr_TR": "Bazı LSI RAID denetleyicileriyle çalışmak için bir araç.",
|
||||
"uk_UA": "Інструмент для роботи з деякими контролерами RAID LSI.",
|
||||
"vi_VN": "Một công cụ để làm việc với một số bộ điều khiển RAID LSI.",
|
||||
"zh_CN": "用于处理某些 LSI RAID 控制器的工具.",
|
||||
"zh_HK": "用於處理某些 LSI RAID 控制器的工具.",
|
||||
"zh_TW": "用於處理某些 LSI RAID 控制器的工具."
|
||||
}
|
||||
},
|
||||
"maiyunda": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Control Maiyunda M1S machine RESET button event, press and hold for 3s (release after hearing beeping) reset admin password to maiyunda.com and reset network, press and hold for 9s (release after hearing 3 beeps) reset system (all data will be erased).",
|
||||
"ar_SA": "التحكم في حدث زر إعادة تعيين آلة Maiyunda M1S، اضغط مع الاستمرار لمدة 3 ثوانٍ (افرج بعد سماع صفير) إعادة تعيين كلمة مرور المسؤول إلى maiyunda.com وإعادة تعيين الشبكة، اضغط مع الاستمرار لمدة 9 ثوانٍ (افرج بعد سماع 3 صفير) إعادة تعيين النظام (سيتم مسح جميع البيانات).",
|
||||
"de_DE": "Steuerung des RESET-Tastenereignisses der Maiyunda M1S-Maschine. Bitte ändern Sie den Inhalt der Aufgaben Net-Button-3s, Net-Button-9s, Copy-Button-3s und Copy-Button-9s im Zeitplan.",
|
||||
"es_ES": "Control del evento del botón RESET de la máquina Maiyunda M1S, mantenga presionado durante 3 segundos (suéltelo después de escuchar el pitido) restablezca la contraseña de administrador a maiyunda.com y restablezca la red, mantenga presionado durante 9 segundos (suéltelo después de escuchar 3 pitidos) restablezca el sistema (se borrarán todos los datos).",
|
||||
"fr_FR": "Contrôle de l'événement du bouton RESET de la machine Maiyunda M1S, maintenez enfoncé pendant 3 secondes (relâchez après avoir entendu le bip) réinitialisez le mot de passe administrateur à maiyunda.com et réinitialisez le réseau, maintenez enfoncé pendant 9 secondes (relâchez après avoir entendu 3 bips) réinitialisez le système (toutes les données seront effacées).",
|
||||
"ja_JP": "Maiyunda M1S マシンの RESET ボタン イベントを制御します。3 秒間押し続けて (ビープ音を聞いた後に放す) 管理者パスワードを maiyunda.com にリセットし、ネットワークをリセットします。9 秒間押し続けて (3 回のビープ音を聞いた後に放す) システムをリセットします (すべてのデータが消去されます)。",
|
||||
"ko_KR": "Maiyunda M1S 기계의 RESET 버튼 이벤트를 제어합니다. 3초 동안 누르고 (삐 소리를 들은 후 놓음) 관리자의 비밀번호를 maiyunda.com으로 재설정하고 네트워크를 재설정합니다. 9초 동안 누르고 (3번의 삐 소리를 들은 후 놓음) 시스템을 재설정합니다 (모든 데이터가 지워짐).",
|
||||
"ru_RU": "Управление событием кнопки RESET машины Maiyunda M1S, удерживайте 3 секунды (отпустите после звукового сигнала) сбросьте пароль администратора на maiyunda.com и сбросьте сеть, удерживайте 9 секунд (отпустите после 3 звуковых сигналов) сбросьте систему (все данные будут стерты).",
|
||||
"th_TH": "ควบคุมเหตุการณ์ปุ่ม RESET ของเครื่อง Maiyunda M1S กดค้างไว้ 3 วินาที (ปล่อยหลังจากได้ยินเสียงบี๊บ) รีเซ็ตพาสเวิร์ดผู้ดูแลระบบเป็น maiyunda.com และรีเซ็ตเครือข่าย กดค้างไว้ 9 วินาที (ปล่อยหลังจากได้ยินเสียงบี๊บ 3 ครั้ง) รีเซ็ตระบบ (ข้อมูลทั้งหมดจะถูกลบออก).",
|
||||
"tr_TR": "Maiyunda M1S makinesinin RESET düğmesi olayını kontrol edin, 3 saniye basılı tutun (bip sesi duyduktan sonra bırakın) admin şifresini maiyunda.com olarak sıfırlayın ve ağı sıfırlayın, 9 saniye basılı tutun (3 bip sesi duyduktan sonra bırakın) sistemi sıfırlayın (tüm veriler silinecektir).",
|
||||
"uk_UA": "Контроль події кнопки RESET машини Maiyunda M1S, натискайте та утримуйте 3 секунди (відпустіть після звуку) скинути пароль адміністратора на maiyunda.com і скинути мережу, натискайте та утримуйте 9 секунд (відпустіть після 3 звуків) скинути систему (всі дані будуть стерті).",
|
||||
"vi_VN": "Điều khiển sự kiện nút RESET của máy Maiyunda M1S, nhấn và giữ trong 3 giây (thả ra sau khi nghe tiếng bíp) đặt lại mật khẩu quản trị viên thành maiyunda.com và đặt lại mạng, nhấn và giữ trong 9 giây (thả ra sau khi nghe 3 tiếng bíp) đặt lại hệ thống (tất cả dữ liệu sẽ bị xóa).",
|
||||
"zh_CN": "用于控制 迈云达M1S 机器的 RESET 按钮事件, 按住 3s (听到哔哔哔后松手) 重置 admin 密码为 maiyunda.com 并重置网络, 按住 9s (听到 3次 哔哔哔后松手) 重置系统 (会清空全部数据).",
|
||||
"zh_HK": "用於控制 迈云达M1S 机器的 RESET 按钮事件, 按住 3s (听到哔哔哔后松手) 重置 admin 密码为 maiyunda.com 并重置网络, 按住 9s (听到 3次 哔哔哔后松手) 重置系统 (会清空全部数据).",
|
||||
"zh_TW": "用於控制 迈云达M1S 机器的 RESET 按钮事件, 按住 3s (听到哔哔哔后松手) 重置 admin 密码为 maiyunda.com 并重置网络, 按住 9s (听到 3次 哔哔哔后松手) 重置系统 (会清空全部数据)."
|
||||
}
|
||||
},
|
||||
"misc": {
|
||||
"system": true,
|
||||
"description": {
|
||||
"en_US": "Miscellaneous functions. (A collection of some necessary modifications.)",
|
||||
"ar_SA": "وظائف متنوعة. (مجموعة من بعض التعديلات الضرورية.)",
|
||||
"de_DE": "Verschiedene Funktionen. (Eine Sammlung einiger notwendiger Änderungen.)",
|
||||
"es_ES": "Funciones variadas. (Una colección de algunas modificaciones necesarias.)",
|
||||
"fr_FR": "Fonctions diverses. (Une collection de certaines modifications nécessaires.)",
|
||||
"ja_JP": "その他の機能. (いくつかの必要な変更の集まり.)",
|
||||
"ko_KR": "기타 기능. (일부 필요한 수정의 집합.)",
|
||||
"ru_RU": "Различные функции. (Набор некоторых необходимых изменений.)",
|
||||
"th_TH": "ฟังก์ชันเบ็ดเสร็จ. (ชุดของการปรับเปลี่ยนบางอย่างที่จำเป็น.)",
|
||||
"tr_TR": "Çeşitli iş levler. (Bazı gereksiz değişikliklerin bir koleksiyonu.)",
|
||||
"uk_UA": "Різноманітні функції. (Колекція деяких необхідних модифікацій.)",
|
||||
"vi_VN": "Các chức năng khác nhau. (Một bộ sửa đổi cần thiết.)",
|
||||
"zh_CN": "杂项功能. (一些必要的修改的集合.)",
|
||||
"zh_HK": "雜項功能. (一些必要的修改的集合.)",
|
||||
"zh_TW": "雜項功能. (一些必要的修改的集合.)"
|
||||
}
|
||||
},
|
||||
"monitor": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Monitor Power Management (Only supports graphics card drivers).",
|
||||
"ar_SA": "إدارة الطاقة للمراقبة(يدعم فقط برامج تشغيل بطاقة الرسومات).",
|
||||
"de_DE": "Überwachung der Energieverwaltung (nur unterstützt Graphikkartendrivers).",
|
||||
"es_ES": "Monitoreo de la gestión de energía (solo admite controladores de tarjeta gráfica).",
|
||||
"fr_FR": "Surveillance de la gestion de l'alimentation (seulement les pilotes de carte graphique sont pris en charge).",
|
||||
"ja_JP": "電源管理の監視 (グラフィックスカードドライバーのみサポート)。",
|
||||
"ko_KR": "모니터 전원 관리 (그래픽 카드 드라이버만 지원)。",
|
||||
"ru_RU": "Мониторинг управления питанием (только поддерживает драйверы графических карт).",
|
||||
"th_TH": "การตรวจสอบการบริหารจัดการพลังงาน (แค่สนับสนุนไดรเวอร์การทำงานของการ์ดราฟิก).",
|
||||
"tr_TR": "Monitör Güç Yönetimi (grafik kart sürücüsü destekliyor).",
|
||||
"uk_UA": "Моніторинг управління живленням (тільки підтримує драйвери графічних карток).",
|
||||
"vi_VN": "Quản lý nguồn điện (chỉ hỗ trợ các driver của card đồ họa).",
|
||||
"zh_CN": "显示器电源管理 (仅支持显卡已驱动的环境)。",
|
||||
"zh_HK": "顯示器電源管理 (僅支持显卡已驅動的环境)。",
|
||||
"zh_TW": "顯示器電源管理 (僅支持显卡已驅動的环境)。"
|
||||
}
|
||||
},
|
||||
"mountloader": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Mount boot disk and upgrade boot script under DSM system, for rr-manager application.",
|
||||
"ar_SA": "تثبيت قرص التمهيد وترقية البرنامج النصي للتمهيد تحت نظام DSM، لتطبيق rr-manager.",
|
||||
"de_DE": "Mounten Sie das Startlaufwerk und aktualisieren Sie das Startskript unter dem DSM-System für die rr-manager-Anwendung.",
|
||||
"es_ES": "Montar el disco de arranque y actualizar el script de arranque en el sistema DSM, para la aplicación rr-manager.",
|
||||
"fr_FR": "Monter le disque de démarrage et mettre à jour le script de démarrage sous le système DSM, pour l'application rr-manager.",
|
||||
"ja_JP": "DSM システムでブート ディスクをマウントし、rr-manager アプリケーション用のブート スクリプトをアップグレードします。",
|
||||
"ko_KR": "DSM 시스템에서 부팅 디스크를 마운트하고 rr-manager 응용 프로그램을 위한 부팅 스크립트를 업그레이드합니다.",
|
||||
"ru_RU": "Подключите загрузочный диск и обновите загрузочный скрипт в системе DSM для приложения rr-manager.",
|
||||
"th_TH": "ในระบบ DSM เมานต์ดิสก์บูตและอัปเกรดสคริปต์บูตสำหรับแอปพลิเคชัน rr-manager",
|
||||
"tr_TR": "DSM sisteminde başlangıç diskini bağlayın ve rr-manager uygulamasında başlangıç betiğini güncelleyin.",
|
||||
"uk_UA": "З'єднати стартовий диск та оновити стартовий скрипт в системі DSM для додатку rr-manager.",
|
||||
"vi_VN": "Đồng bộ hóa đĩa khởi động và cập nhật script khởi động trong hệ thống DSM, cho ứng dụng rr-manager.",
|
||||
"zh_CN": "在 DSM 系统下挂载引导磁盘和升级引导的脚本, 供 rr-manager 应用程序使用.",
|
||||
"zh_HK": "在 DSM 系統下掛載引導磁碟和升級引導的腳本, 供 rr-manager 應用程序使用.",
|
||||
"zh_TW": "在 DSM 系統下掛載引導磁碟和升級引導的腳本, 供 rr-manager 應用程序使用."
|
||||
}
|
||||
},
|
||||
"notify": {
|
||||
"system": true,
|
||||
"description": {
|
||||
"en_US": "Add rr notify.",
|
||||
"ar_SA": "إضافة rr notify.",
|
||||
"de_DE": "Füge rr notify hinzu.",
|
||||
"es_ES": "Añadir rr notify.",
|
||||
"fr_FR": "Ajouter rr notify.",
|
||||
"ja_JP": "rr notify を追加します.",
|
||||
"ko_KR": "rr notify 를 추가합니다.",
|
||||
"ru_RU": "Добавить rr notify.",
|
||||
"th_TH": "เพิ่ม rr notify",
|
||||
"tr_TR": "rr notify ekleyin.",
|
||||
"uk_UA": "Додати rr notify.",
|
||||
"vi_VN": "Thêm rr notify.",
|
||||
"zh_CN": "添加 rr notify.",
|
||||
"zh_HK": "添加 rr notify.",
|
||||
"zh_TW": "新增 rr notify."
|
||||
}
|
||||
},
|
||||
"nvmecache": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Author: PeterSuh-Q3. Enable NVME disk support for DS918+, DS1019+, DS1621xs+, RS1619xs+.",
|
||||
"ar_SA": "المؤلف: PeterSuh-Q3. تمكين دعم القرص NVME لـ DS918+، DS1019+، DS1621xs+، RS1619xs+.",
|
||||
"de_DE": "Autor: PeterSuh-Q3. Aktivieren Sie die Unterstützung für NVME-Laufwerke für DS918+, DS1019+, DS1621xs+, RS1619xs+.",
|
||||
"es_ES": "Autor: PeterSuh-Q3. Habilita el soporte de discos NVME para DS918+, DS1019+, DS1621xs+, RS1619xs+.",
|
||||
"fr_FR": "Auteur: PeterSuh-Q3. Activer la prise en charge des disques NVME pour DS918+, DS1019+, DS1621xs+, RS1619xs+.",
|
||||
"ja_JP": "作者: PeterSuh-Q3. DS918+、DS1019+、DS1621xs+、RS1619xs+ で NVME ディスクのサポートを有効にします.",
|
||||
"ko_KR": "작성자: PeterSuh-Q3. DS918+, DS1019+, DS1621xs+, RS1619xs+에서 NVME 디스크 지원 활성화.",
|
||||
"ru_RU": "Автор: PeterSuh-Q3. Включите поддержку дисков NVME для DS918+, DS1019+, DS1621xs+, RS1619xs+.",
|
||||
"th_TH": "ผู้เขียน: PeterSuh-Q3. เปิดใช้งานการสนับสนุนดิสก์ NVME สำหรับ DS918+, DS1019+, DS1621xs+, RS1619xs+",
|
||||
"tr_TR": "Yazar: PeterSuh-Q3. DS918+, DS1019+, DS1621xs+, RS1619xs+ için NVME disk desteğini etkinleştirin.",
|
||||
"uk_UA": "Автор: PeterSuh-Q3. Увімкніть підтримку дисків NVME для DS918+, DS1019+, DS1621xs+, RS1619xs+.",
|
||||
"vi_VN": "Tác giả: PeterSuh-Q3. Bật hỗ trợ đĩa NVME cho DS918+, DS1019+, DS1621xs+, RS1619xs+.",
|
||||
"zh_CN": "作者: PeterSuh-Q3. 启用 DS918+、DS1019+、DS1621xs+、RS1619xs+ 的 NVME 硬盘支持.",
|
||||
"zh_HK": "作者: PeterSuh-Q3. 啟用 DS918+、DS1019+、DS1621xs+、RS1619xs+ 的 NVME 硬碟支援.",
|
||||
"zh_TW": "作者: PeterSuh-Q3. 啟用 DS918+、DS1019+、DS1621xs+、RS1619xs+ 的 NVME 硬碟支援."
|
||||
}
|
||||
},
|
||||
"nvmesystem": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Author: jim3ma. Install system on NVME disk (can't contain any SATA disk during installation, only supports DT mdoels).",
|
||||
"ar_SA": "المؤلف: jim3ma. تثبيت نظام على القرص NVME (لا يمكن أن يحتوي على أي قرص SATA أثناء التثبيت ، يدعم فقط DT).",
|
||||
"de_DE": "Autor: jim3ma. Installieren Sie das System auf einem NVME-Disk (kann keine SATA-Disk während der Installation enthalten, unterstützt nur DT-Modell).",
|
||||
"es_ES": "Autor: jim3ma. Instalar el sistema en un disco NVME (no puede contener ninguna unidad SATA durante la instalación, solo admite modelos DT).",
|
||||
"fr_FR": "Auteur: jim3ma. Installez le système sur un disque NVME (ne peut contenir aucune unité SATA pendant l'installation, ne prend que les modèles DT).",
|
||||
"ja_JP": "著者: jim3ma. NVME ディスクにシステムをインストール (インストール中に SATA ディスクを含めることはできません、DT モデルのみをサポートします).",
|
||||
"ko_KR": "저자: jim3ma. NVME 디스크에 시스템을 설치 (설치 중에 SATA 디스크를 포함할 수 없으며, DT 모델만 지원합니다).",
|
||||
"ru_RU": "Автор: jim3ma. Установить систему на диск NVME (не может содержать SATA-диск во время установки, поддерживает только модели DT).",
|
||||
"th_TH": "ผู้เขียน: jim3ma. ติดตั้งระบบบนแผง NVME (ไม่สามารถมีหน่วย SATA ในระหว่างการติดตั้งได้ และเฉพาะโมเดล DT เท่านั้น).",
|
||||
"tr_TR": "Yazar: jim3ma. NVME disk üzerine sistem yükleyin (kurulum sırasında herhangi bir SATA disk içeremez, yalnızca DT modellerini destekler).",
|
||||
"uk_UA": "Автор: jim3ma. Установить систему на диск NVME (не может содержать SATA-диск во время установки, поддерживает только модели DT).",
|
||||
"vi_VN": "Người tạo: jim3ma. Cài đặt hệ thống trên NVME (không thể chứa đĩa SATA trong quá trình cài đặt, chỉ hỗ trợ mô hình DT).",
|
||||
"zh_CN": "作者: jim3ma. 在 NVME 盘上安装系统 (在安装过程中不能包含 SATA 盘,仅支持 DT 型号).",
|
||||
"zh_HK": "作者: jim3ma. 在 NVME 盤上安裝系統 (在安裝過程中不能包含 SATA 盤,僅支持 DT 模型).",
|
||||
"zh_TW": "作者: jim3ma. 在 NVME 盤上安裝系統 (在安裝過程中不能包含 SATA 盤,僅支持 DT 模型)."
|
||||
}
|
||||
},
|
||||
"nvmevolume": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Author: 007revad & PeterSuh-Q3. Allow creation of storage pools and volumes from Storage Manager through NVME disks.",
|
||||
"ar_SA": "المؤلف: (007revad) وPeterSuh-Q3. تمكين إنشاء مجموعات تخزين ومساحات تخزين من مネージャ التخزين من خلال قرص NVME.",
|
||||
"de_DE": "Autor: 007revad & PeterSuh-Q3. Erlaubt die Erstellung von Speicherpools und Volumen über den Speicher-Manager über NVME-Disks.",
|
||||
"es_ES": "Autor: 007revad & PeterSuh-Q3. Permite la creación de grupos de almacenamiento y volúmenes a través del Administrador de almacenamiento a través de discos NVME.",
|
||||
"fr_FR": "Auteur: 007revad & PeterSuh-Q3. Permet la création de pools de stockage et de volumes à partir du gestionnaire de stockage à travers les disques NVME.",
|
||||
"ja_JP": "作者: 007revad & PeterSuh-Q3. Storage Manager から NVME ディスクからストレージ プールとボリュームを作成できるようにします.",
|
||||
"ko_KR": "작성자: 007revad & PeterSuh-Q3. Storage Manager의 NVME 디스크에서 스토리지 풀 및 볼륨을 생성할 수 있습니다.",
|
||||
"ru_RU": "Автор: 007revad & PeterSuh-Q3. Позволяет создавать пулы носителей и тома из дисков NVME из Storage Manager.",
|
||||
"th_TH": "ผู้เขียน: 007revad & PeterSuh-Q3 สร้างกลุ่มจัดเก็บและพื้นที่จัดเก็บจาก Storage Manager ผ่านดิสก์ NVME",
|
||||
"tr_TR": "Yazar: 007revad ve PeterSuh-Q3. Storage Manager'dan NVME disklerden depolama havuzları ve birimleri oluşturulmasına olanak tanır.",
|
||||
"uk_UA": "Автор: 007revad & PeterSuh-Q3. Дозволяє створювати пули зберігання та томи з дисків NVME за допомогою Storage Manager.",
|
||||
"vi_VN": "tác giả: 007revad & PeterSuh-Q3. Cho phép tạo khối lưu trữ và khối từ Quản lý lưu trữ thông qua đĩa NVME.",
|
||||
"zh_CN": "作者: 007revad & PeterSuh-Q3. 允许从存储管理器中通过 NVME 磁盘创建存储池和卷.",
|
||||
"zh_HK": "作者: 007revad & PeterSuh-Q3. 允許從儲存管理器中透過 NVME 磁碟建立儲存池和磁碟區.",
|
||||
"zh_TW": "作者: 007revad & PeterSuh-Q3. 允許從儲存管理器中透過 NVME 磁碟建立儲存池和磁碟區."
|
||||
}
|
||||
},
|
||||
"powersched": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "A program to configure the RTC according to the DSM power plan, so that the RTC (scheduled power on/off) can work properly.",
|
||||
"ar_SA": "برنامج لتكوين RTC وفقًا لخطة الطاقة DSM، بحيث يمكن لـ RTC (تشغيل/إيقاف الطاقة المجدول) العمل بشكل صحيح.",
|
||||
"de_DE": "Ein Programm zum Konfigurieren des RTC gemäß dem DSM-Energieplan, damit der RTC (geplantes Ein-/Ausschalten) ordnungsgemäß funktionieren kann.",
|
||||
"es_ES": "Un programa para configurar el RTC de acuerdo con el plan de energía de DSM, de modo que el RTC (programado encendido/apagado) pueda funcionar correctamente.",
|
||||
"fr_FR": "Un programme pour configurer le RTC selon le plan d'alimentation DSM, de sorte que le RTC (mise sous tension/arrêt programmée) puisse fonctionner correctement.",
|
||||
"ja_JP": "DSM 電源計画に従って RTC を構成するプログラムです. これにより RTC (予約電源オン/オフ) が正常に動作します.",
|
||||
"ko_KR": "DSM 전원 계획에 따라 RTC를 구성하여 RTC(예약 전원/전원 끄기)이 정상적으로 작동하도록합니다.",
|
||||
"ru_RU": "Программа для настройки RTC в соответствии с планом питания DSM, чтобы RTC (запланированное включение/выключение) могло работать правильно.",
|
||||
"th_TH": "โปรแกรมสำหรับกำหนดค่า RTC ตามแผนไฟ DSM โดย RTC (เปิด/ปิดไฟตามกำหนดเวลา) สามารถทำงานได้อย่างถูกต้อง",
|
||||
"tr_TR": "DSM güç planına göre RTC'yi yapılandırmak için bir program, böylece RTC (zamanlanmış güç açma/kapama) düzgün çalışabilir.",
|
||||
"uk_UA": "Програма для налаштування RTC відповідно до плану живлення DSM, щоб RTC (заплановане ввімкнення/вимкнення) працювало належним чином.",
|
||||
"vi_VN": "Chương trình để cấu hình RTC theo kế hoạch nguồn DSM, để RTC (bật/tắt theo lịch trình) có thể hoạt động đúng cách.",
|
||||
"zh_CN": "根据 DSM 电源计划配置 RTC 的程序, 使 RTC(定时开关机) 可以正常工作.",
|
||||
"zh_HK": "根據 DSM 電源計劃配置 RTC 的程式, 使 RTC(定時開關機) 可以正常工作.",
|
||||
"zh_TW": "根據 DSM 電源計劃配置 RTC 的程式, 使 RTC(定時開關機) 可以正常工作."
|
||||
}
|
||||
},
|
||||
"reboottoloader": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Add a script to restart to RR in the DSM scheduled task, making it easy to access RR with not have a screen and keyboard.",
|
||||
"ar_SA": "أضف سكريبت لإعادة التشغيل إلى RR في المهمة المجدولة DSM، مما يجعل من السهل الوصول إلى RR بدون وجود شاشة ولوحة مفاتيح.",
|
||||
"de_DE": "Fügt einen Skript zum Neustart zu RR in der DSM geplanten Aufgabe, so dass es einfach, RR mit nicht haben einen Bildschirm und Tastatur zugreifen.",
|
||||
"es_ES": "Agregue un script para reiniciar a RR en la tarea programada de DSM, lo que facilita el acceso a RR sin tener una pantalla y un teclado.",
|
||||
"fr_FR": "Ajoutez un script pour redémarrer à RR dans la tâche planifiée DSM, ce qui rend facile d'accéder à RR avec ne pas avoir un écran et un clavier.",
|
||||
"ja_JP": "DSM のスケジュールされたタスクで RR に再起動するスクリプトを追加し、画面とキーボードがない RR に簡単にアクセスできるようにします.",
|
||||
"ko_KR": "DSM 예약 된 작업에서 RR로 재시작하는 스크립트를 추가하여 화면과 키보드가없는 RR에 쉽게 액세스 할 수 있습니다.",
|
||||
"ru_RU": "Добавьте сценарий для перезапуска в RR в запланированной задаче DSM, что облегчает доступ к RR без наличия экрана и клавиатуры.",
|
||||
"th_TH": "เพิ่มสคริปต์เพื่อรีสตาร์ทไปยัง RR ในงานที่ตั้งเวลา DSM ทำให้สามารถเข้าถึง RR ได้อย่างง่ายโดยไม่มีหน้าจอและคีย์บอร์ด",
|
||||
"tr_TR": "DSM planlanmış görevinde RR'ye yeniden başlatmak için bir betik ekleyerek, ekrana ve klavyeye sahip olmadan RR'ye erişmeyi kolaylaştırır.",
|
||||
"uk_UA": "Додайте сценарій для перезапуску в RR в запланованому завданні DSM, що полегшує доступ до RR без наявності екрана та клавіатури.",
|
||||
"vi_VN": "Thêm một tập lệnh để khởi động lại RR trong nhiệm vụ được lên lịch DSM, làm cho nó dễ dàng truy cập RR với không có màn hình và bàn phím.",
|
||||
"zh_CN": "在 DSM 计划任务中添加一个脚本以重新启动到 RR, 这使得很容易访问 RR 而不需要屏幕和键盘.",
|
||||
"zh_HK": "在 DSM 計劃任務中添加一個腳本以重新啟動到 RR, 這使得很容易訪問 RR 而不需要屏幕和鍵盤.",
|
||||
"zh_TW": "在 DSM 計劃任務中添加一個腳本以重新啟動到 RR, 這使得很容易訪問 RR 而不需要屏幕和鍵盤."
|
||||
}
|
||||
},
|
||||
"redpill": {
|
||||
"system": true,
|
||||
"description": {
|
||||
"en_US": "Delay redpill.",
|
||||
"ar_SA": "تأخير redpill.",
|
||||
"de_DE": "Verzögere redpill.",
|
||||
"es_ES": "Retrasar redpill.",
|
||||
"fr_FR": "Retarder redpill.",
|
||||
"ja_JP": "ディレイredpill.",
|
||||
"ko_KR": "지연 redpill.",
|
||||
"ru_RU": "Задержка redpill.",
|
||||
"th_TH": "เลื่อน redpill.",
|
||||
"tr_TR": "Redpill'i geciktir.",
|
||||
"uk_UA": "Затримка redpill.",
|
||||
"vi_VN": "Trì hoãn redpill.",
|
||||
"zh_CN": "延迟 redpill.",
|
||||
"zh_HK": "延遲 redpill.",
|
||||
"zh_TW": "延遲 redpill."
|
||||
}
|
||||
},
|
||||
"remotefs": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Author: jinlife. This patch will allow remote NFS/CIFS shared folder be used in VideoStation, AudioStation and Photos etc.",
|
||||
"ar_SA": "المؤلف: jinlife. سيسمح هذا التصحيح باستخدام مجلد مشترك بروتوكول NFS/CIFS عن بُعد في VideoStation و AudioStation و Photos وما إلى ذلك.",
|
||||
"de_DE": "Autor: jinlife. Dieser Patch ermöglicht es, dass ein entfernter NFS/CIFS-Freigabeordner in VideoStation, AudioStation und Photos usw. verwendet wird.",
|
||||
"es_ES": "Autor: jinlife. Este parche permitirá que la carpeta compartida remota NFS/CIFS se utilice en VideoStation, AudioStation y Photos, etc.",
|
||||
"fr_FR": "Auteur: jinlife. Ce correctif permettra à un dossier partagé NFS/CIFS distant d'être utilisé dans VideoStation, AudioStation et Photos, etc.",
|
||||
"ja_JP": "作者: jinlife. このパッチにより、リモート NFS/CIFS 共有フォルダを VideoStation、AudioStation、Photos などで使用できます.",
|
||||
"ko_KR": "작성자: jinlife. 이 패치를 사용하면 VideoStation, AudioStation 및 사진 등에서 원격 NFS/CIFS 공유 폴더를 사용할 수 있습니다.",
|
||||
"ru_RU": "Автор: jinlife. Этот патч позволит использовать удаленную общую папку NFS/CIFS в VideoStation, AudioStation и Photos и т. д.",
|
||||
"th_TH": "ผู้เขียน: jinlife. แพตช์นี้จะทำให้โฟลเดอร์ที่แชร์ระยะไกลแบบ NFS/CIFS ใช้ได้ใน VideoStation, AudioStation และ Photos เป็นต้น",
|
||||
"tr_TR": "Yazar: jinlife. Bu yama, VideoStation, AudioStation ve Fotoğraflar vb. gibi yerlerde uzak NFS/CIFS paylaşılan klasörün kullanılmasına izin verecektir.",
|
||||
"uk_UA": "Автор: jinlife. Цей патч дозволить використовувати віддалену спільну папку NFS/CIFS в VideoStation, AudioStation та Photos тощо.",
|
||||
"vi_VN": "Tác giả: jinlife. Bản vá này sẽ cho phép thư mục chia sẻ NFS/CIFS từ xa được sử dụng trong VideoStation, AudioStation và Photos v.v..",
|
||||
"zh_CN": "作者: jinlife. 此补丁将允许在 VideoStation、AudioStation 和 Photos 等应用中使用远程 NFS/CIFS 共享文件夹.",
|
||||
"zh_HK": "作者: jinlife. 此補丁將允許在 VideoStation、AudioStation 和 Photos 等應用中使用遠程 NFS/CIFS 共享文件夾.",
|
||||
"zh_TW": "作者: jinlife. 此補丁將允許在 VideoStation、AudioStation 和 Photos 等應用中使用遠程 NFS/CIFS 共享文件夾."
|
||||
}
|
||||
},
|
||||
"revert": {
|
||||
"system": true,
|
||||
"description": {
|
||||
"en_US": "Revert addons modifications.",
|
||||
"ar_SA": "تراجع عن تعديلات الإضافات.",
|
||||
"de_DE": "Addons-Modifikationen rückgängig machen.",
|
||||
"es_ES": "Deshacer las modificaciones de los addons.",
|
||||
"fr_FR": "Annuler les modifications des addons.",
|
||||
"ja_JP": "アドオンの変更を元に戻します.",
|
||||
"ko_KR": "애드온 수정 사항을 되돌립니다.",
|
||||
"ru_RU": "Отменить изменения аддонов.",
|
||||
"th_TH": "ย้อนกลับการปรับแต่งของส่วนเสริม",
|
||||
"tr_TR": "Eklentilerin değişikliklerini geri alın.",
|
||||
"uk_UA": "Скасувати зміни додатків.",
|
||||
"vi_VN": "Hoàn tác các thay đổi của các tiện ích.",
|
||||
"zh_CN": "撤销插件修改.",
|
||||
"zh_HK": "還原插件修改.",
|
||||
"zh_TW": "還原插件修改."
|
||||
}
|
||||
},
|
||||
"sensors": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "This script installs the sensors and fancontrol tools for CPU monitoring and fan control, which can be adjusted through the Fancontrol in the scheduled task.",
|
||||
"ar_SA": "هذا البرنامج النصي يقوم بتثبيت أدوات sensors و fancontrol لمراقبة وحدة المعالجة المركزية والتحكم في المروحة، والتي يمكن ضبطها من خلال Fancontrol في المهمة المجدولة.",
|
||||
"de_DE": "Dieses Skript installiert die Werkzeuge sensors und fancontrol zur CPU-Überwachung und Lüftersteuerung, die über Fancontrol in der geplanten Aufgabe angepasst werden können.",
|
||||
"es_ES": "Este script instala las herramientas sensors y fancontrol para la monitorización de la CPU y el control del ventilador, que se pueden ajustar mediante Fancontrol en la tarea programada.",
|
||||
"fr_FR": "Ce script installe les outils sensors et fancontrol pour la surveillance du processeur et le contrôle du ventilateur, qui peuvent être ajustés via Fancontrol dans la tâche planifiée.",
|
||||
"ja_JP": "このスクリプトは、CPU監視とファン制御のためのsensorsおよびfancontrolツールをインストールします。これは、スケジュールされたタスクのFancontrolを介して調整できます。",
|
||||
"ko_KR": "이 스크립트는 CPU 모니터링 및 팬 제어를 위한 sensors 및 fancontrol 도구를 설치합니다. 이는 예약된 작업의 Fancontrol을 통해 조정할 수 있습니다.",
|
||||
"ru_RU": "Этот скрипт устанавливает инструменты sensors и fancontrol для мониторинга ЦП и управления вентилятором, которые можно настроить через Fancontrol в запланированной задаче.",
|
||||
"th_TH": "สคริปต์นี้ติดตั้งเครื่องมือ sensors และ fancontrol สำหรับการตรวจสอบ CPU และการควบคุมพัดลมซึ่งสามารถปรับได้ผ่าน Fancontrol ในงานที่กำหนดเวลา",
|
||||
"tr_TR": "Bu betik, CPU izleme ve fan kontrolü için sensors ve fancontrol araçlarını yük합니다. Bu, planlı görevdeki Fancontrol을 통해 조정할 수 있습니다.",
|
||||
"uk_UA": "Цей скрипт встановлює інструменти sensors і fancontrol для моніторингу ЦП і керування вентилятором, які можна налаштувати через Fancontrol у запланованій задачі.",
|
||||
"vi_VN": "Đoạn mã này cài đặt các công cụ sensors và fancontrol để giám sát CPU và điều khiển quạt, có thể điều chỉnh thông qua Fancontrol trong tác vụ đã lên lịch.",
|
||||
"zh_CN": "此脚本安装 sensors 和 fancontrol 工具, 用于监视 CPU 和风扇控制, 可通过计划任务中 Fancontrol 调整风扇具体参数.",
|
||||
"zh_HK": "此腳本安裝 sensors 和 fancontrol 套件, 用於監視 CPU 和风扇控制, 可通過計劃任務中 Fancontrol 調整風扇具體參數.",
|
||||
"zh_TW": "此腳本安裝 sensors 和 fancontrol 套件, 用於監視 CPU 和风扇控制, 可通過計劃任務中 Fancontrol 調整風扇具體參數."
|
||||
}
|
||||
},
|
||||
"setrootpw": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Set root password and enable ssh/sftp. Please modify PW='' to the desired password in DSM Task Scheduler and run the task.",
|
||||
"ar_SA": "قم بتعيين كلمة مرور root وتمكين ssh/sftp. يرجى تعديل PW='' إلى كلمة المرور المطلوبة في جدول المهام DSM وتشغيل المهمة.",
|
||||
"de_DE": "Legen Sie das Root-Passwort fest und aktivieren Sie ssh/sftp. Bitte ändern Sie PW='' in der DSM-Aufgabenplanung in das gewünschte Passwort und führen Sie die Aufgabe aus.",
|
||||
"es_ES": "Establece la contraseña de root y habilita ssh/sftp. Por favor, modifique PW='' a la contraseña deseada en el Programador de Tareas de DSM y ejecute la tarea.",
|
||||
"fr_FR": "Définissez le mot de passe root et activez ssh/sftp. Veuillez modifier PW='' en le mot de passe souhaité dans le planificateur de tâches DSM et exécutez la tâche.",
|
||||
"ja_JP": "ルートパスワードを設定し、ssh/sftpを有効にします. DSM タスクスケジューラで PW='' を希望のパスワードに変更してタスクを実行してください.",
|
||||
"ko_KR": "루트 암호를 설정하고 ssh/sftp를 활성화합니다. DSM 작업 스케줄러에서 PW=''를 원하는 암호로 수정하고 작업을 실행하십시오.",
|
||||
"ru_RU": "Установите пароль root и включите ssh/sftp. Пожалуйста, измените PW='' на желаемый пароль в планировщике задач DSM и запустите задачу.",
|
||||
"th_TH": "ตั้งรหัสผ่าน root และเปิดใช้งาน ssh/sftp โปรดแก้ไข PW='' เป็นรหัสผ่านที่ต้องการในตัวจัดการงาน DSM และเริ่มการทำงาน",
|
||||
"tr_TR": "Kök parolasını ayarlayın ve ssh/sftp'yi etkinleştirin. Lütfen DSM Görev Zamanlayıcısında PW='''yi istenen parola olarak değiştirin ve görevi çalıştırın.",
|
||||
"uk_UA": "Встановіть пароль root та увімкніть ssh/sftp. Будь ласка, змініть PW='' на бажаний пароль в планувальнику завдань DSM та запустіть завдання.",
|
||||
"vi_VN": "Đặt mật khẩu root và kích hoạt ssh/sftp. Vui lòng sửa đổi PW='' thành mật khẩu mong muốn trong Lịch trình nhiệm vụ DSM và chạy nhiệm vụ.",
|
||||
"zh_CN": "设置 root 密码并启用 ssh/sftp. 请在 DSM 计划任务中将 PW='' 修改为所需的密码并运行该任务.",
|
||||
"zh_HK": "設置 root 密碼並啟用 ssh/sftp. 請在 DSM 計劃任務中將 PW='' 修改為所需的密碼並運行該任務.",
|
||||
"zh_TW": "設置 root 密碼並啟用 ssh/sftp. 請在 DSM 計劃任務中將 PW='' 修改為所需的密碼並執行該任務."
|
||||
}
|
||||
},
|
||||
"smartctl": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Author: Phachd. Fix SMART information on disks on HBA devices.",
|
||||
"ar_SA": "المؤلف: Phachd. إصلاح معلومات SMART على الأقراص على أجهزة HBA.",
|
||||
"de_DE": "Autor: Phachd. Beheben Sie SMART-Informationen auf Festplatten auf HBA-Geräten.",
|
||||
"es_ES": "Autor: Phachd. Corregir la información SMART en discos en dispositivos HBA.",
|
||||
"fr_FR": "Auteur: Phachd. Corriger les informations SMART sur les disques sur les périphériques HBA.",
|
||||
"ja_JP": "作者: Phachd. HBA デバイス上のディスクの SMART 情報を修正します.",
|
||||
"ko_KR": "저자: Phachd. HBA 장치의 디스크에서 SMART 정보를 수정합니다.",
|
||||
"ru_RU": "Автор: Phachd. Исправление информации SMART на дисках на устройствах HBA.",
|
||||
"th_TH": "ผู้เขียน: Phachd. แก้ไขข้อมูล SMART บนดิสก์บนอุปกรณ์ HBA เท่านั้น",
|
||||
"tr_TR": "Yazar: Phachd. HBA cihazlarındaki disklerde SMART bilgilerini düzeltin.",
|
||||
"uk_UA": "Автор: Phachd. Виправлення інформації SMART на дисках на пристроях HBA.",
|
||||
"vi_VN": "Tác giả: Phachd. Sửa thông tin SMART trên ổ đĩa trên các thiết bị HBA.",
|
||||
"zh_CN": "作者: Phachd. 修复 HBA 设备上磁盘的 SMART 信息.",
|
||||
"zh_HK": "作者: Phachd. 修复 HBA 设备上磁盘的 SMART 信息.",
|
||||
"zh_TW": "作者: Phachd. 修复 HBA 设备上磁盘的 SMART 信息."
|
||||
}
|
||||
},
|
||||
"sortnetif": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Sort network interface name.(parameters: empty: sorted by busid; mac1,mac2,...: sorted by macs sequence).",
|
||||
"ar_SA": "فرز اسم واجهة الشبكة.(المعلمات: فارغ: مرتبة حسب busid؛ mac1،mac2،...: مرتبة حسب تسلسل macs).",
|
||||
"de_DE": "Sortiere Netzwerk-Schnittstellen-Namen.(Parameter: leer: sortiert nach Bus-ID; mac1,mac2,...: sortiert nach MACs-Sequenz).",
|
||||
"es_ES": "Ordenar nombre de interfaz de red.(parámetros: vacío: ordenado por busid; mac1,mac2,...: ordenado por secuencia de macs).",
|
||||
"fr_FR": "Trier le nom de l'interface réseau.(paramètres: vide: trié par busid; mac1,mac2,...: trié par séquence de macs).",
|
||||
"ja_JP": "ネットワークインターフェイス名をソートします. (パラメータ: 空: busid でソート; mac1,mac2,...: macs シーケンスでソート).",
|
||||
"ko_KR": "네트워크 인터페이스 이름을 정렬합니다.(매개 변수: 비어 있음: 버스 ID로 정렬; mac1,mac2,...: macs 시퀀스로 정렬).",
|
||||
"ru_RU": "Сортировать имя сетевого интерфейса.(параметры: пусто: сортировка по busid; mac1,mac2,...: сортировка по последовательности macs).",
|
||||
"th_TH": "เรียงลำดับชื่ออินเตอร์เฟซเครือข่าย.(พารามิเตอร์: ว่าง: เรียงลำดับตาม busid; mac1,mac2,...: เรียงลำดับตามลำดับ macs).",
|
||||
"tr_TR": "Ağ arayüz adını sırala.(parametreler: boş: busid'ye göre sıralanmış; mac1,mac2,...: macs sırasına göre sıralanmış).",
|
||||
"uk_UA": "Сортувати ім'я мережевого інтерфейсу.(параметри: порожній: впорядковано за busid; mac1,mac2,...: впорядковано за послідовністю macs).",
|
||||
"vi_VN": "Sắp xếp tên giao diện mạng.(tham số: trống: sắp xếp theo busid; mac1,mac2,...: sắp xếp theo chuỗi macs).",
|
||||
"zh_CN": "对网络接口名称进行排序. (参数: 空: 按 busid 排序; mac1,mac2,...: 按 macs 序列排序).",
|
||||
"zh_HK": "對網絡接口名稱進行排序. (參數: 空: 按 busid 排序; mac1,mac2,...: 按 macs 序列排序).",
|
||||
"zh_TW": "對網路介面名稱進行排序. (參數: 空: 按 busid 排序; mac1,mac2,...: 按 macs 序列排序)."
|
||||
}
|
||||
},
|
||||
"storagepanel": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Change the storage panel disk display (The default is automatic, please see the documentation or '/usr/bin/storagepanel.sh -h' for parameters).",
|
||||
"ar_SA": "تغيير عرض القرص للوحة التخزين (الافتراضي هو التلقائي، يرجى الرجوع إلى الوثائق أو '/usr/bin/storagepanel.sh -h' للحصول على المعلمات).",
|
||||
"de_DE": "Ändern Sie die Speicherplattenanzeige (Standardmäßig ist dies automatisch, bitte lesen Sie die Dokumentation oder '/usr/bin/storagepanel.sh -h' für Parameter).",
|
||||
"es_ES": "Cambie la visualización del disco del panel de almacenamiento (El valor predeterminado es automático, consulte la documentación o '/usr/bin/storagepanel.sh -h' para ver los parámetros).",
|
||||
"fr_FR": "Modifiez l'affichage du disque du panneau de stockage (La valeur par défaut est automatique, veuillez consulter la documentation ou '/usr/bin/storagepanel.sh -h' pour les paramètres).",
|
||||
"ja_JP": "ストレージパネルのディスク表示を変更します (デフォルトは自動です. パラメータについては、ドキュメントまたは '/usr/bin/storagepanel.sh -h' を参照してください).",
|
||||
"ko_KR": "스토리지 패널 디스크 표시를 변경합니다 (기본값은 자동입니다. 매개 변수에 대해서는 문서 또는 '/usr/bin/storagepanel.sh -h'를 참조하십시오).",
|
||||
"ru_RU": "Измените отображение диска панели хранения (По умолчанию это автоматический режим, пожалуйста, ознакомьтесь с документацией или '/usr/bin/storagepanel.sh -h' для параметров).",
|
||||
"th_TH": "เปลี่ยนการแสดงผลของดิสก์ในแผงจัดเก็บ (ค่าเริ่มต้นคืออัตโนมัติ โปรดดูเอกสารหรือ '/usr/bin/storagepanel.sh -h' เพื่อดูพารามิเตอร์)",
|
||||
"tr_TR": "Depolama paneli diski görüntüsünü değiştirin (Varsayılan olarak otomatik, lütfen parametreler için belgeleri veya '/usr/bin/storagepanel.sh -h' bakın).",
|
||||
"uk_UA": "Змініть відображення диска панелі зберігання (За замовчуванням це автоматичний режим, будь ласка, ознайомтеся з документацією або '/usr/bin/storagepanel.sh -h' для параметрів).",
|
||||
"vi_VN": "Thay đổi hiển thị ổ đĩa của bảng lưu trữ (Mặc định là tự động, vui lòng xem tài liệu hoặc '/usr/bin/storagepanel.sh -h' để biết thông số).",
|
||||
"zh_CN": "更改存储面板磁盘显示 (默认为自动, 请参阅文档或 '/usr/bin/storagepanel.sh -h' 了解参数).",
|
||||
"zh_HK": "更改存儲面板磁盤顯示 (默認為自動, 請參閱文檔或 '/usr/bin/storagepanel.sh -h' 了解參數).",
|
||||
"zh_TW": "更改存儲面板磁盤顯示 (默認為自動, 請參閱文檔或 '/usr/bin/storagepanel.sh -h' 了解參數)."
|
||||
}
|
||||
},
|
||||
"synoconfbkp": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Automatically backup system config settings to the bootloader disk(<loader disk>/p1/scbk/) at bootup and shutdown. Parameters: $1 - number of saves, default 7; $2 - file name prefix, default 'bkp'.",
|
||||
"ar_SA": "قم بنسخ احتياطي تلقائيًا لإعدادات تكوين النظام إلى قرص البدء (<قرص البدء>/p1/scbk/) عند التشغيل والإيقاف. المعلمات: $1 - عدد الحفظ، الافتراضي 7؛ $2 - بادئة اسم الملف، الافتراضي 'bkp'.",
|
||||
"de_DE": "Sichert automatisch die Systemkonfigurationseinstellungen auf der Bootloader-Festplatte (<Bootloader-Festplatte>/p1/scbk/) beim Booten und Herunterfahren. Parameter: $1 - Anzahl der Sicherungen, Standard 7; $2 - Dateiname-Präfix, Standard 'bkp'.",
|
||||
"es_ES": "Realiza automáticamente una copia de seguridad de la configuración del sistema en el disco de arranque (<disco de arranque>/p1/scbk/) al arrancar y apagar. Parámetros: $1 - número de copias, por defecto 7; $2 - prefijo del nombre del archivo, por defecto 'bkp'.",
|
||||
"fr_FR": "Sauvegarde automatiquement les paramètres de configuration du système sur le disque de démarrage (<disque de démarrage>/p1/scbk/) au démarrage et à l'arrêt. Paramètres : $1 - nombre de sauvegardes, par défaut 7 ; $2 - préfixe du nom de fichier, par défaut 'bkp'.",
|
||||
"ja_JP": "システム構成設定をブートローダーディスク (<ブートローダーディスク>/p1/scbk/) に自動的にバックアップします. 起動時とシャットダウン時に実行されます. パラメータ: $1 - 保存回数、デフォルト 7; $2 - ファイル名のプレフィックス、デフォルト 'bkp'.",
|
||||
"ko_KR": "시스템 구성 설정을 부트로더 디스크(<부트로더 디스크>/p1/scbk/)에 부팅 및 종료시 자동으로 백업합니다. 매개변수: $1 - 저장 횟수, 기본값 7; $2 - 파일 이름 접두사, 기본값 'bkp'.",
|
||||
"ru_RU": "Автоматическое резервное копирование настроек конфигурации системы на диске загрузчика (<диск загрузчика>/p1/scbk/) при загрузке и выключении. Параметры: $1 - количество сохранений, по умолчанию 7; $2 - префикс имени файла, по умолчанию 'bkp'.",
|
||||
"th_TH": "สำรองข้อมูลการตั้งค่าระบบโดยอัตโนมัติไปยังดิสก์โหลด (<ดิสก์โหลด>/p1/scbk/) ขณะเปิดเครื่องและปิดเครื่อง พารามิเตอร์: $1 - จำนวนการบันทึก, ค่าเริ่มต้น 7; $2 - คำนำหน้าชื่อไฟล์, ค่าเริ่มต้น 'bkp'.",
|
||||
"tr_TR": "Sistem yapılandırma ayarlarını başlatma ve kapatma sırasında önyükleme diski (<önyükleme diski>/p1/scbk/) üzerine otomatik olarak yedekleyin. Parametreler: $1 - kayıt sayısı, varsayılan 7; $2 - dosya adı öneki, varsayılan 'bkp'.",
|
||||
"uk_UA": "Автоматичне резервне копіювання налаштувань конфігурації системи на диску завантажувача (<диск завантажувача>/p1/scbk/) під час завантаження та вимкнення. Параметри: $1 - кількість збережень, за замовчуванням 7; $2 - префікс імені файлу, за замовчуванням 'bkp'.",
|
||||
"vi_VN": "Sao lưu tự động cài đặt cấu hình hệ thống vào ổ đĩa bootloader (<ổ đĩa bootloader>/p1/scbk/) khi khởi động và tắt máy. Tham số: $1 - số lần lưu, mặc định 7; $2 - tiền tố tên tệp, mặc định 'bkp'.",
|
||||
"zh_CN": "在启动和关机时自动备份系统配置设置到引导加载器磁盘 (<引导加载器磁盘>/p1/scbk/). 参数: $1 - 保存次数, 默认 7; $2 - 文件名前缀, 默认 'bkp'.",
|
||||
"zh_HK": "在啟動和關機時自動備份系統設定到引導載入器磁碟 (<引導載入器磁碟>/p1/scbk/). 參數: $1 - 保存次數, 預設 7; $2 - 檔案名稱前綴, 預設 'bkp'.",
|
||||
"zh_TW": "在開機和關機時自動備份系統設定到引導載入器磁碟 (<引導載入器磁碟>/p1/scbk/). 參數: $1 - 保存次數, 預設 7; $2 - 檔案名稱前綴, 預設 'bkp'."
|
||||
}
|
||||
},
|
||||
"tad6s4n10g": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Control TANK TAD6S4N10G machine DTS generation and button events, please modify the content of the Net-Button-3s Net-Button-9s Copy-Button-3s Copy-Button-9s tasks in the scheduled tasks.",
|
||||
"ar_SA": "التحكم في توليد DTS لجهاز TANK TAD6S4N10G وأحداث الأزرار، يرجى تعديل محتوى المهام المجدولة Net-Button-3s Net-Button-9s Copy-Button-3s Copy-Button-9s.",
|
||||
"de_DE": "Steuerung der DTS-Generierung und der Tastenereignisse der TANK TAD6S4N10G-Maschine. Bitte ändern Sie den Inhalt der Aufgaben Net-Button-3s, Net-Button-9s, Copy-Button-3s und Copy-Button-9s im Zeitplan.",
|
||||
"es_ES": "Control de la generación de DTS de la máquina TANK TAD6S4N10G y eventos de botones, por favor modifique el contenido de las tareas programadas Net-Button-3s, Net-Button-9s, Copy-Button-3s y Copy-Button-9s.",
|
||||
"fr_FR": "Contrôle de la génération DTS de la machine TANK TAD6S4N10G et des événements de boutons, veuillez modifier le contenu des tâches planifiées Net-Button-3s, Net-Button-9s, Copy-Button-3s et Copy-Button-9s.",
|
||||
"ja_JP": "Tank TAD6S4N10G マシンの DTS 生成とボタン イベントを制御します。スケジュールされたタスクの Net-Button-3s、Net-Button-9s、Copy-Button-3s、および Copy-Button-9s の内容を変更してください。",
|
||||
"ko_KR": "TANK TAD6S4N10G 기계의 DTS 생성 및 버튼 이벤트를 제어합니다. 예약된 작업의 Net-Button-3s, Net-Button-9s, Copy-Button-3s 및 Copy-Button-9s의 내용을 수정하십시오.",
|
||||
"ru_RU": "Управление генерацией DTS и событиями кнопок машины TANK TAD6S4N10G, пожалуйста, измените содержимое задач Net-Button-3s, Net-Button-9s, Copy-Button-3s и Copy-Button-9s в планировщике.",
|
||||
"th_TH": "ควบคุมการสร้าง DTS ของเครื่อง TANK TAD6S4N10G และเหตุการณ์ปุ่มโปรดแก้ไขเนื้อหาของงานที่กำหนดเวลา Net-Button-3s, Net-Button-9s, Copy-Button-3s และ Copy-Button-9s",
|
||||
"tr_TR": "TANK TAD6S4N10G makinesinin DTS üretimini ve düğme olaylarını kontrol edin, lütfen planlı görevlerdeki Net-Button-3s, Net-Button-9s, Copy-Button-3s ve Copy-Button-9s görevlerinin içeriğini değiştirin.",
|
||||
"uk_UA": "Контроль генерації DTS машини TANK TAD6S4N10G та подій кнопок, будь ласка, змініть вміст запланованих завдань Net-Button-3s, Net-Button-9s, Copy-Button-3s та Copy-Button-9s.",
|
||||
"vi_VN": "Điều khiển việc tạo DTS của máy TANK TAD6S4N10G và sự kiện nút, vui lòng sửa đổi nội dung của các tác vụ đã lên lịch Net-Button-3s, Net-Button-9s, Copy-Button-3s và Copy-Button-9s.",
|
||||
"zh_CN": "用于控制TANK TAD6S4N10G 机器的 DTS 生成 和 按钮事件, 事件内容请自行修改 计划任务中 Net-Button-3s Net-Button-9s Copy-Button-3s Copy-Button-9s 几个任务的内容.",
|
||||
"zh_HK": "用於控制TANK TAD6S4N10G 機器的 DTS 生成 和 按鈕事件, 事件內容請自行修改 計劃任務中 Net-Button-3s Net-Button-9s Copy-Button-3s Copy-Button-9s 幾個任務的內容.",
|
||||
"zh_TW": "用於控制TANK TAD6S4N10G 機器的 DTS 生成 和 按鈕事件, 事件內容請自行修改 計劃任務中 Net-Button-3s Net-Button-9s Copy-Button-3s Copy-Button-9s 幾個任務的內容."
|
||||
}
|
||||
},
|
||||
"trivial": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Miscellaneous functions. (A collection of some unnecessary modifications.)",
|
||||
"ar_SA": "وظائف متنوعة. (مجموعة من بعض التعديلات غير الضرورية.)",
|
||||
"de_DE": "Verschiedene Funktionen. (Eine Sammlung einiger unbedeutender Änderungen.)",
|
||||
"es_ES": "Funciones variadas. (Una colección de algunas modificaciones innecesarias.)",
|
||||
"fr_FR": "Fonctions diverses. (Une collection de certaines modifications inutiles.)",
|
||||
"ja_JP": "その他の機能. (いくつかの不要な変更の集まり.)",
|
||||
"ko_KR": "기타 기능. (일부 불필요한 수정의 집합.)",
|
||||
"ru_RU": "Различные функции. (Набор некоторых ненужных изменений.)",
|
||||
"th_TH": "ฟังก์ชันเบ็ดเสรจ. (ชุดของการปรับเปลี่ยนบางอย่างที่ไม่จำเป็น.)",
|
||||
"tr_TR": "Çeşitli iş levler. (Birkaç gereksiz değişiklik.)",
|
||||
"uk_UA": "Різноманітні функції. (Колекція деяких невимажних модифікацій.)",
|
||||
"vi_VN": "Các chức năng khác nhau. (Một bộ sửa đổi không cần thiết.)",
|
||||
"zh_CN": "杂项功能. (一些不太必要的修改的集合.)",
|
||||
"zh_HK": "雜項功能. (一些不太必要的修改的集合.)",
|
||||
"zh_TW": "雜項功能. (一些不太必要的修改的集合.)"
|
||||
}
|
||||
},
|
||||
"updatenotify": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "RR update notification.",
|
||||
"ar_SA": "إشعار تحديث RR.",
|
||||
"de_DE": "RR-Update-Benachrichtigung.",
|
||||
"es_ES": "Notificación de actualización de RR.",
|
||||
"fr_FR": "Notification de mise à jour de RR.",
|
||||
"ja_JP": "RR アップデート通知.",
|
||||
"ko_KR": "RR 업데이트 알림.",
|
||||
"ru_RU": "Уведомление об обновлении RR.",
|
||||
"th_TH": "การแจ้งเตือนการอัปเดต RR",
|
||||
"tr_TR": "RR güncelleme bildirimi.",
|
||||
"uk_UA": "Сповіщення про оновлення RR.",
|
||||
"vi_VN": "Thông báo cập nhật RR.",
|
||||
"zh_CN": "RR 更新通知.",
|
||||
"zh_HK": "RR 更新通知.",
|
||||
"zh_TW": "RR 更新通知."
|
||||
}
|
||||
},
|
||||
"ups": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Author: GXNAS. Force the standby mode to shutdown when UPS power supply. Parameters: -f - Trigger shutdown task before shutdown; -e - Trigger shutdown task before standby mode (not change to shutdown).",
|
||||
"ar_SA": "لمؤلف: GXNAS. فرض إيقاف تشغيل وضع الاستعداد عند انقطاع مصدر طاقة UPS. المعلمات: -f - تشغيل مهمة إيقاف التشغيل قبل إيقاف التشغيل؛ -e - تشغيل مهمة إيقاف التشغيل قبل وضع-e - تشغيل مهمة إيقاف التشغيل قبل وضع الاستعداد (لا يتم التغيير إلى إيقاف التشغيل).",
|
||||
"de_DE": "Autor: GXNAS. Erzwingt das Herunterfahren in den Standby-Modus, wenn die USV-Stromversorgung eingeschaltet ist. Parameter: -f – Herunterfahraufgabe vor dem Herunterfahren auslösen; -e – Herunterfahraufgabe vor dem Standby-Modus auslösen (nicht zum Herunterfahren wechseln).",
|
||||
"es_ES": "Autor: GXNAS. Fuerza el modo de espera para apagar cuando la fuente de alimentación de la UPS. Parámetros: -f - Activar tarea de apagado antes de apagar; -e - Activar tarea de apagado antes del modo de espera (no cambiar a apagado).",
|
||||
"fr_FR": "Auteur: GXNAS. Force le mode veille à s'éteindre lorsque l'alimentation de secours UPS. Paramètres : -f - Déclencher la tâche d'arrêt avant l'arrêt ; -e - Déclencher la tâche d'arrêt avant le mode veille (ne pas passer en mode arrêt).",
|
||||
"ja_JP": "作者: GXNAS. UPS 電源供給時にスタンバイモードをシャットダウンするように強制します. パラメータ: -f - シャットダウン前にシャットダウンタスクをトリガーする; -e - スタンバイモード前にシャットダウンタスクをトリガーする (シャットダウンに変更しない).",
|
||||
"ko_KR": "작성자: GXNAS. UPS 전원 공급 시 대기 모드를 종료하도록 강제합니다. 매개 변수: -f - 종료 전 종료 작업 트리거; -e - 대기 모드 전 종료 작업 트리거 (종료로 변경하지 않음).",
|
||||
"ru_RU": "Автор: GXNAS. Принудительно измените режим ожидания на выключение при включении ИБП. Параметры: -f — запускать задачу завершения работы перед выключением; -e — запускать задачу завершения работы перед переходом в режим ожидания (не изменено на завершение работы).",
|
||||
"th_TH": "ผู้เขียน: GXNAS บังคับให้โหมดสแตนดบายปิดเมื่อมีการจ่ายไฟจาก UPS พารามิเตอร์: -f - เรียกใช้งานงานปิดก่อนปิด; -e - เรียกใช้งานงานปิดก่อนโหมดสแตนดบาย (ไม่เปลี่ยนเป็นปิด)",
|
||||
"tr_TR": "Yazar: GXNAS. UPS'e güç verildiğinde bekleme modunu zorla kapanmaya değiştirin. Parametreler: -f - Kapatmadan önce kapatma görevini tetikle; -e - Bekleme modundan önce kapatma görevini tetikle (kapatma olarak değiştirilmemiştir).",
|
||||
"uk_UA": "Автор: GXNAS. Примусово змінити режим очікування на вимкнення, коли ДБЖ подається живлення. Параметри: -f - запускати завдання завершення роботи перед завершенням роботи;",
|
||||
"vi_VN": "Tác giả: GXNAS. Buộc chế độ chờ tắt khi cấp nguồn UPS. Tham số: -f - Kích hoạt tác vụ tắt máy trước khi tắt máy; -e - Kích hoạt tác vụ tắt máy trước khi chế độ chờ (không chuyển sang tắt máy).",
|
||||
"zh_CN": "作者: GXNAS. 强制将 UPS 供电时的待机模式修改为关机. 參數: -f - 关机前触发关机任务; -e - 待机模式前发关机任务(不修改为关机).",
|
||||
"zh_HK": "作者: GXNAS. 強制將 UPS 供電時的待機模式修改為關機. 參數: -f - 關機前觸發關機任務; -e - 待機模式前發關機任務(不修改為關機).",
|
||||
"zh_TW": "作者: GXNAS. 強制將 UPS 供電時的待機模式修改為關機. 參數: -f - 關機前觸發關機任務; -e - 待機模式前發關機任務(不修改為關機)."
|
||||
}
|
||||
},
|
||||
"vmtools": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Automatically install qemu-ga or open-vm-tools according to the environment. (Physical machines are not enabled by default, no need to cancel)",
|
||||
"ar_SA": "تثبيت qemu-ga أو open-vm-tools تلقائيًا وفقًا للبيئة. (لا يتم تمكين الأجهزة المادية بشكل افتراضي، ولا حاجة للإلغاء)",
|
||||
"de_DE": "Installieren Sie qemu-ga oder open-vm-tools automatisch entsprechend der Umgebung. (Physische Maschinen sind standardmäßig nicht aktiviert, keine Notwendigkeit zum Abbrechen)",
|
||||
"es_ES": "Instalar qemu-ga o open-vm-tools automáticamente según la entorno. (Las máquinas físicas no están activadas de forma predeterminada, no es necesario cancelar)",
|
||||
"fr_FR": "Installer automatiquement qemu-ga ou open-vm-tools en fonction de l'environnement. (Les machines physiques ne sont pas activées par défaut, pas besoin d'annuler)",
|
||||
"ja_JP": "環境に応じて qemu-ga または open-vm-tools を自動的にインストールします。 (物理マシンはデフォルトで有効になっていないため、キャンセルする必要はありません)",
|
||||
"ko_KR": "환경에 따라 qemu-ga 또는 open-vm-tools를 자동으로 설치합니다. (물리적 머신은 기본적으로 활성화되지 않으므로 취소할 필요가 없습니다)",
|
||||
"ru_RU": "Автоматическая установка qemu-ga или open-vm-tools в зависимости от окружения. (Физические машины по умолчанию не включены, отменять не нужно)",
|
||||
"th_TH": "ติดตั้ง qemu-ga หรือ open-vm-tools โดยอัตโนมัติตามสภาพแวดล้อม (เครื่องจริงจะไม่เปิดใช้งานตามค่าเริ่มต้น ไม่จำเป็นต้องยกเลิก)",
|
||||
"tr_TR": "Ortamına göre qemu-ga veya open-vm-tools'u otomatik olarak yükleyin. (Fiziksel makineler varsayılan olarak etkinleştirilmez, iptal etmeye gerek yok)",
|
||||
"uk_UA": "Автоматична установка qemu-ga або open-vm-tools відповідно до середовища. (Фізичні машини за замовчуванням не активовані, скасовувати не потрібно)",
|
||||
"vi_VN": " Tự động cài đặt qemu-ga hoặc open-vm-tools theo môi trường. (Máy vật lý không được kích hoạt theo mặc định, không cần hủy bỏ)",
|
||||
"zh_CN": "根据环境自动安装 qemu-ga 或者 open-vm-tools. (物理机默认不会启用, 不需要取消)",
|
||||
"zh_HK": "根据环境自动安装 qemu-ga 或者 open-vm-tools. (物理机默认不会启用, 不需要取消)",
|
||||
"zh_TW": "根據環境自動安裝 qemu-ga 或者 open-vm-tools. (物理機默認不會啟用, 不需要取消)"
|
||||
}
|
||||
},
|
||||
"wireless": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Connect WiFi. Please modify 'IFNAME' 'SSID' 'PASSWD' to the required password in the DSM scheduled task and execute it.",
|
||||
"ar_SA": "قم بتوصيل WiFi. يرجى تعديل 'IFNAME' 'SSID' 'PASSWD' إلى كلمة المرور المطلوبة في مهمة DSM المجدولة وتنفيذها.",
|
||||
"de_DE": "Verbinden Sie WiFi. Bitte ändern Sie 'IFNAME' 'SSID' 'PASSWD' auf das erforderliche Passwort in der DSM geplanten Aufgabe und führen Sie es aus.",
|
||||
"es_ES": "Conecte WiFi. Modifique 'IFNAME' 'SSID' 'PASSWD' a la contraseña requerida en la tarea programada DSM y ejecútela.",
|
||||
"fr_FR": "Connectez-vous au WiFi. Veuillez modifier 'IFNAME' 'SSID' 'PASSWD' au mot de passe requis dans la tâche planifiée DSM et exécutez-la.",
|
||||
"ja_JP": "WiFiに接続してください.DSMの予約タスクで必要なパスワードに 'IFNAME' 'SSID' 'PASSWD' を変更して実行してください.",
|
||||
"ko_KR": "WiFi에 연결하십시오. DSM 예약 작업에서 필요한 암호로 'IFNAME' 'SSID' 'PASSWD'를 수정하고 실행하십시오.",
|
||||
"ru_RU": "Подключитесь к WiFi. Пожалуйста, измените 'IFNAME' 'SSID' 'PASSWD' на требуемый пароль в запланированной задаче DSM и выполните ее.",
|
||||
"th_TH": "เชื่อมต่อ WiFi โปรดแก้ไข 'IFNAME' 'SSID' 'PASSWD' เป็นรหัสผ่านที่ต้องการในงานที่ตั้งเวลา DSM และเริ่มการทำงาน",
|
||||
"tr_TR": "WiFi'ye bağlanın. Lütfen DSM planlanmış görevinde 'IFNAME' 'SSID' 'PASSWD' 'yi gerekli parola için değiştirin ve çalıştırın.",
|
||||
"uk_UA": "Підключіться до WiFi. Будь ласка, змініть 'IFNAME' 'SSID' 'PASSWD' на потрібний пароль у запланованому завданні DSM та виконайте його.",
|
||||
"vi_VN": "Kết nối WiFi. Vui lòng sửa đổi 'IFNAME' 'SSID' 'PASSWD' thành mật khẩu yêu cầu trong tác vụ được lên lịch DSM và thực hiện nó.",
|
||||
"zh_CN": "连接 WiFi. 请在 DSM 计划任务中将 'IFNAME' 'SSID' 'PASSWD' 修改为所需密码并执行它.",
|
||||
"zh_HK": "連接 WiFi. 請在 DSM 計劃任務中將 'IFNAME' 'SSID' 'PASSWD' 修改為所需密碼並執行它.",
|
||||
"zh_TW": "連接 WiFi. 請在 DSM 計劃任務中將 'IFNAME' 'SSID' 'PASSWD' 修改為所需密碼並執行它."
|
||||
}
|
||||
},
|
||||
"wol": {
|
||||
"system": true,
|
||||
"description": {
|
||||
"en_US": "Force enable Wake-on-lan for network devices.",
|
||||
"ar_SA": "قم بتمكين Wake-on-lan بقوة لأجهزة الشبكة.",
|
||||
"de_DE": "Erzwingen Sie Wake-on-lan für Netzwerkgeräte.",
|
||||
"es_ES": "Forzar el Wake-on-lan para dispositivos de red.",
|
||||
"fr_FR": "Forcer l'activation de Wake-on-lan pour les périphériques réseau.",
|
||||
"ja_JP": "ネットワークデバイスの Wake-on-lan を強制的に有効にします.",
|
||||
"ko_KR": "네트워크 장치의 Wake-on-lan을 강제로 활성화합니다.",
|
||||
"ru_RU": "Принудительное включение Wake-on-lan для сетевых устройств.",
|
||||
"th_TH": "บังคับให้ Wake-on-lan ใช้งานสำหรับอุปกรณ์เครือข่าย",
|
||||
"tr_TR": "Ağ cihazları için Wake-on-lan'ı zorla etkinleştirin.",
|
||||
"uk_UA": "Примусове включення Wake-on-lan для мережевих пристроїв.",
|
||||
"vi_VN": "Có;puxáy awake-on-lan cho thiết bị mạng.",
|
||||
"zh_CN": "强制启用网络设备的 Wake-on-lan.",
|
||||
"zh_HK": "強制啟用網絡設備的 Wake-on-lan.",
|
||||
"zh_TW": "強制啟用網路設備的 Wake-on-lan."
|
||||
}
|
||||
}
|
||||
}
|
BIN
docs/addons.xlsx
BIN
docs/addons.xlsx
Binary file not shown.
@ -1,76 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-Hans-CN" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark"
|
||||
data-a11y-animated-images="system">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="dns-prefetch" href="https://github.githubassets.com" />
|
||||
<link rel="dns-prefetch" href="https://avatars.githubusercontent.com" />
|
||||
<link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com" />
|
||||
<link rel="dns-prefetch" href="https://user-images.githubusercontent.com/" />
|
||||
<link rel="preconnect" href="https://github.githubassets.com" crossorigin />
|
||||
<link rel="preconnect" href="https://avatars.githubusercontent.com" />
|
||||
|
||||
<link crossorigin="anonymous" media="all" rel="stylesheet"
|
||||
href="https://github.githubassets.com/assets/light-0eace2597ca3.css" />
|
||||
<link crossorigin="anonymous" media="all" rel="stylesheet"
|
||||
href="https://github.githubassets.com/assets/dark-a167e256da9c.css" />
|
||||
|
||||
<link crossorigin="anonymous" media="all" rel="stylesheet"
|
||||
href="https://github.githubassets.com/assets/primer-711f412bb361.css" />
|
||||
<link crossorigin="anonymous" media="all" rel="stylesheet"
|
||||
href="https://github.githubassets.com/assets/global-78704364aaba.css" />
|
||||
<style>
|
||||
select,
|
||||
.input-style {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.textarea-style {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.loading-message {
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
|
||||
<script>
|
||||
async function fetchChangelog() {
|
||||
let page = 1;
|
||||
const changelogContainer = document.getElementById('changelog');
|
||||
const loadingMessage = document.createElement('p');
|
||||
loadingMessage.textContent = 'Loading...';
|
||||
loadingMessage.className = 'loading-message';
|
||||
changelogContainer.appendChild(loadingMessage);
|
||||
|
||||
while (true) {
|
||||
const response = await fetch(`https://api.github.com/repos/RROrg/rr/releases?page=${page}&per_page=100`);
|
||||
const releases = await response.json();
|
||||
if ((!response.ok) || (releases.length === 0)) {
|
||||
const errorMessage = document.createElement('p');
|
||||
errorMessage.textContent = releases.message;
|
||||
errorMessage.className = 'error-message';
|
||||
changelogContainer.appendChild(errorMessage);
|
||||
break;
|
||||
}
|
||||
releases.forEach(release => {
|
||||
const releaseElement = document.createElement('div');
|
||||
releaseElement.innerHTML = `<h2><a href="${release.html_url}" target="_blank">${release.name}</a></h2>${marked.parse(release.body)}`;
|
||||
changelogContainer.appendChild(releaseElement);
|
||||
});
|
||||
page++;
|
||||
}
|
||||
|
||||
changelogContainer.removeChild(loadingMessage);
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', fetchChangelog);
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="changelog"></div>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -1,6 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-Hans-CN">
|
||||
<head>
|
||||
<script language="javascript"> location.replace("./issues.html")</script>
|
||||
</head>
|
||||
</html>
|
522
docs/issues.html
522
docs/issues.html
@ -1,522 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-Hans-CN" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark"
|
||||
data-a11y-animated-images="system">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="dns-prefetch" href="https://github.githubassets.com" />
|
||||
<link rel="dns-prefetch" href="https://avatars.githubusercontent.com" />
|
||||
<link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com" />
|
||||
<link rel="dns-prefetch" href="https://user-images.githubusercontent.com/" />
|
||||
<link rel="preconnect" href="https://github.githubassets.com" crossorigin />
|
||||
<link rel="preconnect" href="https://avatars.githubusercontent.com" />
|
||||
|
||||
<link crossorigin="anonymous" media="all" rel="stylesheet"
|
||||
href="https://github.githubassets.com/assets/light-0eace2597ca3.css" />
|
||||
<link crossorigin="anonymous" media="all" rel="stylesheet"
|
||||
href="https://github.githubassets.com/assets/dark-a167e256da9c.css" />
|
||||
|
||||
<link crossorigin="anonymous" media="all" rel="stylesheet"
|
||||
href="https://github.githubassets.com/assets/primer-711f412bb361.css" />
|
||||
<link crossorigin="anonymous" media="all" rel="stylesheet"
|
||||
href="https://github.githubassets.com/assets/global-78704364aaba.css" />
|
||||
<style>
|
||||
select,
|
||||
.input-style {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.textarea-style {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#logo {
|
||||
text-align: center;
|
||||
margin: 20px auto !important;
|
||||
}
|
||||
|
||||
#labels {
|
||||
text-align: center;
|
||||
margin: 20px auto !important;
|
||||
height: auto !important;
|
||||
}
|
||||
|
||||
#products {
|
||||
text-align: center;
|
||||
margin: 20px auto !important;
|
||||
height: auto !important;
|
||||
}
|
||||
</style>
|
||||
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
|
||||
<script src="https://polyfill.io/v3/polyfill.min.js"></script>
|
||||
<!-- <script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script> -->
|
||||
<script type="application/javascript">
|
||||
|
||||
var repo = "RROrg/rr"
|
||||
var debug = getUrlParam("debug");
|
||||
|
||||
var _models = {};
|
||||
var _pats = {};
|
||||
var _addons = {};
|
||||
var _modules = {};
|
||||
|
||||
function getUrlParam(paraName) {
|
||||
var url = document.location.toString();
|
||||
var arrObj = url.split("?");
|
||||
if (arrObj.length > 1) {
|
||||
var arrPara = arrObj[1].split("&");
|
||||
var arr;
|
||||
for (var i = 0; i < arrPara.length; i++) {
|
||||
arr = arrPara[i].split("=");
|
||||
if (arr != null && arr[0] == paraName) {
|
||||
return arr[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
function httpGetAsync(theUrl, callback) {
|
||||
let xmlHttpReq = new XMLHttpRequest();
|
||||
xmlHttpReq.onreadystatechange = function () {
|
||||
if (xmlHttpReq.readyState == 4 && xmlHttpReq.status == 200)
|
||||
callback(xmlHttpReq.responseText);
|
||||
};
|
||||
xmlHttpReq.open("GET", theUrl, true); // true for asynchronous
|
||||
xmlHttpReq.send(null);
|
||||
}
|
||||
|
||||
window.onload = function () {
|
||||
init();
|
||||
}
|
||||
|
||||
function init() {
|
||||
httpGetAsync("https://raw.githubusercontent.com/RROrg/rr/main/docs/models.json", function (result) {
|
||||
_models = JSON.parse(result);
|
||||
httpGetAsync("https://raw.githubusercontent.com/RROrg/rr/main/docs/pats.json", function (result) {
|
||||
_pats = 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) {
|
||||
_modules = JSON.parse(result);
|
||||
$("#model").on("change", changeModel);
|
||||
$("#version").on("change", changeVersion);
|
||||
$("#language").on("change", changeVersion);
|
||||
$("#kernel").on("change", chanageKernel);
|
||||
$('#addons').val("acpid,mountloader,powersched,reboottoloader,trivial,vmtools");
|
||||
if (debug) {
|
||||
$('#sn_item').show();
|
||||
$('#macs_item').show();
|
||||
$('#tips_item').show();
|
||||
} else {
|
||||
$('#sn_item').hide();
|
||||
$('#macs_item').hide();
|
||||
$('#tips_item').hide();
|
||||
}
|
||||
setModels();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function setModels() {
|
||||
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];
|
||||
$("#model").append(`<option value="${model}">${model}</option>`);
|
||||
}
|
||||
changeModel();
|
||||
}
|
||||
|
||||
function changeModel() {
|
||||
model = $("#model").val();
|
||||
var versions = [];
|
||||
if (model in _pats) {
|
||||
versions = Object.keys(_pats[model]);
|
||||
versions.sort((a, b) => b.localeCompare(a));
|
||||
}
|
||||
$("#version")[0].options.length = 0;
|
||||
for (var i = 0; i < versions.length; i++) {
|
||||
var version = versions[i];
|
||||
$("#version").append(`<option value="${version}">${version}</option>`);
|
||||
}
|
||||
changeproductsimage();
|
||||
changeVersion();
|
||||
}
|
||||
|
||||
function changeproductsimage() {
|
||||
//var model = $("#model").val().replace("#","").replace("+","plus");
|
||||
//$('#products').html(`<img src="https://www.synology.cn/img/products/detail/${model}/heading.png" width="20%">`);
|
||||
var model = $("#model").val().replace("#", "").replace("+", "%2B");
|
||||
$('#products').html(`<img src="https://www.synology.com/api/products/getPhoto?product=${model}&type=img_s&sort=0" width="20%">`);
|
||||
}
|
||||
|
||||
function changeVersion() {
|
||||
createAddonsBtn();
|
||||
createModulesBtn();
|
||||
chanageKernel();
|
||||
}
|
||||
|
||||
function createAddonsBtn() {
|
||||
var language = $("#language").val();
|
||||
var extstr = $('#addons').val().split(",");
|
||||
var idx = 1;
|
||||
var html = `<div class="form-group-body" id="addons_btns">`;
|
||||
for (var ext in _addons) {
|
||||
var dispar = "";
|
||||
if (_addons[ext]["system"] == true) {
|
||||
dispar = "disabled";
|
||||
}
|
||||
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 onclickextAddon('${ext}')" autofocus="" title="${_addons[ext]["description"][language]}">${ext}</button> `;
|
||||
//if (idx++ % 10 == 0) html += "<br />";
|
||||
}
|
||||
html += `</div>`;
|
||||
$('#addons_btns').html(html);
|
||||
}
|
||||
|
||||
function createModulesBtn() {
|
||||
var model = $("#model").val();
|
||||
var version = $("#version").val().split(".").slice(0, 2).join(".");
|
||||
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">`;
|
||||
for (var ext in _modules[platform]) {
|
||||
extstr.push(ext);
|
||||
var par = "btn-danger";
|
||||
html += `<button type="button" class="btn btn-primary btn-sm mt-2 ${par}" id="btn_${ext}" ${par} onclick="return onclickextModule('${ext}')" autofocus="" title="${_modules[platform][ext]["description"]}">${ext}</button> `;
|
||||
//if (idx++ % 10 == 0) html += "<br />";
|
||||
}
|
||||
html += `</div>`;
|
||||
$('#modules_btns').html(html);
|
||||
if (extstr.length > 0) {
|
||||
$('#modules').val(extstr.join(","));
|
||||
}
|
||||
}
|
||||
|
||||
function chanageKernel() {
|
||||
var model = $("#model").val();
|
||||
var version = $("#version").val().split(".").slice(0, 2).join(".");
|
||||
var kernel = $("#kernel").val();
|
||||
if (model == "SA6400" && version == "7.2") {
|
||||
$("#kernel_item").show();
|
||||
if (kernel == "custom") {
|
||||
$('#modules_item').hide();
|
||||
} else {
|
||||
$('#modules_item').show();
|
||||
}
|
||||
} else {
|
||||
$('#modules_item').show();
|
||||
$("#kernel_item").hide();
|
||||
}
|
||||
}
|
||||
|
||||
function onclickextAddon(ext) {
|
||||
var btnobj = $("#btn_" + ext);
|
||||
var extstr = $('#addons').val().split(",");
|
||||
if (btnobj.hasClass("btn-danger")) {
|
||||
extstr.map((val, i) => {
|
||||
if (val.split(':')[0] === ext) {
|
||||
extstr.splice(i, 1);
|
||||
}
|
||||
});
|
||||
btnobj.removeClass("btn-danger");
|
||||
} else {
|
||||
btnobj.addClass("btn-danger");
|
||||
var param = window.prompt("Please enter parameters (optional):", "");
|
||||
if (param !== null && param.trim() !== "") {
|
||||
extstr.push(ext + ":" + param.trim());
|
||||
} else {
|
||||
extstr.push(ext);
|
||||
}
|
||||
}
|
||||
extstr.map((val, i) => {
|
||||
if (val === "") {
|
||||
extstr.splice(i, 1);
|
||||
}
|
||||
});
|
||||
$('#addons').val(extstr.join(","));
|
||||
}
|
||||
|
||||
function onclickextModule(ext) {
|
||||
var btnobj = $("#btn_" + ext);
|
||||
var extstr = $('#modules').val().split(",");
|
||||
if (btnobj.hasClass("btn-danger")) {
|
||||
extstr.map((val, i) => {
|
||||
if (val === ext) {
|
||||
extstr.splice(i, 1);
|
||||
}
|
||||
});
|
||||
btnobj.removeClass("btn-danger");
|
||||
} else {
|
||||
btnobj.addClass("btn-danger");
|
||||
extstr.push(ext);
|
||||
}
|
||||
extstr.map((val, i) => {
|
||||
if (val === "") {
|
||||
extstr.splice(i, 1);
|
||||
}
|
||||
});
|
||||
$('#modules').val(extstr.join(","));
|
||||
}
|
||||
function createIssues() {
|
||||
var form = document.getElementById("inputs");
|
||||
let formData = new FormData(form);
|
||||
var title = "custom";
|
||||
var body = {};
|
||||
var _parameters = ["title", "format", "size", "template", "language", "model", "version", "kernel", "addons", "modules"];
|
||||
if (debug) {
|
||||
_parameters.push("sn", "macs", "tips");
|
||||
}
|
||||
for (var key in _parameters) {
|
||||
var name = _parameters[key];
|
||||
if ($("#" + name).is(":hidden")) { continue; }
|
||||
if (name == "title") {
|
||||
if ($("#" + name).val()) {
|
||||
title += " " + $("#" + name).val();
|
||||
} else {
|
||||
title += " " + new Date().toISOString().substr(0, 10);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
if ($("#" + name).val()) {
|
||||
body[name] = $("#" + name).val();
|
||||
}
|
||||
}
|
||||
|
||||
body = JSON.stringify(body).replace(/\+/g, "%2b");
|
||||
window.location.href = `https://github.com/${repo}/issues/new?title=${title}&body=${body}`;
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<title>RR-CUSTOM</title>
|
||||
<link rel="icon" href="https://avatars.githubusercontent.com/u/151816514?s=200&v=4">
|
||||
</head>
|
||||
|
||||
<body class="logged-in env-production page-responsive" style="word-wrap: break-word">
|
||||
<div class="application-main left-0 text-left p-3 mx-auto container-xl px-3 px-md-4 px-lg-5 mt-4">
|
||||
<pre id="logo" style="
|
||||
display: block;
|
||||
font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas,
|
||||
Liberation Mono, monospace !important;
|
||||
font-size: 12px !important;
|
||||
line-height: 12px !important;
|
||||
margin: 15px 10px;
|
||||
color: red;
|
||||
">
|
||||
██████╗ ██████╗ ██████╗██╗ ██╗███████╗████████╗ ██████╗ ███╗ ███╗
|
||||
██╔══██╗██╔══██╗ ██╔════╝██║ ██║██╔════╝╚══██╔══╝██╔═══██╗████╗ ████║
|
||||
██████╔╝██████╔╝█████╗██║ ██║ ██║███████╗ ██║ ██║ ██║██╔████╔██║
|
||||
██╔══██╗██╔══██╗╚════╝██║ ██║ ██║╚════██║ ██║ ██║ ██║██║╚██╔╝██║
|
||||
██║ ██║██║ ██║ ╚██████╗╚██████╔╝███████║ ██║ ╚██████╔╝██║ ╚═╝ ██║
|
||||
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝
|
||||
|
||||
</pre>
|
||||
<div class="shields" id="labels">
|
||||
<a id="titleA" href="https://github.com/RROrg/rr">
|
||||
<img alt="GitHub Release"
|
||||
src="https://img.shields.io/github/v/release/rrorg/rr?include_prereleases&style=flat-square&label=current">
|
||||
</a>
|
||||
<a id="titleA" href="https://github.com/RROrg/rr">
|
||||
<img alt="GitHub Issues"
|
||||
src="https://img.shields.io/github/issues-closed-raw/rrorg/rr/custom?style=flat-square&label=custom">
|
||||
</a>
|
||||
<a id="titleB" href="./changelogs.html">
|
||||
<img alt="GitHub Release" src="https://img.shields.io/badge/Changelogs-8A2BE2&style=flat">
|
||||
</a>
|
||||
</div>
|
||||
<div class="image" id="products">
|
||||
<img src="https://www.synology.cn/img/products/detail/SA6400/heading.png" width="20%">
|
||||
</div>
|
||||
<div class="form-group mt-1 mb-2" id="title_item">
|
||||
<div class="form-group-header">
|
||||
<label class="color-fg-default text-mono f6">Title: (Please do not delete the "custom " in the title of
|
||||
the issue creation page.)</label>
|
||||
</div>
|
||||
<div class="form-group-body">
|
||||
<input class="form-control input-contrast input-sm" type="text" id="title" name="inputs[title]" value="" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group mt-1 mb-2" id="format_item">
|
||||
<div class="form-group-header">
|
||||
<label class="color-fg-default text-mono f6">Format:</label>
|
||||
</div>
|
||||
<div class="form-group-body">
|
||||
<select class="form-select form-control select-sm input-contrast" id="format" name="inputs[format]" value="">
|
||||
<option selected="selected" value="img">img</option>
|
||||
<option value="ova">ova</option>
|
||||
<option value="vmx">vmx</option>
|
||||
<option value="vmdk">vmdk</option>
|
||||
<option value="flat">flat</option>
|
||||
<option value="vhd">vhd</option>
|
||||
<option value="vhdx">vhdx</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group mt-1 mb-2" id="size_item">
|
||||
<div class="form-group-header">
|
||||
<label class="color-fg-default text-mono f6">Size:</label>
|
||||
</div>
|
||||
<div class="form-group-body">
|
||||
<select class="form-select form-control select-sm input-contrast" id="size" name="inputs[size]" value="">
|
||||
<option value="2GB">2GB</option>
|
||||
<option selected="selected" value="4GB">4GB</option>
|
||||
<option value="8GB">8GB</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group mt-1 mb-2" id="template_item">
|
||||
<div class="form-group-header">
|
||||
<label class="color-fg-default text-mono f6">Template:</label>
|
||||
</div>
|
||||
<div class="form-group-body">
|
||||
<select class="form-select form-control select-sm input-contrast" id="template" name="inputs[template]"
|
||||
value="">
|
||||
<option value="true">true</option>
|
||||
<option selected="selected" value="false">false</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group mt-1 mb-2" id="language_item">
|
||||
<div class="form-group-header">
|
||||
<label class="color-fg-default text-mono f6">Language:</label>
|
||||
</div>
|
||||
<div class="form-group-body">
|
||||
<select class="form-select form-control select-sm input-contrast" id="language" name="inputs[language]"
|
||||
value="">
|
||||
<option value="ar_SA">ar_SA</option>
|
||||
<option value="de_DE">de_DE</option>
|
||||
<option selected="selected" value="en_US">en_US</option>
|
||||
<option value="es_ES">es_ES</option>
|
||||
<option value="fr_FR">fr_FR</option>
|
||||
<option value="ja_JP">ja_JP</option>
|
||||
<option value="ko_KR">ko_KR</option>
|
||||
<option value="ru_RU">ru_RU</option>
|
||||
<option value="th_TH">th_TH</option>
|
||||
<option value="tr_TR">tr_TR</option>
|
||||
<option value="uk_UA">uk_UA</option>
|
||||
<option value="vi_VN">vi_VN</option>
|
||||
<option value="zh_CN">zh_CN</option>
|
||||
<option value="zh_HK">zh_HK</option>
|
||||
<option value="zh_TW">zh_TW</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group mt-1 mb-2" id="sn_item">
|
||||
<div class="form-group-header">
|
||||
<label class="color-fg-default text-mono f6">SN:</label>
|
||||
</div>
|
||||
<div class="form-group-body">
|
||||
<input class="form-control input-contrast input-sm" type="text" id="sn" name="inputs[sn]" value=""></input>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group mt-1 mb-2" id="macs_item">
|
||||
<div class="form-group-header">
|
||||
<label class="color-fg-default text-mono f6">MACs: (Please separate multiple with ','.)</label>
|
||||
</div>
|
||||
<div class="form-group-body">
|
||||
<input class="form-control input-contrast input-sm" type="text" id="macs" name="inputs[macs]" value=""></input>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group mt-1 mb-2" id="tips_item">
|
||||
<div class="form-group-header">
|
||||
<label class="color-fg-default text-mono f6">Tips:</label>
|
||||
</div>
|
||||
<div class="form-group-body">
|
||||
<input class="form-control input-contrast input-sm" type="text" id="tips" name="inputs[tips]" value=""></input>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group mt-1 mb-2" id="model_item">
|
||||
<div class="form-group-header">
|
||||
<label class="color-fg-default text-mono f6">Model:</label>
|
||||
</div>
|
||||
<div class="form-group-body">
|
||||
<select class="form-select form-control select-sm input-contrast" id="model" name="inputs[model]" value="">
|
||||
<option selected="selected" value="SA6400">SA6400</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group mt-1 mb-2" id="version_item">
|
||||
<div class="form-group-header">
|
||||
<label class="color-fg-default text-mono f6">Version:</label>
|
||||
<a href="https://github.com/RROrg/rr/raw/main/docs/pats.xlsx"> Details</a>
|
||||
</div>
|
||||
<div class="form-group-body">
|
||||
<select class="form-select form-control select-sm input-contrast" id="version" name="inputs[version]" value="">
|
||||
<option selected="selected" value="7.2">7.2</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group mt-1 mb-2" id="kernel_item">
|
||||
<div class="form-group-header">
|
||||
<label class="color-fg-default text-mono f6">Kernel: (only "custom" supports Hyper-V, Xen.)</label>
|
||||
</div>
|
||||
<div class="form-group-body">
|
||||
<select class="form-select form-control select-sm input-contrast" id="kernel" name="inputs[kernel]" value="">
|
||||
<option selected="selected" value="official">official</option>
|
||||
<option value="custom">custom</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group mt-1 mb-2" id="addons_item">
|
||||
<div class="form-group-header">
|
||||
<label class="color-fg-default text-mono f6">Addons:</label>
|
||||
<a href="https://github.com/RROrg/rr/raw/main/docs/addons.xlsx"> Details</a>
|
||||
</div>
|
||||
<div class="form-group-body">
|
||||
<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>
|
||||
</div>
|
||||
<div class="form-group mt-1 mb-2" id="modules_item">
|
||||
<div class="form-group-header">
|
||||
<label class="color-fg-default text-mono f6">Modules:</label>
|
||||
<a href="https://github.com/RROrg/rr/raw/main/docs/modules.xlsx"> Details</a>
|
||||
</div>
|
||||
<div class="form-group-body">
|
||||
<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>
|
||||
</div>
|
||||
<div data-replace-remote-form-target="" class="workflow-dispatch">
|
||||
<form id="inputs">
|
||||
<button type="button" class="btn State--merged" onclick="return createIssues()" autofocus="">
|
||||
Create
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<footer class="footer width-full container-xl mt-3 text-center color-fg-muted">
|
||||
<a aria-label="RROrg" title="GitHub" class="footer-octicon mr-2" href="https://github.com/RROrg">
|
||||
<img class="avatar rounded-2 avatar-user" src="https://avatars.githubusercontent.com/u/151816514?s=88&v=4"
|
||||
width="40" height="40" alt="@RROrg" />
|
||||
</a>
|
||||
<a aria-label="RROrg" title="GitHub" class="footer-octicon mr-2" href="https://github.com/wjz304">
|
||||
<img class="avatar rounded-2 avatar-user" src="https://avatars.githubusercontent.com/u/5615843?s=88&v=4"
|
||||
width="40" height="40" alt="@wjz304" />
|
||||
</a>
|
||||
<span> © 2022 RROrg, Ing, Inc. </span>
|
||||
</footer>
|
||||
</body>
|
||||
|
||||
</html>
|
202
docs/models.json
202
docs/models.json
@ -1,202 +0,0 @@
|
||||
{
|
||||
"apollolake": {
|
||||
"productvers": {
|
||||
"7.0": "4.4.180",
|
||||
"7.1": "4.4.180",
|
||||
"7.2": "4.4.302"
|
||||
},
|
||||
"models": [
|
||||
"DS1019+",
|
||||
"DS620slim",
|
||||
"DS218+",
|
||||
"DS418play",
|
||||
"DS718+",
|
||||
"DS918+"
|
||||
]
|
||||
},
|
||||
"broadwell": {
|
||||
"productvers": {
|
||||
"7.0": "4.4.180",
|
||||
"7.1": "4.4.180",
|
||||
"7.2": "4.4.302"
|
||||
},
|
||||
"models": [
|
||||
"FS3400",
|
||||
"RS3618xs",
|
||||
"DS3617xs",
|
||||
"DS3617xsII",
|
||||
"FS2017",
|
||||
"RS18017xs+",
|
||||
"RS3617RPxs",
|
||||
"RS3617xs+",
|
||||
"RS4017xs+"
|
||||
]
|
||||
},
|
||||
"broadwellnk": {
|
||||
"productvers": {
|
||||
"7.0": "4.4.180",
|
||||
"7.1": "4.4.180",
|
||||
"7.2": "4.4.302"
|
||||
},
|
||||
"models": [
|
||||
"DS1621xs+",
|
||||
"DS3622xs+",
|
||||
"FS3600",
|
||||
"RS1619xs+",
|
||||
"RS3621RPxs",
|
||||
"RS3621xs+",
|
||||
"RS4021xs+",
|
||||
"SA3400",
|
||||
"SA3600",
|
||||
"DS3018xs",
|
||||
"FS1018"
|
||||
]
|
||||
},
|
||||
"broadwellnkv2": {
|
||||
"productvers": {
|
||||
"7.0": "4.4.180",
|
||||
"7.1": "4.4.180",
|
||||
"7.2": "4.4.302"
|
||||
},
|
||||
"models": [
|
||||
"FS3410",
|
||||
"SA3410",
|
||||
"SA3610"
|
||||
]
|
||||
},
|
||||
"broadwellntbap": {
|
||||
"productvers": {
|
||||
"7.0": "4.4.180",
|
||||
"7.1": "4.4.180",
|
||||
"7.2": "4.4.302"
|
||||
},
|
||||
"models": [
|
||||
"SA3200D",
|
||||
"SA3400D"
|
||||
]
|
||||
},
|
||||
"denverton": {
|
||||
"productvers": {
|
||||
"7.0": "4.4.180",
|
||||
"7.1": "4.4.180",
|
||||
"7.2": "4.4.302"
|
||||
},
|
||||
"models": [
|
||||
"DS1819+",
|
||||
"DS2419+",
|
||||
"DS2419+II",
|
||||
"DVA3219",
|
||||
"DVA3221",
|
||||
"RS820+",
|
||||
"RS820RP+",
|
||||
"DS1618+",
|
||||
"RS2418+",
|
||||
"RS2418RP+",
|
||||
"RS2818RP+"
|
||||
]
|
||||
},
|
||||
"geminilake": {
|
||||
"productvers": {
|
||||
"7.0": "4.4.180",
|
||||
"7.1": "4.4.180",
|
||||
"7.2": "4.4.302"
|
||||
},
|
||||
"models": [
|
||||
"DS1520+",
|
||||
"DS220+",
|
||||
"DS224+",
|
||||
"DS420+",
|
||||
"DS423+",
|
||||
"DS720+",
|
||||
"DS920+",
|
||||
"DVA1622"
|
||||
]
|
||||
},
|
||||
"purley": {
|
||||
"productvers": {
|
||||
"7.0": "4.4.180",
|
||||
"7.1": "4.4.180",
|
||||
"7.2": "4.4.302"
|
||||
},
|
||||
"models": [
|
||||
"HD6500",
|
||||
"FS6400"
|
||||
]
|
||||
},
|
||||
"r1000": {
|
||||
"productvers": {
|
||||
"7.0": "4.4.180",
|
||||
"7.1": "4.4.180",
|
||||
"7.2": "4.4.302"
|
||||
},
|
||||
"models": [
|
||||
"DS1522+",
|
||||
"DS723+",
|
||||
"DS923+",
|
||||
"RS422+"
|
||||
]
|
||||
},
|
||||
"v1000": {
|
||||
"productvers": {
|
||||
"7.0": "4.4.180",
|
||||
"7.1": "4.4.180",
|
||||
"7.2": "4.4.302"
|
||||
},
|
||||
"models": [
|
||||
"DS1621+",
|
||||
"DS1821+",
|
||||
"DS1823xs+",
|
||||
"DS2422+",
|
||||
"FS2500",
|
||||
"RS1221+",
|
||||
"RS1221RP+",
|
||||
"RS2421+",
|
||||
"RS2421RP+",
|
||||
"RS2423+",
|
||||
"RS2423RP+",
|
||||
"RS2821RP+",
|
||||
"RS822+",
|
||||
"RS822RP+"
|
||||
]
|
||||
},
|
||||
"epyc7002": {
|
||||
"productvers": {
|
||||
"7.1": "7.1-5.10.55",
|
||||
"7.2": "7.2-5.10.55"
|
||||
},
|
||||
"models": [
|
||||
"SA6400"
|
||||
]
|
||||
},
|
||||
"geminilakenk": {
|
||||
"productvers": {
|
||||
"7.1": "7.1-5.10.55",
|
||||
"7.2": "7.2-5.10.55"
|
||||
},
|
||||
"models": [
|
||||
"DS225+",
|
||||
"DS425+"
|
||||
]
|
||||
},
|
||||
"r1000nk": {
|
||||
"productvers": {
|
||||
"7.1": "7.1-5.10.55",
|
||||
"7.2": "7.2-5.10.55"
|
||||
},
|
||||
"models": [
|
||||
"DS725+"
|
||||
]
|
||||
},
|
||||
"v1000nk": {
|
||||
"productvers": {
|
||||
"7.1": "7.1-5.10.55",
|
||||
"7.2": "7.2-5.10.55"
|
||||
},
|
||||
"models": [
|
||||
"DS1525+",
|
||||
"DS1825+",
|
||||
"DS925+",
|
||||
"RS2825RP+"
|
||||
]
|
||||
}
|
||||
}
|
BIN
docs/models.xlsx
BIN
docs/models.xlsx
Binary file not shown.
30565
docs/modules.json
30565
docs/modules.json
File diff suppressed because it is too large
Load Diff
Binary file not shown.
1738
docs/pats.json
1738
docs/pats.json
File diff suppressed because it is too large
Load Diff
BIN
docs/pats.xlsx
BIN
docs/pats.xlsx
Binary file not shown.
2
external/Config.in
vendored
Normal file
2
external/Config.in
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
source "$BR2_EXTERNAL_ARPL_PATH/r8125/Config.in"
|
||||
source "$BR2_EXTERNAL_ARPL_PATH/r8169/Config.in"
|
2
external/external.desc
vendored
Normal file
2
external/external.desc
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
name: ARPL
|
||||
desc: ARPL external packages
|
1
external/external.mk
vendored
Normal file
1
external/external.mk
vendored
Normal file
@ -0,0 +1 @@
|
||||
include $(sort $(wildcard $(BR2_EXTERNAL_ARPL_PATH)/*/*.mk))
|
10
external/r8125/Config.in
vendored
Normal file
10
external/r8125/Config.in
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
config BR2_PACKAGE_R8125
|
||||
bool "r8125"
|
||||
depends on BR2_LINUX_KERNEL
|
||||
help
|
||||
A standalone driver for the RTL8125 Ethernet adapter.
|
||||
|
||||
https://github.com/wjz304/r8125
|
||||
|
||||
comment "r8125 needs a Linux kernel to be built"
|
||||
depends on !BR2_LINUX_KERNEL
|
2
external/r8125/r8125.hash
vendored
Normal file
2
external/r8125/r8125.hash
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
# Locally computed
|
||||
sha256 5630b47ecf44d30cfb6d5ebb5925ae0ecdd0f61d3803302711efb593f5d8eef8 r8125-a44d1347a47fe627754583fcb012b330aec01e84.tar.gz
|
13
external/r8125/r8125.mk
vendored
Normal file
13
external/r8125/r8125.mk
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
################################################################################
|
||||
#
|
||||
# r8125
|
||||
#
|
||||
################################################################################
|
||||
|
||||
R8125_VERSION = a44d1347a47fe627754583fcb012b330aec01e84
|
||||
R8125_SITE = $(call github,wjz304,r8125,$(R8125_VERSION))
|
||||
R8125_LICENSE = GPL-2.0
|
||||
|
||||
$(eval $(kernel-module))
|
||||
$(eval $(generic-package))
|
||||
|
10
external/r8169/Config.in
vendored
Normal file
10
external/r8169/Config.in
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
config BR2_PACKAGE_R8169
|
||||
bool "r8169"
|
||||
depends on BR2_LINUX_KERNEL
|
||||
help
|
||||
A standalone driver for the RTL8169 Ethernet adapter.
|
||||
|
||||
https://github.com/wjz304/r8169
|
||||
|
||||
comment "r8169 needs a Linux kernel to be built"
|
||||
depends on !BR2_LINUX_KERNEL
|
2
external/r8169/r8169.hash
vendored
Normal file
2
external/r8169/r8169.hash
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
# Locally computed
|
||||
sha256 386beb40cb4fcaa7b308f2f1e1d32440ef5e15cd2296095125fe78772d95db51 r8169-ffebd251be5440e0013a2435014a2f3ab49371ee.tar.gz
|
12
external/r8169/r8169.mk
vendored
Normal file
12
external/r8169/r8169.mk
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
################################################################################
|
||||
#
|
||||
# r8169
|
||||
#
|
||||
################################################################################
|
||||
|
||||
R8169_VERSION = ffebd251be5440e0013a2435014a2f3ab49371ee
|
||||
R8169_SITE = $(call github,wjz304,r8169,$(R8169_VERSION))
|
||||
R8169_LICENSE = GPL-2.0
|
||||
|
||||
$(eval $(kernel-module))
|
||||
$(eval $(generic-package))
|
1216
files/board/arpl/busybox_defconfig
Normal file
1216
files/board/arpl/busybox_defconfig
Normal file
File diff suppressed because it is too large
Load Diff
197461
files/board/arpl/cjktty-5.15.patch
Normal file
197461
files/board/arpl/cjktty-5.15.patch
Normal file
File diff suppressed because it is too large
Load Diff
197855
files/board/arpl/cjktty-6.1.patch
Normal file
197855
files/board/arpl/cjktty-6.1.patch
Normal file
File diff suppressed because it is too large
Load Diff
BIN
files/board/arpl/grub.img.gz
Normal file
BIN
files/board/arpl/grub.img.gz
Normal file
Binary file not shown.
502
files/board/arpl/kernel_defconfig
Normal file
502
files/board/arpl/kernel_defconfig
Normal file
@ -0,0 +1,502 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/x86_64 6.1.26 Kernel Configuration
|
||||
#
|
||||
# make: make BR2_EXTERNAL=../external linux-menuconfig
|
||||
# path: /output/build/linux-6.1.26/.config
|
||||
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
CONFIG_KERNEL_XZ=y
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_AUDIT=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_PREEMPT_VOLUNTARY=y
|
||||
CONFIG_BSD_PROCESS_ACCT=y
|
||||
CONFIG_TASKSTATS=y
|
||||
CONFIG_TASK_DELAY_ACCT=y
|
||||
CONFIG_TASK_XACCT=y
|
||||
CONFIG_TASK_IO_ACCOUNTING=y
|
||||
CONFIG_LOG_BUF_SHIFT=18
|
||||
CONFIG_CGROUPS=y
|
||||
CONFIG_CGROUP_SCHED=y
|
||||
CONFIG_CGROUP_FREEZER=y
|
||||
CONFIG_CPUSETS=y
|
||||
CONFIG_CGROUP_CPUACCT=y
|
||||
CONFIG_NAMESPACES=y
|
||||
CONFIG_SYSFS_DEPRECATED=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
# CONFIG_RD_GZIP is not set
|
||||
# CONFIG_RD_BZIP2 is not set
|
||||
# CONFIG_RD_LZMA is not set
|
||||
# CONFIG_RD_LZO is not set
|
||||
# CONFIG_RD_LZ4 is not set
|
||||
# CONFIG_RD_ZSTD is not set
|
||||
CONFIG_KALLSYMS_ALL=y
|
||||
CONFIG_KCMP=y
|
||||
CONFIG_EMBEDDED=y
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_IOSF_MBI=y
|
||||
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
|
||||
CONFIG_MICROCODE_AMD=y
|
||||
CONFIG_X86_MSR=y
|
||||
CONFIG_X86_CPUID=y
|
||||
CONFIG_NUMA=y
|
||||
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
|
||||
# CONFIG_MTRR_SANITIZER is not set
|
||||
CONFIG_EFI=y
|
||||
CONFIG_HZ_1000=y
|
||||
CONFIG_KEXEC=y
|
||||
CONFIG_CRASH_DUMP=y
|
||||
CONFIG_HIBERNATION=y
|
||||
CONFIG_PM_DEBUG=y
|
||||
CONFIG_PM_TRACE_RTC=y
|
||||
CONFIG_ACPI_VIDEO=y
|
||||
CONFIG_ACPI_DOCK=y
|
||||
CONFIG_ACPI_BGRT=y
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
|
||||
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
|
||||
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
|
||||
CONFIG_X86_ACPI_CPUFREQ=y
|
||||
CONFIG_X86_POWERNOW_K8=y
|
||||
CONFIG_INTEL_IDLE=y
|
||||
CONFIG_IA32_EMULATION=y
|
||||
CONFIG_KPROBES=y
|
||||
CONFIG_JUMP_LABEL=y
|
||||
# CONFIG_GCC_PLUGINS is not set
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
# CONFIG_BLK_DEBUG_FS is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_BINFMT_MISC=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM_USER=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_IP_MULTIPLE_TABLES=y
|
||||
CONFIG_IP_ROUTE_MULTIPATH=y
|
||||
CONFIG_IP_ROUTE_VERBOSE=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_IP_PNP_RARP=y
|
||||
CONFIG_IP_MROUTE=y
|
||||
CONFIG_IP_PIMSM_V1=y
|
||||
CONFIG_IP_PIMSM_V2=y
|
||||
CONFIG_SYN_COOKIES=y
|
||||
# CONFIG_INET_DIAG is not set
|
||||
CONFIG_TCP_CONG_ADVANCED=y
|
||||
# CONFIG_TCP_CONG_BIC is not set
|
||||
# CONFIG_TCP_CONG_WESTWOOD is not set
|
||||
# CONFIG_TCP_CONG_HTCP is not set
|
||||
CONFIG_TCP_MD5SIG=y
|
||||
CONFIG_IPV6=m
|
||||
# CONFIG_IPV6_SIT is not set
|
||||
CONFIG_NETLABEL=y
|
||||
CONFIG_NETFILTER=y
|
||||
# CONFIG_NETFILTER_ADVANCED is not set
|
||||
CONFIG_NF_CONNTRACK=y
|
||||
CONFIG_NF_CONNTRACK_FTP=y
|
||||
CONFIG_NF_CONNTRACK_IRC=y
|
||||
CONFIG_NF_CONNTRACK_SIP=y
|
||||
CONFIG_NF_CT_NETLINK=y
|
||||
CONFIG_NF_NAT=y
|
||||
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
|
||||
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
|
||||
CONFIG_NETFILTER_XT_TARGET_SECMARK=y
|
||||
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
|
||||
CONFIG_NETFILTER_XT_MATCH_POLICY=y
|
||||
CONFIG_NETFILTER_XT_MATCH_STATE=y
|
||||
CONFIG_IP_NF_IPTABLES=y
|
||||
CONFIG_IP_NF_FILTER=y
|
||||
CONFIG_IP_NF_TARGET_REJECT=y
|
||||
CONFIG_IP_NF_TARGET_MASQUERADE=m
|
||||
CONFIG_IP_NF_MANGLE=y
|
||||
CONFIG_BRIDGE=m
|
||||
CONFIG_VLAN_8021Q=m
|
||||
CONFIG_NET_SCHED=y
|
||||
CONFIG_NET_EMATCH=y
|
||||
CONFIG_NET_CLS_ACT=y
|
||||
# CONFIG_WIRELESS is not set
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCIEPORTBUS=y
|
||||
CONFIG_HOTPLUG_PCI=y
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_FW_LOADER_USER_HELPER=y
|
||||
CONFIG_FW_LOADER_COMPRESS=y
|
||||
CONFIG_DEBUG_DEVRES=y
|
||||
CONFIG_CONNECTOR=y
|
||||
# CONFIG_EFI_CUSTOM_SSDT_OVERLAYS is not set
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_VIRTIO_BLK=m
|
||||
CONFIG_BLK_DEV_NVME=y
|
||||
CONFIG_VMWARE_VMCI=m
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_CHR_DEV_SG=y
|
||||
CONFIG_SCSI_CONSTANTS=y
|
||||
CONFIG_SCSI_SPI_ATTRS=y
|
||||
CONFIG_SCSI_SAS_ATA=y
|
||||
CONFIG_BLK_DEV_3W_XXXX_RAID=m
|
||||
CONFIG_SCSI_HPSA=m
|
||||
CONFIG_SCSI_3W_9XXX=m
|
||||
CONFIG_SCSI_3W_SAS=m
|
||||
CONFIG_SCSI_ACARD=m
|
||||
CONFIG_SCSI_AACRAID=m
|
||||
CONFIG_SCSI_AIC7XXX=m
|
||||
CONFIG_SCSI_AIC79XX=m
|
||||
# CONFIG_AIC79XX_DEBUG_ENABLE is not set
|
||||
CONFIG_SCSI_AIC94XX=m
|
||||
CONFIG_SCSI_MVSAS=m
|
||||
CONFIG_SCSI_MVUMI=m
|
||||
CONFIG_SCSI_ADVANSYS=m
|
||||
CONFIG_SCSI_ARCMSR=m
|
||||
CONFIG_SCSI_ESAS2R=m
|
||||
CONFIG_MEGARAID_NEWGEN=y
|
||||
CONFIG_MEGARAID_MM=m
|
||||
CONFIG_MEGARAID_MAILBOX=m
|
||||
CONFIG_MEGARAID_LEGACY=m
|
||||
CONFIG_MEGARAID_SAS=m
|
||||
CONFIG_SCSI_MPT3SAS=m
|
||||
CONFIG_SCSI_MPI3MR=m
|
||||
CONFIG_SCSI_SMARTPQI=m
|
||||
CONFIG_SCSI_HPTIOP=m
|
||||
CONFIG_SCSI_BUSLOGIC=m
|
||||
CONFIG_SCSI_MYRB=m
|
||||
CONFIG_SCSI_MYRS=m
|
||||
CONFIG_VMWARE_PVSCSI=m
|
||||
CONFIG_SCSI_SNIC=m
|
||||
CONFIG_SCSI_DMX3191D=m
|
||||
CONFIG_SCSI_ISCI=m
|
||||
CONFIG_SCSI_IPS=m
|
||||
CONFIG_SCSI_INITIO=m
|
||||
CONFIG_SCSI_INIA100=m
|
||||
CONFIG_SCSI_STEX=m
|
||||
CONFIG_SCSI_SYM53C8XX_2=m
|
||||
CONFIG_SCSI_IPR=m
|
||||
CONFIG_SCSI_QLOGIC_1280=m
|
||||
CONFIG_SCSI_QLA_ISCSI=m
|
||||
CONFIG_QEDI=m
|
||||
CONFIG_SCSI_DC395x=m
|
||||
CONFIG_SCSI_AM53C974=m
|
||||
CONFIG_SCSI_WD719X=m
|
||||
CONFIG_SCSI_PMCRAID=m
|
||||
CONFIG_SCSI_PM8001=m
|
||||
CONFIG_SCSI_VIRTIO=m
|
||||
CONFIG_SCSI_DH=y
|
||||
CONFIG_ATA=y
|
||||
# CONFIG_ATA_FORCE is not set
|
||||
CONFIG_SATA_AHCI=y
|
||||
CONFIG_SATA_MV=y
|
||||
CONFIG_MD=y
|
||||
CONFIG_BLK_DEV_MD=y
|
||||
CONFIG_BLK_DEV_DM=y
|
||||
CONFIG_DM_MIRROR=y
|
||||
CONFIG_DM_RAID=m
|
||||
CONFIG_DM_ZERO=y
|
||||
CONFIG_FUSION=y
|
||||
CONFIG_FUSION_SPI=m
|
||||
CONFIG_FUSION_SAS=m
|
||||
CONFIG_FUSION_CTL=m
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_NET_TEAM=m
|
||||
CONFIG_MACVLAN=m
|
||||
CONFIG_IPVLAN=m
|
||||
CONFIG_VXLAN=m
|
||||
CONFIG_NETCONSOLE=y
|
||||
CONFIG_VIRTIO_NET=m
|
||||
CONFIG_ET131X=m
|
||||
CONFIG_SLICOSS=m
|
||||
CONFIG_ACENIC=m
|
||||
CONFIG_ENA_ETHERNET=m
|
||||
CONFIG_AMD_XGBE=m
|
||||
CONFIG_AQTION=m
|
||||
CONFIG_ATL1=m
|
||||
CONFIG_ATL1E=m
|
||||
CONFIG_ATL1C=m
|
||||
CONFIG_ALX=m
|
||||
CONFIG_CX_ECAT=m
|
||||
CONFIG_B44=m
|
||||
CONFIG_BCMGENET=m
|
||||
CONFIG_CNIC=m
|
||||
CONFIG_TIGON3=m
|
||||
CONFIG_BNX2X=m
|
||||
CONFIG_SYSTEMPORT=m
|
||||
CONFIG_BNXT=m
|
||||
CONFIG_THUNDER_NIC_PF=m
|
||||
CONFIG_THUNDER_NIC_VF=m
|
||||
CONFIG_LIQUIDIO=m
|
||||
CONFIG_LIQUIDIO_VF=m
|
||||
CONFIG_CHELSIO_T1=m
|
||||
CONFIG_CHELSIO_T1_1G=y
|
||||
CONFIG_CHELSIO_T3=m
|
||||
CONFIG_CHELSIO_T4=m
|
||||
CONFIG_CHELSIO_T4VF=m
|
||||
CONFIG_ENIC=m
|
||||
CONFIG_DNET=m
|
||||
CONFIG_DL2K=m
|
||||
CONFIG_SUNDANCE=m
|
||||
CONFIG_BE2NET=m
|
||||
CONFIG_HINIC=m
|
||||
CONFIG_E1000=m
|
||||
CONFIG_E1000E=m
|
||||
CONFIG_IGB=m
|
||||
CONFIG_IGBVF=m
|
||||
CONFIG_IXGB=m
|
||||
CONFIG_IXGBE=m
|
||||
CONFIG_IXGBEVF=m
|
||||
CONFIG_I40E=m
|
||||
CONFIG_I40EVF=m
|
||||
CONFIG_ICE=m
|
||||
CONFIG_FM10K=m
|
||||
CONFIG_IGC=m
|
||||
CONFIG_JME=m
|
||||
CONFIG_MVMDIO=m
|
||||
CONFIG_SKGE=m
|
||||
CONFIG_SKY2=m
|
||||
CONFIG_MLX4_EN=m
|
||||
CONFIG_MLX5_CORE=m
|
||||
CONFIG_MLX5_CORE_EN=y
|
||||
CONFIG_MLXSW_CORE=m
|
||||
CONFIG_MYRI10GE=m
|
||||
CONFIG_NI_XGE_MANAGEMENT_ENET=m
|
||||
CONFIG_NATSEMI=m
|
||||
CONFIG_NS83820=m
|
||||
CONFIG_S2IO=m
|
||||
CONFIG_NFP=m
|
||||
CONFIG_HAMACHI=m
|
||||
CONFIG_YELLOWFIN=m
|
||||
CONFIG_QLA3XXX=m
|
||||
CONFIG_QLCNIC=m
|
||||
CONFIG_NETXEN_NIC=m
|
||||
CONFIG_QED=m
|
||||
CONFIG_QEDE=m
|
||||
CONFIG_BNA=m
|
||||
CONFIG_QCOM_EMAC=m
|
||||
CONFIG_RMNET=m
|
||||
CONFIG_8139CP=m
|
||||
CONFIG_8139TOO=m
|
||||
# CONFIG_8139TOO_PIO is not set
|
||||
CONFIG_8139TOO_TUNE_TWISTER=y
|
||||
# CONFIG_R8169 is not set
|
||||
CONFIG_SXGBE_ETH=m
|
||||
CONFIG_SIS190=m
|
||||
CONFIG_SFC_FALCON=m
|
||||
CONFIG_NIU=m
|
||||
CONFIG_DWC_XLGMAC=m
|
||||
CONFIG_TEHUTI=m
|
||||
CONFIG_VIA_VELOCITY=m
|
||||
CONFIG_XILINX_AXI_EMAC=m
|
||||
CONFIG_PHYLIB=y
|
||||
CONFIG_REALTEK_PHY=y
|
||||
CONFIG_USB_NET_DRIVERS=m
|
||||
CONFIG_USB_CATC=m
|
||||
CONFIG_USB_KAWETH=m
|
||||
CONFIG_USB_PEGASUS=m
|
||||
CONFIG_USB_RTL8150=m
|
||||
CONFIG_USB_RTL8152=m
|
||||
CONFIG_USB_LAN78XX=m
|
||||
CONFIG_USB_USBNET=m
|
||||
CONFIG_USB_NET_CDC_EEM=m
|
||||
CONFIG_USB_NET_HUAWEI_CDC_NCM=m
|
||||
CONFIG_USB_NET_CDC_MBIM=m
|
||||
CONFIG_USB_NET_DM9601=m
|
||||
CONFIG_USB_NET_SR9700=m
|
||||
CONFIG_USB_NET_SR9800=m
|
||||
CONFIG_USB_NET_SMSC75XX=m
|
||||
CONFIG_USB_NET_SMSC95XX=m
|
||||
CONFIG_USB_NET_GL620A=m
|
||||
CONFIG_USB_NET_PLUSB=m
|
||||
CONFIG_USB_NET_MCS7830=m
|
||||
CONFIG_USB_NET_RNDIS_HOST=m
|
||||
CONFIG_USB_NET_CX82310_ETH=m
|
||||
CONFIG_USB_NET_KALMIA=m
|
||||
CONFIG_USB_NET_QMI_WWAN=m
|
||||
CONFIG_USB_NET_INT51X1=m
|
||||
CONFIG_USB_IPHETH=m
|
||||
CONFIG_USB_SIERRA_NET=m
|
||||
CONFIG_USB_VL600=m
|
||||
CONFIG_USB_NET_CH9200=m
|
||||
CONFIG_USB_NET_AQC111=m
|
||||
CONFIG_USB_RTL8153_ECM=m
|
||||
# CONFIG_WLAN is not set
|
||||
CONFIG_VMXNET3=m
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_INPUT_TABLET=y
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_8250_NR_UARTS=32
|
||||
CONFIG_SERIAL_8250_EXTENDED=y
|
||||
CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
CONFIG_SERIAL_8250_SHARE_IRQ=y
|
||||
CONFIG_SERIAL_8250_DETECT_IRQ=y
|
||||
CONFIG_SERIAL_8250_RSA=y
|
||||
CONFIG_VIRTIO_CONSOLE=m
|
||||
CONFIG_HW_RANDOM=y
|
||||
# CONFIG_HW_RANDOM_INTEL is not set
|
||||
# CONFIG_HW_RANDOM_AMD is not set
|
||||
CONFIG_NVRAM=y
|
||||
CONFIG_HPET=y
|
||||
# CONFIG_HPET_MMAP is not set
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_I801=y
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_MFD_SYSCON=y
|
||||
CONFIG_AGP=y
|
||||
CONFIG_AGP_AMD64=y
|
||||
CONFIG_AGP_INTEL=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FIRMWARE_EDID=y
|
||||
CONFIG_FB_MODE_HELPERS=y
|
||||
CONFIG_FB_VESA=y
|
||||
CONFIG_FB_EFI=y
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_HIDRAW=y
|
||||
CONFIG_HID_A4TECH=y
|
||||
CONFIG_HID_APPLE=y
|
||||
CONFIG_HID_BELKIN=y
|
||||
CONFIG_HID_CHERRY=y
|
||||
CONFIG_HID_CHICONY=y
|
||||
CONFIG_HID_CYPRESS=y
|
||||
CONFIG_HID_EZKEY=y
|
||||
CONFIG_HID_GYRATION=y
|
||||
CONFIG_HID_ITE=y
|
||||
CONFIG_HID_KENSINGTON=y
|
||||
CONFIG_HID_LOGITECH=y
|
||||
CONFIG_LOGITECH_FF=y
|
||||
CONFIG_HID_REDRAGON=y
|
||||
CONFIG_HID_MICROSOFT=y
|
||||
CONFIG_HID_MONTEREY=y
|
||||
CONFIG_HID_NTRIG=y
|
||||
CONFIG_HID_PANTHERLORD=y
|
||||
CONFIG_PANTHERLORD_FF=y
|
||||
CONFIG_HID_PETALYNX=y
|
||||
CONFIG_HID_SAMSUNG=y
|
||||
CONFIG_HID_SONY=y
|
||||
CONFIG_HID_SUNPLUS=y
|
||||
CONFIG_HID_TOPSEED=y
|
||||
CONFIG_HID_PID=y
|
||||
CONFIG_USB_HIDDEV=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
||||
CONFIG_USB_MON=y
|
||||
CONFIG_USB_XHCI_HCD=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_UHCI_HCD=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_STORAGE_REALTEK=y
|
||||
CONFIG_USB_STORAGE_DATAFAB=y
|
||||
CONFIG_USB_STORAGE_FREECOM=y
|
||||
CONFIG_USB_STORAGE_ISD200=y
|
||||
CONFIG_USB_STORAGE_USBAT=y
|
||||
CONFIG_USB_STORAGE_SDDR09=y
|
||||
CONFIG_USB_STORAGE_SDDR55=y
|
||||
CONFIG_USB_STORAGE_JUMPSHOT=y
|
||||
CONFIG_USB_STORAGE_ALAUDA=y
|
||||
CONFIG_USB_STORAGE_ONETOUCH=y
|
||||
CONFIG_USB_STORAGE_KARMA=y
|
||||
CONFIG_USB_STORAGE_CYPRESS_ATACB=y
|
||||
CONFIG_USB_STORAGE_ENE_UB6250=y
|
||||
CONFIG_USB_UAS=y
|
||||
CONFIG_USB_SERIAL=m
|
||||
CONFIG_USB_ROLE_SWITCH=y
|
||||
CONFIG_USB_ROLES_INTEL_XHCI=m
|
||||
CONFIG_MMC=m
|
||||
CONFIG_MMC_SDHCI=m
|
||||
CONFIG_MMC_VIA_SDMMC=m
|
||||
CONFIG_MMC_VUB300=m
|
||||
CONFIG_MMC_USHC=m
|
||||
CONFIG_SCSI_UFSHCD=m
|
||||
CONFIG_SCSI_UFSHCD_PCI=m
|
||||
CONFIG_SCSI_UFS_DWC_TC_PCI=m
|
||||
CONFIG_SCSI_UFSHCD_PLATFORM=m
|
||||
CONFIG_SCSI_UFS_CDNS_PLATFORM=m
|
||||
CONFIG_SCSI_UFS_DWC_TC_PLATFORM=m
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
# CONFIG_RTC_HCTOSYS is not set
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_SYNC_FILE=y
|
||||
CONFIG_VIRT_DRIVERS=y
|
||||
CONFIG_VBOXGUEST=m
|
||||
CONFIG_VIRTIO_PCI=m
|
||||
# CONFIG_VIRTIO_PCI_LEGACY is not set
|
||||
CONFIG_VIRTIO_BALLOON=m
|
||||
CONFIG_VIRTIO_INPUT=m
|
||||
CONFIG_VIRTIO_MMIO=m
|
||||
CONFIG_VHOST_NET=m
|
||||
# CONFIG_SURFACE_PLATFORMS is not set
|
||||
CONFIG_ACPI_WMI=y
|
||||
CONFIG_MXM_WMI=y
|
||||
CONFIG_EEEPC_LAPTOP=y
|
||||
CONFIG_AMD_IOMMU=y
|
||||
CONFIG_INTEL_IOMMU=y
|
||||
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
|
||||
CONFIG_VIRTIO_IOMMU=m
|
||||
CONFIG_MEMORY=y
|
||||
CONFIG_RESET_CONTROLLER=y
|
||||
CONFIG_VALIDATE_FS_PARSER=y
|
||||
# CONFIG_EXT2_FS is not set
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_EXT3_FS_POSIX_ACL=y
|
||||
CONFIG_EXT3_FS_SECURITY=y
|
||||
CONFIG_EXT4_USE_FOR_EXT2=y
|
||||
CONFIG_QUOTA=y
|
||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
|
||||
# CONFIG_PRINT_QUOTA_WARNING is not set
|
||||
CONFIG_QFMT_V2=y
|
||||
CONFIG_AUTOFS4_FS=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_HUGETLBFS=y
|
||||
CONFIG_EFIVAR_FS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3_ACL=y
|
||||
CONFIG_NFS_V4=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NLS_DEFAULT="utf8"
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_ASCII=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_NLS_UTF8=y
|
||||
CONFIG_SECURITY=y
|
||||
CONFIG_SECURITY_NETWORK=y
|
||||
CONFIG_SECURITY_SELINUX=y
|
||||
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
|
||||
CONFIG_SECURITY_SELINUX_DISABLE=y
|
||||
CONFIG_CRYPTO_AUTHENC=y
|
||||
CONFIG_CRYPTO_RSA=y
|
||||
CONFIG_CRYPTO_AES=y
|
||||
CONFIG_CRYPTO_CBC=y
|
||||
CONFIG_CRYPTO_CCM=y
|
||||
CONFIG_CRYPTO_GCM=y
|
||||
CONFIG_CRYPTO_SEQIV=y
|
||||
CONFIG_CRYPTO_ECHAINIV=y
|
||||
CONFIG_CRYPTO_CMAC=y
|
||||
CONFIG_CRYPTO_SHA256=y
|
||||
CONFIG_ASYMMETRIC_KEY_TYPE=y
|
||||
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
|
||||
CONFIG_X509_CERTIFICATE_PARSER=y
|
||||
CONFIG_PKCS7_MESSAGE_PARSER=y
|
||||
CONFIG_SYSTEM_TRUSTED_KEYRING=y
|
||||
CONFIG_CRC_CCITT=y
|
||||
CONFIG_PRINTK_TIME=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_DEBUG_STACK_USAGE=y
|
||||
# CONFIG_SCHED_DEBUG is not set
|
||||
CONFIG_SCHEDSTATS=y
|
||||
CONFIG_BLK_DEV_IO_TRACE=y
|
||||
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
|
||||
CONFIG_EARLY_PRINTK_DBGP=y
|
||||
CONFIG_DEBUG_BOOT_PARAMS=y
|
45
files/board/arpl/make-img.sh
Executable file
45
files/board/arpl/make-img.sh
Executable file
@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env bash
|
||||
# CONFIG_DIR = .
|
||||
# $1 = Target path = ./output/target
|
||||
# BR2_DL_DIR = ./dl
|
||||
# BINARIES_DIR = ./output/images
|
||||
# BUILD_DIR = ./output/build
|
||||
# BASE_DIR = ./output
|
||||
|
||||
set -e
|
||||
|
||||
# Define some constants
|
||||
MY_ROOT="${CONFIG_DIR}/.."
|
||||
IMAGE_FILE="${MY_ROOT}/arpl.img"
|
||||
BOARD_PATH="${CONFIG_DIR}/board/arpl"
|
||||
|
||||
echo "Creating image file"
|
||||
# unzip base image
|
||||
gzip -dc "${BOARD_PATH}/grub.img.gz" > "${IMAGE_FILE}"
|
||||
# fdisk
|
||||
fdisk -l "${IMAGE_FILE}"
|
||||
# Find idle of loop device
|
||||
LOOPX=`sudo losetup -f`
|
||||
# Setup the ${LOOPX} loop device
|
||||
sudo losetup -P "${LOOPX}" "${IMAGE_FILE}"
|
||||
|
||||
echo "Mounting image file"
|
||||
mkdir -p "${BINARIES_DIR}/p1"
|
||||
mkdir -p "${BINARIES_DIR}/p3"
|
||||
sudo mount ${LOOPX}p1 "${BINARIES_DIR}/p1"
|
||||
sudo mount ${LOOPX}p3 "${BINARIES_DIR}/p3"
|
||||
|
||||
echo "Copying files"
|
||||
sudo cp "${BINARIES_DIR}/bzImage" "${BINARIES_DIR}/p3/bzImage-arpl"
|
||||
sudo cp "${BINARIES_DIR}/rootfs.cpio.xz" "${BINARIES_DIR}/p3/initrd-arpl"
|
||||
sudo cp -R "${BOARD_PATH}/p1/"* "${BINARIES_DIR}/p1"
|
||||
sudo cp -R "${BOARD_PATH}/p3/"* "${BINARIES_DIR}/p3"
|
||||
sync
|
||||
|
||||
echo "Unmount image file"
|
||||
sudo umount "${BINARIES_DIR}/p1"
|
||||
sudo umount "${BINARIES_DIR}/p3"
|
||||
rmdir "${BINARIES_DIR}/p1"
|
||||
rmdir "${BINARIES_DIR}/p3"
|
||||
|
||||
sudo losetup --detach ${LOOPX}
|
34
files/board/arpl/overlayfs/etc/init.d/S41dhcpcd
Executable file
34
files/board/arpl/overlayfs/etc/init.d/S41dhcpcd
Executable file
@ -0,0 +1,34 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Start/stop dhcpcd
|
||||
#
|
||||
|
||||
DAEMON=/usr/sbin/dhcpcd
|
||||
CONFIG=/etc/dhcpcd.conf
|
||||
PIDFILE=/var/run/dhcpcd/pid
|
||||
|
||||
[ -f $CONFIG ] || exit 0
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo "Starting dhcpcd..."
|
||||
start-stop-daemon -S -x "$DAEMON" -p "$PIDFILE" -- -f "$CONFIG"
|
||||
;;
|
||||
stop)
|
||||
echo "Stopping dhcpcd..."
|
||||
start-stop-daemon -K -x "$DAEMON" -p "$PIDFILE" -o
|
||||
;;
|
||||
reload | force-reload)
|
||||
echo "Reloading dhcpcd configuration..."
|
||||
"$DAEMON" -s reload
|
||||
;;
|
||||
restart)
|
||||
"$0" stop
|
||||
sleep 1 # Prevent race condition: ensure dhcpcd stops before start.
|
||||
"$0" start
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart|reload|force-reload}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
46
files/board/arpl/overlayfs/etc/inittab
Normal file
46
files/board/arpl/overlayfs/etc/inittab
Normal file
@ -0,0 +1,46 @@
|
||||
# /etc/inittab
|
||||
#
|
||||
# Copyright (C) 2001 Erik Andersen <andersen@codepoet.org>
|
||||
#
|
||||
# Note: BusyBox init doesn't support runlevels. The runlevels field is
|
||||
# completely ignored by BusyBox init. If you want runlevels, use
|
||||
# sysvinit.
|
||||
#
|
||||
# Format for each entry: <id>:<runlevels>:<action>:<process>
|
||||
#
|
||||
# id == tty to run on, or empty for /dev/console
|
||||
# runlevels == ignored
|
||||
# action == one of sysinit, respawn, askfirst, wait, and once
|
||||
# process == program to run
|
||||
|
||||
# Startup the system
|
||||
::sysinit:/bin/mount -t proc proc /proc
|
||||
::sysinit:/bin/mount -o remount,rw /
|
||||
::sysinit:/bin/mkdir -p /dev/pts /dev/shm
|
||||
::sysinit:/bin/mount -a
|
||||
::sysinit:/bin/mkdir -p /run/lock/subsys
|
||||
::sysinit:/sbin/swapon -a
|
||||
null::sysinit:/bin/ln -sf /proc/self/fd /dev/fd
|
||||
null::sysinit:/bin/ln -sf /proc/self/fd/0 /dev/stdin
|
||||
null::sysinit:/bin/ln -sf /proc/self/fd/1 /dev/stdout
|
||||
null::sysinit:/bin/ln -sf /proc/self/fd/2 /dev/stderr
|
||||
::sysinit:/bin/hostname -F /etc/hostname
|
||||
# Reduce kernel logs
|
||||
::sysinit:/usr/bin/dmesg -n 1
|
||||
# now run any rc scripts
|
||||
::sysinit:/etc/init.d/rcS
|
||||
|
||||
# Login in terminals
|
||||
tty1::respawn:/sbin/agetty -a root --noclear tty1
|
||||
tty2::askfirst:/sbin/agetty --noclear tty2
|
||||
ttyS0::askfirst:/sbin/agetty -a root ttyS0 115200 linux
|
||||
::respawn:/usr/bin/ttyd -t enableZmodem=true -t enableSixel=true -t enableTrzsz=true login -f root
|
||||
|
||||
# Stuff to do for the 3-finger salute
|
||||
::ctrlaltdel:/sbin/reboot
|
||||
|
||||
# Stuff to do before rebooting
|
||||
::shutdown:/etc/init.d/rcK
|
||||
::shutdown:/sbin/swapoff -a
|
||||
::shutdown:/bin/umount -a -r
|
||||
::shutdown:/usr/sbin/kexec -e -a
|
20
files/board/arpl/overlayfs/etc/samba/smb.conf
Normal file
20
files/board/arpl/overlayfs/etc/samba/smb.conf
Normal file
@ -0,0 +1,20 @@
|
||||
[global]
|
||||
workgroup = WORKGROUP
|
||||
server role = standalone server
|
||||
obey pam restrictions = yes
|
||||
map to guest = Bad User
|
||||
usershare allow guests = yes
|
||||
dfree command = /usr/bin/df
|
||||
|
||||
[arpl]
|
||||
browseable = yes
|
||||
public = yes
|
||||
path = /mnt
|
||||
guest ok = yes
|
||||
printable = no
|
||||
read only = no
|
||||
writable = yes
|
||||
create mask = 0600
|
||||
directory mask = 0700
|
||||
force user = root
|
||||
force group = root
|
116
files/board/arpl/overlayfs/etc/ssh/sshd_config
Normal file
116
files/board/arpl/overlayfs/etc/ssh/sshd_config
Normal file
@ -0,0 +1,116 @@
|
||||
# $OpenBSD: sshd_config,v 1.104 2021/07/02 05:11:21 dtucker Exp $
|
||||
|
||||
# This is the sshd server system-wide configuration file. See
|
||||
# sshd_config(5) for more information.
|
||||
|
||||
# This sshd was compiled with PATH=/bin:/sbin:/usr/bin:/usr/sbin
|
||||
|
||||
# The strategy used for options in the default sshd_config shipped with
|
||||
# OpenSSH is to specify options with their default value where
|
||||
# possible, but leave them commented. Uncommented options override the
|
||||
# default value.
|
||||
|
||||
#Port 22
|
||||
#AddressFamily any
|
||||
#ListenAddress 0.0.0.0
|
||||
#ListenAddress ::
|
||||
|
||||
#HostKey /etc/ssh/ssh_host_rsa_key
|
||||
#HostKey /etc/ssh/ssh_host_ecdsa_key
|
||||
#HostKey /etc/ssh/ssh_host_ed25519_key
|
||||
|
||||
# Ciphers and keying
|
||||
#RekeyLimit default none
|
||||
|
||||
# Logging
|
||||
#SyslogFacility AUTH
|
||||
#LogLevel INFO
|
||||
|
||||
# Authentication:
|
||||
|
||||
#LoginGraceTime 2m
|
||||
PermitRootLogin yes
|
||||
#StrictModes yes
|
||||
#MaxAuthTries 6
|
||||
#MaxSessions 10
|
||||
|
||||
#PubkeyAuthentication yes
|
||||
|
||||
# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
|
||||
# but this is overridden so installations will only check .ssh/authorized_keys
|
||||
AuthorizedKeysFile .ssh/authorized_keys
|
||||
|
||||
#AuthorizedPrincipalsFile none
|
||||
|
||||
#AuthorizedKeysCommand none
|
||||
#AuthorizedKeysCommandUser nobody
|
||||
|
||||
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
|
||||
#HostbasedAuthentication no
|
||||
# Change to yes if you don't trust ~/.ssh/known_hosts for
|
||||
# HostbasedAuthentication
|
||||
#IgnoreUserKnownHosts no
|
||||
# Don't read the user's ~/.rhosts and ~/.shosts files
|
||||
#IgnoreRhosts yes
|
||||
|
||||
# To disable tunneled clear text passwords, change to no here!
|
||||
#PasswordAuthentication yes
|
||||
#PermitEmptyPasswords no
|
||||
|
||||
# Change to no to disable s/key passwords
|
||||
#KbdInteractiveAuthentication yes
|
||||
|
||||
# Kerberos options
|
||||
#KerberosAuthentication no
|
||||
#KerberosOrLocalPasswd yes
|
||||
#KerberosTicketCleanup yes
|
||||
#KerberosGetAFSToken no
|
||||
|
||||
# GSSAPI options
|
||||
#GSSAPIAuthentication no
|
||||
#GSSAPICleanupCredentials yes
|
||||
|
||||
# Set this to 'yes' to enable PAM authentication, account processing,
|
||||
# and session processing. If this is enabled, PAM authentication will
|
||||
# be allowed through the KbdInteractiveAuthentication and
|
||||
# PasswordAuthentication. Depending on your PAM configuration,
|
||||
# PAM authentication via KbdInteractiveAuthentication may bypass
|
||||
# the setting of "PermitRootLogin without-password".
|
||||
# If you just want the PAM account and session checks to run without
|
||||
# PAM authentication, then enable this but set PasswordAuthentication
|
||||
# and KbdInteractiveAuthentication to 'no'.
|
||||
#UsePAM no
|
||||
|
||||
#AllowAgentForwarding yes
|
||||
#AllowTcpForwarding yes
|
||||
#GatewayPorts no
|
||||
#X11Forwarding no
|
||||
#X11DisplayOffset 10
|
||||
#X11UseLocalhost yes
|
||||
#PermitTTY yes
|
||||
#PrintMotd yes
|
||||
#PrintLastLog yes
|
||||
#TCPKeepAlive yes
|
||||
#PermitUserEnvironment no
|
||||
#Compression delayed
|
||||
#ClientAliveInterval 0
|
||||
#ClientAliveCountMax 3
|
||||
#UseDNS no
|
||||
#PidFile /var/run/sshd.pid
|
||||
#MaxStartups 10:30:100
|
||||
#PermitTunnel no
|
||||
#ChrootDirectory none
|
||||
#VersionAddendum none
|
||||
|
||||
# no default banner path
|
||||
#Banner none
|
||||
|
||||
# override default of no subsystems
|
||||
Subsystem sftp /usr/libexec/sftp-server
|
||||
|
||||
# Example of overriding settings on a per-user basis
|
||||
#Match User anoncvs
|
||||
# X11Forwarding no
|
||||
# AllowTcpForwarding no
|
||||
# PermitTTY no
|
||||
# ForceCommand cvs server
|
@ -0,0 +1,46 @@
|
||||
# This is used to change the default configuration of Realtek USB ethernet adapters
|
||||
|
||||
ACTION!="add", GOTO="usb_realtek_net_end"
|
||||
SUBSYSTEM!="usb", GOTO="usb_realtek_net_end"
|
||||
ENV{DEVTYPE}!="usb_device", GOTO="usb_realtek_net_end"
|
||||
|
||||
# Modify this to change the default value
|
||||
ENV{REALTEK_MODE1}="1"
|
||||
ENV{REALTEK_MODE2}="3"
|
||||
|
||||
# Realtek
|
||||
ATTR{idVendor}=="0bda", ATTR{idProduct}=="815[2,3,5,6]", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
|
||||
ATTR{idVendor}=="0bda", ATTR{idProduct}=="8053", ATTR{bcdDevice}=="e???", ATTR{bConfigurationValue}!="$env{REALTEK_MODE2}", ATTR{bConfigurationValue}="$env{REALTEK_MODE2}"
|
||||
|
||||
# Samsung
|
||||
ATTR{idVendor}=="04e8", ATTR{idProduct}=="a101", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
|
||||
|
||||
# Lenovo
|
||||
ATTR{idVendor}=="17ef", ATTR{idProduct}=="304f", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
|
||||
ATTR{idVendor}=="17ef", ATTR{idProduct}=="3052", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
|
||||
ATTR{idVendor}=="17ef", ATTR{idProduct}=="3054", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
|
||||
ATTR{idVendor}=="17ef", ATTR{idProduct}=="3057", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
|
||||
ATTR{idVendor}=="17ef", ATTR{idProduct}=="3062", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
|
||||
ATTR{idVendor}=="17ef", ATTR{idProduct}=="3069", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
|
||||
ATTR{idVendor}=="17ef", ATTR{idProduct}=="3082", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
|
||||
ATTR{idVendor}=="17ef", ATTR{idProduct}=="3098", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
|
||||
ATTR{idVendor}=="17ef", ATTR{idProduct}=="7205", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
|
||||
ATTR{idVendor}=="17ef", ATTR{idProduct}=="720a", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
|
||||
ATTR{idVendor}=="17ef", ATTR{idProduct}=="720b", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
|
||||
ATTR{idVendor}=="17ef", ATTR{idProduct}=="720c", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
|
||||
ATTR{idVendor}=="17ef", ATTR{idProduct}=="7214", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
|
||||
ATTR{idVendor}=="17ef", ATTR{idProduct}=="721e", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
|
||||
ATTR{idVendor}=="17ef", ATTR{idProduct}=="8153", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
|
||||
ATTR{idVendor}=="17ef", ATTR{idProduct}=="a359", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
|
||||
ATTR{idVendor}=="17ef", ATTR{idProduct}=="a387", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
|
||||
|
||||
# TP-LINK
|
||||
ATTR{idVendor}=="2357", ATTR{idProduct}=="0601", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
|
||||
|
||||
# Nvidia
|
||||
ATTR{idVendor}=="0955", ATTR{idProduct}=="09ff", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
|
||||
|
||||
# LINKSYS
|
||||
ATTR{idVendor}=="13b1", ATTR{idProduct}=="0041", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
|
||||
|
||||
LABEL="usb_realtek_net_end"
|
235
files/board/arpl/overlayfs/opt/arpl/boot.sh
Executable file
235
files/board/arpl/overlayfs/opt/arpl/boot.sh
Executable file
@ -0,0 +1,235 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
. /opt/arpl/include/functions.sh
|
||||
|
||||
# Sanity check
|
||||
loaderIsConfigured || die "$(TEXT "Loader is not configured!")"
|
||||
|
||||
# Check if machine has EFI
|
||||
[ -d /sys/firmware/efi ] && EFI=1 || EFI=0
|
||||
|
||||
LOADER_DISK="$(blkid | grep 'LABEL="ARPL3"' | cut -d3 -f1)"
|
||||
BUS=$(udevadm info --query property --name ${LOADER_DISK} | grep ID_BUS | cut -d= -f2)
|
||||
|
||||
# Print text centralized
|
||||
clear
|
||||
[ -z "${COLUMNS}" ] && COLUMNS=50
|
||||
TITLE="$(printf "$(TEXT "Welcome to %s")" "${ARPL_TITLE}")"
|
||||
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}"
|
||||
printf "\033[1;44m%*s\033[0m\n" ${COLUMNS} ""
|
||||
TITLE="BOOTING:"
|
||||
[ -d "/sys/firmware/efi" ] && TITLE+=" [UEFI]" || TITLE+=" [BIOS]"
|
||||
[ "${BUS}" = "usb" ] && TITLE+=" [USB flashdisk]" || TITLE+=" [SATA DoM]"
|
||||
printf "\033[1;33m%*s\033[0m\n" $(((${#TITLE} + ${COLUMNS}) / 2)) "${TITLE}"
|
||||
|
||||
# Check if DSM zImage changed, patch it if necessary
|
||||
ZIMAGE_HASH="$(readConfigKey "zimage-hash" "${USER_CONFIG_FILE}")"
|
||||
if [ "$(sha256sum "${ORI_ZIMAGE_FILE}" | awk '{print$1}')" != "${ZIMAGE_HASH}" ]; then
|
||||
echo -e "\033[1;43m$(TEXT "DSM zImage changed")\033[0m"
|
||||
/opt/arpl/zimage-patch.sh
|
||||
if [ $? -ne 0 ]; then
|
||||
dialog --backtitle "$(backtitle)" --title "$(TEXT "Error")" \
|
||||
--msgbox "$(TEXT "zImage not patched:\n")$(<"${LOG_FILE}")" 12 70
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Check if DSM ramdisk changed, patch it if necessary
|
||||
RAMDISK_HASH="$(readConfigKey "ramdisk-hash" "${USER_CONFIG_FILE}")"
|
||||
if [ "$(sha256sum "${ORI_RDGZ_FILE}" | awk '{print$1}')" != "${RAMDISK_HASH}" ]; then
|
||||
echo -e "\033[1;43m$(TEXT "DSM Ramdisk changed")\033[0m"
|
||||
/opt/arpl/ramdisk-patch.sh
|
||||
if [ $? -ne 0 ]; then
|
||||
dialog --backtitle "$(backtitle)" --title "$(TEXT "Error")" \
|
||||
--msgbox "$(TEXT "Ramdisk not patched:\n")$(<"${LOG_FILE}")" 12 70
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Load necessary variables
|
||||
VID="$(readConfigKey "vid" "${USER_CONFIG_FILE}")"
|
||||
PID="$(readConfigKey "pid" "${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}")"
|
||||
LKM="$(readConfigKey "lkm" "${USER_CONFIG_FILE}")"
|
||||
SN="$(readConfigKey "sn" "${USER_CONFIG_FILE}")"
|
||||
|
||||
CPU="$(echo $(cat /proc/cpuinfo | grep 'model name' | uniq | awk -F':' '{print $2}'))"
|
||||
MEM="$(free -m | grep -i mem | awk '{print$2}') MB"
|
||||
|
||||
echo -e "$(TEXT "Model:") \033[1;36m${MODEL}\033[0m"
|
||||
echo -e "$(TEXT "Build:") \033[1;36m${PRODUCTVER}(${BUILDNUM}$([ ${SMALLNUM:-0} -ne 0 ] && echo "u${SMALLNUM}"))\033[0m"
|
||||
echo -e "$(TEXT "LKM: ") \033[1;36m${LKM}\033[0m"
|
||||
echo -e "$(TEXT "CPU: ") \033[1;36m${CPU}\033[0m"
|
||||
echo -e "$(TEXT "MEM: ") \033[1;36m${MEM}\033[0m"
|
||||
|
||||
if [ ! -f "${MODEL_CONFIG_PATH}/${MODEL}.yml" ] || [ -z "$(readConfigKey "productvers.[${PRODUCTVER}]" "${MODEL_CONFIG_PATH}/${MODEL}.yml")" ]; then
|
||||
echo -e "\033[1;33m*** $(printf "$(TEXT "The current version of arpl does not support booting %s-%s, please rebuild.")" "${MODEL}" "${PRODUCTVER}") ***\033[0m"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
declare -A CMDLINE
|
||||
|
||||
# Fixed values
|
||||
CMDLINE['netif_num']=0
|
||||
# Automatic values
|
||||
CMDLINE['syno_hw_version']="${MODEL}"
|
||||
[ -z "${VID}" ] && VID="0x0000" # Sanity check
|
||||
[ -z "${PID}" ] && PID="0x0000" # Sanity check
|
||||
CMDLINE['vid']="${VID}"
|
||||
CMDLINE['pid']="${PID}"
|
||||
CMDLINE['sn']="${SN}"
|
||||
|
||||
# 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}")
|
||||
|
||||
#
|
||||
KVER=$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kver")
|
||||
|
||||
if [ "${BUS}" = "ata" ]; then
|
||||
LOADER_DEVICE_NAME=$(echo ${LOADER_DISK} | sed 's|/dev/||')
|
||||
SIZE=$(($(cat /sys/block/${LOADER_DEVICE_NAME}/size) / 2048 + 10))
|
||||
# Read SATADoM type
|
||||
DOM="$(readModelKey "${MODEL}" "dom")"
|
||||
fi
|
||||
|
||||
NOTSETMACS="$(readConfigKey "notsetmacs" "${USER_CONFIG_FILE}")"
|
||||
if [ "${NOTSETMACS}" = "true" ]; then
|
||||
# Currently, only up to 8 are supported. (<==> menu.sh L396, <==> lkm: MAX_NET_IFACES)
|
||||
for N in $(seq 1 8); do
|
||||
[ -n "${CMDLINE["mac${N}"]}" ] && unset CMDLINE["mac${N}"]
|
||||
done
|
||||
unset CMDLINE['netif_num']
|
||||
echo -e "\033[1;33m*** $(printf "$(TEXT "'Not set MACs' is enabled.")") ***\033[0m"
|
||||
else
|
||||
# Validate netif_num
|
||||
MACS=()
|
||||
# Currently, only up to 8 are supported. (<==> menu.sh L396, <==> lkm: MAX_NET_IFACES)
|
||||
for N in $(seq 1 8); do
|
||||
[ -n "${CMDLINE["mac${N}"]}" ] && MACS+=(${CMDLINE["mac${N}"]})
|
||||
done
|
||||
NETIF_NUM=${#MACS[*]}
|
||||
# set netif_num to custom mac amount, netif_num must be equal to the MACX amount, otherwise the kernel will panic.
|
||||
CMDLINE["netif_num"]=${NETIF_NUM} # The current original CMDLINE['netif_num'] is no longer in use, Consider deleting.
|
||||
# real network cards amount
|
||||
NETRL_NUM=$(ls /sys/class/net/ | grep eth | wc -l)
|
||||
if [ ${NETIF_NUM} -le ${NETRL_NUM} ]; then
|
||||
echo -e "\033[1;33m*** $(printf "$(TEXT "Detected %s network cards, %s MACs were customized, the rest will use the original MACs.")" "${NETRL_NUM}" "${CMDLINE["netif_num"]}") ***\033[0m"
|
||||
ETHX=($(ls /sys/class/net/ | grep eth)) # real network cards list
|
||||
for N in $(seq $(expr ${NETIF_NUM} + 1) ${NETRL_NUM}); do
|
||||
MACR="$(cat /sys/class/net/${ETHX[$(expr ${N} - 1)]}/address | sed 's/://g')"
|
||||
# no duplicates
|
||||
while [[ "${MACS[*]}" =~ "$MACR" ]]; do # no duplicates
|
||||
MACR="${MACR:0:10}$(printf "%02x" $((0x${MACR:10:2} + 1)))"
|
||||
done
|
||||
CMDLINE["mac${N}"]="${MACR}"
|
||||
done
|
||||
CMDLINE["netif_num"]=${NETRL_NUM}
|
||||
fi
|
||||
fi
|
||||
# Prepare command line
|
||||
CMDLINE_LINE=""
|
||||
grep -q "force_junior" /proc/cmdline && CMDLINE_LINE+="force_junior "
|
||||
[ ${EFI} -eq 1 ] && CMDLINE_LINE+="withefi " || CMDLINE_LINE+="noefi "
|
||||
[ "${BUS}" = "ata" ] && CMDLINE_LINE+="synoboot_satadom=${DOM} dom_szmax=${SIZE} "
|
||||
CMDLINE_LINE+="console=ttyS0,115200n8 earlyprintk earlycon=uart8250,io,0x3f8,115200n8 root=/dev/md0 loglevel=15 log_buf_len=32M"
|
||||
CMDLINE_DIRECT="${CMDLINE_LINE}"
|
||||
for KEY in ${!CMDLINE[@]}; do
|
||||
VALUE="${CMDLINE[${KEY}]}"
|
||||
CMDLINE_LINE+=" ${KEY}"
|
||||
CMDLINE_DIRECT+=" ${KEY}"
|
||||
[ -n "${VALUE}" ] && CMDLINE_LINE+="=${VALUE}"
|
||||
[ -n "${VALUE}" ] && CMDLINE_DIRECT+="=${VALUE}"
|
||||
done
|
||||
# Escape special chars
|
||||
#CMDLINE_LINE=`echo ${CMDLINE_LINE} | sed 's/>/\\\\>/g'`
|
||||
CMDLINE_DIRECT=$(echo ${CMDLINE_DIRECT} | sed 's/>/\\\\>/g')
|
||||
echo -e "$(TEXT "Cmdline:\n")\033[1;36m${CMDLINE_LINE}\033[0m"
|
||||
|
||||
DIRECT="$(readConfigKey "directboot" "${USER_CONFIG_FILE}")"
|
||||
if [ "${DIRECT}" = "true" ]; then
|
||||
grub-editenv ${GRUB_PATH}/grubenv set dsm_cmdline="${CMDLINE_DIRECT}"
|
||||
echo -e "\033[1;33m$(TEXT "Reboot to boot directly in DSM")\033[0m"
|
||||
grub-editenv ${GRUB_PATH}/grubenv set next_entry="direct"
|
||||
reboot
|
||||
exit 0
|
||||
else
|
||||
BOOTIPWAIT="$(readConfigKey "bootipwait" "${USER_CONFIG_FILE}")"
|
||||
[ -z "${BOOTIPWAIT}" ] && BOOTIPWAIT=10
|
||||
ETHX=($(ls /sys/class/net/ | grep eth)) # real network cards list
|
||||
echo "$(printf "$(TEXT "Detected %s network cards.")" "${#ETHX[@]}")"
|
||||
echo "$(TEXT "Checking Connect.")"
|
||||
COUNT=0
|
||||
while [ ${COUNT} -lt ${BOOTIPWAIT} ]; do
|
||||
hasConnect="false"
|
||||
for N in $(seq 0 $(expr ${#ETHX[@]} - 1)); do
|
||||
if ethtool ${ETHX[${N}]} | grep 'Link detected' | grep -q 'yes'; then
|
||||
echo -en "${ETHX[${N}]} "
|
||||
hasConnect="true"
|
||||
fi
|
||||
done
|
||||
if [ ${hasConnect} = "true" ]; then
|
||||
echo -en "connected.\n"
|
||||
break
|
||||
fi
|
||||
COUNT=$((${COUNT} + 1))
|
||||
echo -n "."
|
||||
sleep 1
|
||||
done
|
||||
echo "$(TEXT "Waiting IP.(For reference only)")"
|
||||
for N in $(seq 0 $(expr ${#ETHX[@]} - 1)); do
|
||||
COUNT=0
|
||||
DRIVER=$(ls -ld /sys/class/net/${ETHX[${N}]}/device/driver 2>/dev/null | awk -F '/' '{print $NF}')
|
||||
echo -en "${ETHX[${N}]}(${DRIVER}): "
|
||||
while true; do
|
||||
if ! ip link show ${ETHX[${N}]} | grep -q 'UP'; then
|
||||
echo -en "\r${ETHX[${N}]}(${DRIVER}): $(TEXT "DOWN")\n"
|
||||
break
|
||||
fi
|
||||
if ethtool ${ETHX[${N}]} | grep 'Link detected' | grep -q 'no'; then
|
||||
echo -en "\r${ETHX[${N}]}(${DRIVER}): $(TEXT "NOT CONNECTED")\n"
|
||||
break
|
||||
fi
|
||||
if [ ${COUNT} -eq 8 ]; then # Under normal circumstances, no errors should occur here.
|
||||
echo -en "\r${ETHX[${N}]}(${DRIVER}): $(TEXT "TIMEOUT")\n"
|
||||
break
|
||||
fi
|
||||
COUNT=$((${COUNT} + 1))
|
||||
IP=$(ip route show dev ${ETHX[${N}]} 2>/dev/null | sed -n 's/.* via .* src \(.*\) metric .*/\1/p')
|
||||
if [ -n "${IP}" ]; then
|
||||
echo -en "\r${ETHX[${N}]}(${DRIVER}): $(printf "$(TEXT "Access \033[1;34mhttp://%s:5000\033[0m to connect the DSM via web.")" "${IP}")\n"
|
||||
break
|
||||
fi
|
||||
echo -n "."
|
||||
sleep 1
|
||||
done
|
||||
done
|
||||
fi
|
||||
|
||||
echo -e "\033[1;37m$(TEXT "Loading DSM kernel...")\033[0m"
|
||||
|
||||
# Executes DSM kernel via KEXEC
|
||||
if [ "${KVER:0:1}" = "3" -a ${EFI} -eq 1 ]; then
|
||||
echo -e "\033[1;33m$(TEXT "Warning, running kexec with --noefi param, strange things will happen!!")\033[0m"
|
||||
kexec --noefi -l "${MOD_ZIMAGE_FILE}" --initrd "${MOD_RDGZ_FILE}" --command-line="${CMDLINE_LINE}" >"${LOG_FILE}" 2>&1 || dieLog
|
||||
else
|
||||
kexec -l "${MOD_ZIMAGE_FILE}" --initrd "${MOD_RDGZ_FILE}" --command-line="${CMDLINE_LINE}" >"${LOG_FILE}" 2>&1 || dieLog
|
||||
fi
|
||||
echo -e "\033[1;37m$(TEXT "Booting...")\033[0m"
|
||||
for T in $(w | grep -v "TTY" | awk -F' ' '{print $2}'); do
|
||||
echo -e "\n\033[1;43m$(TEXT "[This interface will not be operational. Please use the http://find.synology.com/ find DSM and connect.]")\033[0m\n" >"/dev/${T}" 2>/dev/null || true
|
||||
done
|
||||
KERNELWAY="$(readConfigKey "kernelway" "${USER_CONFIG_FILE}")"
|
||||
[ "${KERNELWAY}" = "kexec" ] && kexec -f -e || poweroff
|
||||
exit 0
|
16
files/board/arpl/overlayfs/opt/arpl/bzImage-to-vmlinux.sh
Executable file
16
files/board/arpl/overlayfs/opt/arpl/bzImage-to-vmlinux.sh
Executable file
@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
read_u8() {
|
||||
dd if=$1 bs=1 skip=$(($2)) count=1 2>/dev/null | od -An -tu1 | grep -Eo '[0-9]+'
|
||||
}
|
||||
read_u32() {
|
||||
dd if=$1 bs=1 skip=$(($2)) count=4 2>/dev/null | od -An -tu4 | grep -Eo '[0-9]+'
|
||||
}
|
||||
|
||||
set -x
|
||||
setup_size=$(read_u8 $1 0x1f1)
|
||||
payload_offset=$(read_u32 $1 0x248)
|
||||
payload_length=$(read_u32 $1 0x24c)
|
||||
inner_pos=$((($setup_size + 1) * 512))
|
||||
|
||||
tail -c+$(($inner_pos + 1)) $1 | tail -c+$(($payload_offset + 1)) | head -c $(($payload_length)) | head -c $(($payload_length - 4)) | unlzma >$2
|
42
files/board/arpl/overlayfs/opt/arpl/calc_run_size.sh
Executable file
42
files/board/arpl/overlayfs/opt/arpl/calc_run_size.sh
Executable file
@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# Calculate the amount of space needed to run the kernel, including room for
|
||||
# the .bss and .brk sections.
|
||||
#
|
||||
# Usage:
|
||||
# objdump -h a.out | sh calc_run_size.sh
|
||||
|
||||
NUM='\([0-9a-fA-F]*[ \t]*\)'
|
||||
OUT=$(sed -n 's/^[ \t0-9]*.b[sr][sk][ \t]*'"${NUM}${NUM}${NUM}${NUM}"'.*/\1\4/p')
|
||||
if [ -z "$OUT" ] ; then
|
||||
echo "Never found .bss or .brk file offset" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
OUT=$(echo ${OUT# })
|
||||
sizeA=$(printf "%d" 0x${OUT%% *})
|
||||
OUT=${OUT#* }
|
||||
offsetA=$(printf "%d" 0x${OUT%% *})
|
||||
OUT=${OUT#* }
|
||||
sizeB=$(printf "%d" 0x${OUT%% *})
|
||||
OUT=${OUT#* }
|
||||
offsetB=$(printf "%d" 0x${OUT%% *})
|
||||
|
||||
run_size=$(( ${offsetA} + ${sizeA} + ${sizeB} ))
|
||||
|
||||
# BFD linker shows the same file offset in ELF.
|
||||
if [ "${offsetA}" -ne "${offsetB}" ] ; then
|
||||
# Gold linker shows them as consecutive.
|
||||
endB=$(( ${offsetB} + ${sizeB} ))
|
||||
if [ "$endB" != "$run_size" ] ; then
|
||||
printf "sizeA: 0x%x\n" ${sizeA} >&2
|
||||
printf "offsetA: 0x%x\n" ${offsetA} >&2
|
||||
printf "sizeB: 0x%x\n" ${sizeB} >&2
|
||||
printf "offsetB: 0x%x\n" ${offsetB} >&2
|
||||
echo ".bss and .brk are non-contiguous" >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
printf "%d\n" ${run_size}
|
||||
exit 0
|
1
files/board/arpl/overlayfs/opt/arpl/depmod
Symbolic link
1
files/board/arpl/overlayfs/opt/arpl/depmod
Symbolic link
@ -0,0 +1 @@
|
||||
kmod
|
74
files/board/arpl/overlayfs/opt/arpl/include/addons.sh
Executable file
74
files/board/arpl/overlayfs/opt/arpl/include/addons.sh
Executable file
@ -0,0 +1,74 @@
|
||||
###############################################################################
|
||||
# Return list of available addons
|
||||
# 1 - Platform
|
||||
# 2 - Kernel Version
|
||||
function availableAddons() {
|
||||
while read D; do
|
||||
[ ! -f "${D}/manifest.yml" ] && continue
|
||||
ADDON=$(basename ${D})
|
||||
checkAddonExist "${ADDON}" "${1}" "${2}" || continue
|
||||
SYSTEM=$(readConfigKey "system" "${D}/manifest.yml")
|
||||
[ "${SYSTEM}" = "true" ] && continue
|
||||
DESC="$(readConfigKey "description" "${D}/manifest.yml")"
|
||||
echo -e "${ADDON}\t${DESC}"
|
||||
done < <(find "${ADDONS_PATH}" -maxdepth 1 -type d | sort)
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Check if addon exist
|
||||
# 1 - Addon id
|
||||
# 2 - Platform
|
||||
# 3 - Kernel Version
|
||||
# Return ERROR if not exists
|
||||
function checkAddonExist() {
|
||||
# First check generic files
|
||||
if [ -f "${ADDONS_PATH}/${1}/all.tgz" ]; then
|
||||
return 0 # OK
|
||||
fi
|
||||
# Now check specific platform file
|
||||
if [ -f "${ADDONS_PATH}/${1}/${2}-${3}.tgz" ]; then
|
||||
return 0 # OK
|
||||
fi
|
||||
return 1 # ERROR
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Install Addon into ramdisk image
|
||||
# 1 - Addon id
|
||||
function installAddon() {
|
||||
ADDON="${1}"
|
||||
mkdir -p "${TMP_PATH}/${ADDON}"
|
||||
HAS_FILES=0
|
||||
# First check generic files
|
||||
if [ -f "${ADDONS_PATH}/${ADDON}/all.tgz" ]; then
|
||||
tar -zxf "${ADDONS_PATH}/${ADDON}/all.tgz" -C "${TMP_PATH}/${ADDON}"
|
||||
HAS_FILES=1
|
||||
fi
|
||||
# Now check specific platform files
|
||||
if [ -f "${ADDONS_PATH}/${ADDON}/${PLATFORM}-${KVER}.tgz" ]; then
|
||||
tar -zxf "${ADDONS_PATH}/${ADDON}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/${ADDON}"
|
||||
HAS_FILES=1
|
||||
fi
|
||||
# If has files to copy, copy it, else return error
|
||||
[ ${HAS_FILES} -ne 1 ] && return 1
|
||||
cp "${TMP_PATH}/${ADDON}/install.sh" "${RAMDISK_PATH}/addons/${ADDON}.sh" 2>"${LOG_FILE}" || dieLog
|
||||
chmod +x "${RAMDISK_PATH}/addons/${ADDON}.sh"
|
||||
[ -d ${TMP_PATH}/${ADDON}/root ] && (cp -R "${TMP_PATH}/${ADDON}/root/"* "${RAMDISK_PATH}/" 2>"${LOG_FILE}" || dieLog)
|
||||
rm -rf "${TMP_PATH}/${ADDON}"
|
||||
return 0
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Untar an addon to correct path
|
||||
# 1 - Addon file path
|
||||
# Return name of addon on sucess or empty on error
|
||||
function untarAddon() {
|
||||
rm -rf "${TMP_PATH}/addon"
|
||||
mkdir -p "${TMP_PATH}/addon"
|
||||
tar -xaf "${1}" -C "${TMP_PATH}/addon" || return
|
||||
ADDON=$(readConfigKey "name" "${TMP_PATH}/addon/manifest.yml")
|
||||
[ -z "${ADDON}" ] && return
|
||||
rm -rf "${ADDONS_PATH}/${ADDON}"
|
||||
mv "${TMP_PATH}/addon" "${ADDONS_PATH}/${ADDON}"
|
||||
echo "${ADDON}"
|
||||
}
|
53
files/board/arpl/overlayfs/opt/arpl/include/configFile.sh
Normal file
53
files/board/arpl/overlayfs/opt/arpl/include/configFile.sh
Normal file
@ -0,0 +1,53 @@
|
||||
###############################################################################
|
||||
# Delete a key in config file
|
||||
# 1 - Path of Key
|
||||
# 2 - Path of yaml config file
|
||||
function deleteConfigKey() {
|
||||
yq eval 'del(.'${1}')' --inplace "${2}"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Write to yaml config file
|
||||
# 1 - Path of Key
|
||||
# 2 - Value
|
||||
# 3 - Path of yaml config file
|
||||
function writeConfigKey() {
|
||||
[ "${2}" = "{}" ] && yq eval '.'${1}' = {}' --inplace "${3}" || yq eval '.'${1}' = "'"${2}"'"' --inplace "${3}"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Read key value from yaml config file
|
||||
# 1 - Path of key
|
||||
# 2 - Path of yaml config file
|
||||
# Return Value
|
||||
function readConfigKey() {
|
||||
RESULT=$(yq eval '.'${1}' | explode(.)' "${2}")
|
||||
[ "${RESULT}" == "null" ] && echo "" || echo ${RESULT}
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Read Entries as map(key=value) from yaml config file
|
||||
# 1 - Path of key
|
||||
# 2 - Path of yaml config file
|
||||
# Returns map of values
|
||||
function readConfigMap() {
|
||||
yq eval '.'${1}' | explode(.) | to_entries | map([.key, .value] | join(": ")) | .[]' "${2}"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Read an array from yaml config file
|
||||
# 1 - Path of key
|
||||
# 2 - Path of yaml config file
|
||||
# Returns array/map of values
|
||||
function readConfigArray() {
|
||||
yq eval '.'${1}'[]' "${2}"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Read Entries as array from yaml config file
|
||||
# 1 - Path of key
|
||||
# 2 - Path of yaml config file
|
||||
# Returns array of values
|
||||
function readConfigEntriesArray() {
|
||||
yq eval '.'${1}' | explode(.) | to_entries | map([.key])[] | .[]' "${2}"
|
||||
}
|
27
files/board/arpl/overlayfs/opt/arpl/include/consts.sh
Normal file
27
files/board/arpl/overlayfs/opt/arpl/include/consts.sh
Normal file
@ -0,0 +1,27 @@
|
||||
ARPL_VERSION="23.8.1"
|
||||
ARPL_TITLE="ARPL-i18n v${ARPL_VERSION}"
|
||||
|
||||
# Define paths
|
||||
TMP_PATH="/tmp"
|
||||
UNTAR_PAT_PATH="${TMP_PATH}/pat"
|
||||
RAMDISK_PATH="${TMP_PATH}/ramdisk"
|
||||
LOG_FILE="${TMP_PATH}/log.txt"
|
||||
|
||||
USER_CONFIG_FILE="${BOOTLOADER_PATH}/user-config.yml"
|
||||
GRUB_PATH="${BOOTLOADER_PATH}/boot/grub"
|
||||
|
||||
ORI_ZIMAGE_FILE="${SLPART_PATH}/zImage"
|
||||
ORI_RDGZ_FILE="${SLPART_PATH}/rd.gz"
|
||||
|
||||
ARPL_BZIMAGE_FILE="${CACHE_PATH}/bzImage-arpl"
|
||||
ARPL_RAMDISK_FILE="${CACHE_PATH}/initrd-arpl"
|
||||
MOD_ZIMAGE_FILE="${CACHE_PATH}/zImage-dsm"
|
||||
MOD_RDGZ_FILE="${CACHE_PATH}/initrd-dsm"
|
||||
ADDONS_PATH="${CACHE_PATH}/addons"
|
||||
LKM_PATH="${CACHE_PATH}/lkms"
|
||||
MODULES_PATH="${CACHE_PATH}/modules"
|
||||
USER_UP_PATH="${CACHE_PATH}/users"
|
||||
|
||||
MODEL_CONFIG_PATH="/opt/arpl/model-configs"
|
||||
INCLUDE_PATH="/opt/arpl/include"
|
||||
PATCH_PATH="/opt/arpl/patch"
|
193
files/board/arpl/overlayfs/opt/arpl/include/functions.sh
Normal file
193
files/board/arpl/overlayfs/opt/arpl/include/functions.sh
Normal file
@ -0,0 +1,193 @@
|
||||
. /opt/arpl/include/i18n.sh
|
||||
. /opt/arpl/include/consts.sh
|
||||
. /opt/arpl/include/configFile.sh
|
||||
|
||||
###############################################################################
|
||||
# Read key value from model config file
|
||||
# 1 - Model
|
||||
# 2 - Key
|
||||
# Return Value
|
||||
function readModelKey() {
|
||||
readConfigKey "${2}" "${MODEL_CONFIG_PATH}/${1}.yml"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Read Entries as map(key=value) from model config
|
||||
# 1 - Model
|
||||
# 2 - Path of key
|
||||
# Returns map of values
|
||||
function readModelMap() {
|
||||
readConfigMap "${2}" "${MODEL_CONFIG_PATH}/${1}.yml"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Read an array from model config
|
||||
# 1 - Model
|
||||
# 2 - Path of key
|
||||
# Returns array/map of values
|
||||
function readModelArray() {
|
||||
readConfigArray "${2}" "${MODEL_CONFIG_PATH}/${1}.yml"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Check if loader is fully configured
|
||||
# Returns 1 if not
|
||||
function loaderIsConfigured() {
|
||||
SN="$(readConfigKey "sn" "${USER_CONFIG_FILE}")"
|
||||
[ -z "${SN}" ] && return 1
|
||||
[ ! -f "${MOD_ZIMAGE_FILE}" ] && return 1
|
||||
[ ! -f "${MOD_RDGZ_FILE}" ] && return 1
|
||||
return 0 # OK
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Just show error message and dies
|
||||
function die() {
|
||||
echo -e "\033[1;41m$@\033[0m"
|
||||
exit 1
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Show error message with log content and dies
|
||||
function dieLog() {
|
||||
echo -en "\n\033[1;41mUNRECOVERY ERROR: "
|
||||
cat "${LOG_FILE}"
|
||||
echo -e "\033[0m"
|
||||
sleep 3
|
||||
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}
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# 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
|
||||
echo 0
|
||||
return
|
||||
fi
|
||||
echo ${PREFIX} | grep -q ${S}
|
||||
if [ $? -eq 1 ]; then
|
||||
echo 0
|
||||
return
|
||||
fi
|
||||
if [ "${MIDDLE}" != "${P}" ]; then
|
||||
echo 0
|
||||
return
|
||||
fi
|
||||
echo 1
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Check if a item exists into array
|
||||
# 1 - Item
|
||||
# 2.. - Array
|
||||
# Return 0 if exists
|
||||
function arrayExistItem() {
|
||||
EXISTS=1
|
||||
ITEM="${1}"
|
||||
shift
|
||||
for i in "$@"; do
|
||||
[ "${i}" = "${ITEM}" ] || continue
|
||||
EXISTS=0
|
||||
break
|
||||
done
|
||||
return ${EXISTS}
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Get values in .conf K=V file
|
||||
# 1 - key
|
||||
# 2 - file
|
||||
function _get_conf_kv() {
|
||||
grep "${1}" "${2}" | sed "s|^${1}=\"\(.*\)\"$|\1|g"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Replace/remove/add values in .conf K=V file
|
||||
# 1 - name
|
||||
# 2 - new_val
|
||||
# 3 - path
|
||||
function _set_conf_kv() {
|
||||
# Delete
|
||||
if [ -z "$2" ]; then
|
||||
sed -i "$3" -e "s/^$1=.*$//"
|
||||
return $?
|
||||
fi
|
||||
|
||||
# Replace
|
||||
if grep -q "^$1=" "$3"; then
|
||||
sed -i "$3" -e "s\"^$1=.*\"$1=\\\"$2\\\"\""
|
||||
return $?
|
||||
fi
|
||||
|
||||
# Add if doesn't exist
|
||||
echo "$1=\"$2\"" >>$3
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Find and mount the DSM root filesystem
|
||||
# (based on pocopico's TCRP code)
|
||||
function findAndMountDSMRoot() {
|
||||
[ $(mount | grep -i "${DSMROOT_PATH}" | wc -l) -gt 0 ] && return 0
|
||||
dsmrootdisk="$(blkid /dev/sd* | grep -i raid | awk '{print $1 " " $4}' | grep UUID | grep sd[a-z]1 | head -1 | awk -F ":" '{print $1}')"
|
||||
[ -z "${dsmrootdisk}" ] && return -1
|
||||
[ $(mount | grep -i "${DSMROOT_PATH}" | wc -l) -eq 0 ] && mount -t ext4 $dsmrootdisk "${DSMROOT_PATH}"
|
||||
if [ $(mount | grep -i "${DSMROOT_PATH}" | wc -l) -eq 0 ]; then
|
||||
echo "Failed to mount"
|
||||
return -1
|
||||
fi
|
||||
return 0
|
||||
}
|
6
files/board/arpl/overlayfs/opt/arpl/include/i18n.sh
Normal file
6
files/board/arpl/overlayfs/opt/arpl/include/i18n.sh
Normal file
@ -0,0 +1,6 @@
|
||||
if [ -f ${BOOTLOADER_PATH}/.locale ]; then
|
||||
export LANG="$(cat ${BOOTLOADER_PATH}/.locale)"
|
||||
fi
|
||||
|
||||
alias TEXT='gettext "arpl"'
|
||||
shopt -s expand_aliases
|
84
files/board/arpl/overlayfs/opt/arpl/include/modules.sh
Normal file
84
files/board/arpl/overlayfs/opt/arpl/include/modules.sh
Normal file
@ -0,0 +1,84 @@
|
||||
###############################################################################
|
||||
# Return list of all modules available
|
||||
# 1 - Platform
|
||||
# 2 - Kernel Version
|
||||
function getAllModules() {
|
||||
PLATFORM=${1}
|
||||
KVER=${2}
|
||||
# Unzip modules for temporary folder
|
||||
rm -rf "${TMP_PATH}/modules"
|
||||
mkdir -p "${TMP_PATH}/modules"
|
||||
tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||
# Get list of all modules
|
||||
for F in $(ls ${TMP_PATH}/modules/*.ko); do
|
||||
X=$(basename ${F})
|
||||
M=${X:0:-3}
|
||||
DESC=$(modinfo ${F} | awk -F':' '/description:/{ print $2}' | awk '{sub(/^[ ]+/,""); print}')
|
||||
[ -z "${DESC}" ] && DESC="${X}"
|
||||
echo "${M} \"${DESC}\""
|
||||
done
|
||||
rm -rf "${TMP_PATH}/modules"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# add a ko of modules.tgz
|
||||
# 1 - Platform
|
||||
# 2 - Kernel Version
|
||||
# 3 - ko file
|
||||
function addToModules() {
|
||||
PLATFORM=${1}
|
||||
KVER=${2}
|
||||
KOFILE=${3}
|
||||
# Unzip modules for temporary folder
|
||||
rm -rf "${TMP_PATH}/modules"
|
||||
mkdir -p "${TMP_PATH}/modules"
|
||||
tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||
cp -f ${KOFILE} ${TMP_PATH}/modules
|
||||
tar -zcf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules" .
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# del a ko of modules.tgz
|
||||
# 1 - Platform
|
||||
# 2 - Kernel Version
|
||||
# 3 - ko name
|
||||
function delToModules() {
|
||||
PLATFORM=${1}
|
||||
KVER=${2}
|
||||
KONAME=${3}
|
||||
# Unzip modules for temporary folder
|
||||
rm -rf "${TMP_PATH}/modules"
|
||||
mkdir -p "${TMP_PATH}/modules"
|
||||
tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||
rm -f ${TMP_PATH}/modules/${KONAME}
|
||||
tar -zcf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules" .
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# get depends of ko
|
||||
# 1 - Platform
|
||||
# 2 - Kernel Version
|
||||
# 3 - ko name
|
||||
function getdepends() {
|
||||
function _getdepends() {
|
||||
if [ -f "${TMP_PATH}/modules/${1}.ko" ]; then
|
||||
depends=($(modinfo "${TMP_PATH}/modules/${1}.ko" | grep depends: | awk -F: '{print $2}' | awk '$1=$1' | sed 's/,/ /g'))
|
||||
if [ ${#depends[*]} -gt 0 ]; then
|
||||
for k in ${depends[@]}; do
|
||||
echo "${k}"
|
||||
_getdepends "${k}"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
}
|
||||
PLATFORM=${1}
|
||||
KVER=${2}
|
||||
KONAME=${3}
|
||||
# Unzip modules for temporary folder
|
||||
rm -rf "${TMP_PATH}/modules"
|
||||
mkdir -p "${TMP_PATH}/modules"
|
||||
tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules"
|
||||
DPS=($(_getdepends ${KONAME} | tr ' ' '\n' | sort -u))
|
||||
echo ${DPS[@]}
|
||||
rm -rf "${TMP_PATH}/modules"
|
||||
}
|
248
files/board/arpl/overlayfs/opt/arpl/init.sh
Executable file
248
files/board/arpl/overlayfs/opt/arpl/init.sh
Executable file
@ -0,0 +1,248 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
. /opt/arpl/include/functions.sh
|
||||
|
||||
# Wait kernel enumerate the disks
|
||||
CNT=3
|
||||
while true; do
|
||||
[ ${CNT} -eq 0 ] && break
|
||||
LOADER_DISK="$(blkid | grep 'LABEL="ARPL3"' | cut -d3 -f1)"
|
||||
[ -n "${LOADER_DISK}" ] && break
|
||||
CNT=$((${CNT} - 1))
|
||||
sleep 1
|
||||
done
|
||||
|
||||
[ -z "${LOADER_DISK}" ] && die "$(TEXT "Loader disk not found!")"
|
||||
NUM_PARTITIONS=$(blkid | grep "${LOADER_DISK}[0-9]\+" | cut -d: -f1 | wc -l)
|
||||
[ $NUM_PARTITIONS -lt 3 ] && die "$(TEXT "Loader disk seems to be damaged!")"
|
||||
[ $NUM_PARTITIONS -gt 3 ] && die "$(TEXT "There are multiple loader disks, please insert only one loader disk!")"
|
||||
|
||||
# Check partitions and ignore errors
|
||||
fsck.vfat -aw ${LOADER_DISK}1 >/dev/null 2>&1 || true
|
||||
fsck.ext2 -p ${LOADER_DISK}2 >/dev/null 2>&1 || true
|
||||
fsck.ext4 -p ${LOADER_DISK}3 >/dev/null 2>&1 || true
|
||||
# Make folders to mount partitions
|
||||
mkdir -p ${BOOTLOADER_PATH}
|
||||
mkdir -p ${SLPART_PATH}
|
||||
mkdir -p ${CACHE_PATH}
|
||||
mkdir -p ${DSMROOT_PATH}
|
||||
# Mount the partitions
|
||||
mount ${LOADER_DISK}1 ${BOOTLOADER_PATH} || die "$(printf "$(TEXT "Can't mount %s")" "${BOOTLOADER_PATH}")"
|
||||
mount ${LOADER_DISK}2 ${SLPART_PATH} || die "$(printf "$(TEXT "Can't mount %s")" "${SLPART_PATH}")"
|
||||
mount ${LOADER_DISK}3 ${CACHE_PATH} || die "$(printf "$(TEXT "Can't mount %s")" "${CACHE_PATH}")"
|
||||
|
||||
# Although i18n.sh is included in functions.sh, but i18n.sh dependent ${BOOTLOADER_PATH}/${LOADER_DISK}1, so need to call it again.
|
||||
. /opt/arpl/include/i18n.sh
|
||||
|
||||
# Shows title
|
||||
clear
|
||||
TITLE="$(printf "$(TEXT "Welcome to %s")" "${ARPL_TITLE}")"
|
||||
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}"
|
||||
printf "\033[1;44m%*s\033[0m\n" $COLUMNS ""
|
||||
|
||||
# Move/link SSH machine keys to/from cache volume
|
||||
[ ! -d "${CACHE_PATH}/ssh" ] && cp -R "/etc/ssh" "${CACHE_PATH}/ssh"
|
||||
rm -rf "/etc/ssh"
|
||||
ln -s "${CACHE_PATH}/ssh" "/etc/ssh"
|
||||
# Link bash history to cache volume
|
||||
rm -rf ~/.bash_history
|
||||
ln -s ${CACHE_PATH}/.bash_history ~/.bash_history
|
||||
touch ~/.bash_history
|
||||
if ! grep -q "menu.sh" ~/.bash_history; then
|
||||
echo "menu.sh " >>~/.bash_history
|
||||
fi
|
||||
# Check if exists directories into P3 partition, if yes remove and link it
|
||||
if [ -d "${CACHE_PATH}/model-configs" ]; then
|
||||
rm -rf "${MODEL_CONFIG_PATH}"
|
||||
ln -s "${CACHE_PATH}/model-configs" "${MODEL_CONFIG_PATH}"
|
||||
fi
|
||||
|
||||
if [ -d "${CACHE_PATH}/patch" ]; then
|
||||
rm -rf "${PATCH_PATH}"
|
||||
ln -s "${CACHE_PATH}/patch" "${PATCH_PATH}"
|
||||
fi
|
||||
|
||||
# Get first MAC address
|
||||
ETHX=($(ls /sys/class/net/ | grep eth)) # real network cards list
|
||||
# No network devices
|
||||
[ ${#ETHX[@]} -le 0 ] && die "$(TEXT "Network devices not found!")"
|
||||
|
||||
# If user config file not exists, initialize it
|
||||
if [ ! -f "${USER_CONFIG_FILE}" ]; then
|
||||
touch "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "lkm" "prod" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "directboot" "false" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "notsetmacs" "false" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "bootipwait" "10" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "kernelway" "power" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "model" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "productver" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "buildnum" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "smallnum" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "paturl" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "patsum" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "sn" "" "${USER_CONFIG_FILE}"
|
||||
# writeConfigKey "maxdisks" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "layout" "qwerty" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "keymap" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "zimage-hash" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "ramdisk-hash" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "cmdline" "{}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "addons" "{}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "addons.misc" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "addons.acpid" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "addons.reboottoarpl" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
# When the user has not customized, Use 1 to maintain normal startup parameters.
|
||||
# writeConfigKey "cmdline.netif_num" "1" "${USER_CONFIG_FILE}"
|
||||
# writeConfigKey "cmdline.mac1" "`cat /sys/class/net/${ETHX[0]}/address | sed 's/://g'`" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
|
||||
for N in $(seq 1 ${#ETHX[@]}); do
|
||||
MACR="$(cat /sys/class/net/${ETHX[$(expr ${N} - 1)]}/address | sed 's/://g')"
|
||||
# Set custom MAC if defined
|
||||
MACF="$(readConfigKey "cmdline.mac${N}" "${USER_CONFIG_FILE}")"
|
||||
if [ -n "${MACF}" -a "${MACF}" != "${MACR}" ]; then
|
||||
MAC="${MACF:0:2}:${MACF:2:2}:${MACF:4:2}:${MACF:6:2}:${MACF:8:2}:${MACF:10:2}"
|
||||
echo "$(printf "$(TEXT "Setting %s MAC to %s")" "${ETHX[$(expr ${N} - 1)]}" "${MAC}")"
|
||||
ip link set dev ${ETHX[$(expr ${N} - 1)]} address ${MAC} >/dev/null 2>&1 &&
|
||||
(/etc/init.d/S41dhcpcd restart >/dev/null 2>&1 &) || true
|
||||
fi
|
||||
# Initialize with real MAC
|
||||
writeConfigKey "original-mac${N}" "${MACR}" "${USER_CONFIG_FILE}"
|
||||
# Enable Wake on Lan, ignore errors
|
||||
ethtool -s ${ETHX[$(expr ${N} - 1)]} wol g 2>/dev/null
|
||||
done
|
||||
|
||||
# Get the VID/PID if we are in USB
|
||||
VID="0x0000"
|
||||
PID="0x0000"
|
||||
BUS=$(udevadm info --query property --name ${LOADER_DISK} | grep ID_BUS | cut -d= -f2)
|
||||
if [ "${BUS}" = "usb" ]; then
|
||||
VID="0x$(udevadm info --query property --name ${LOADER_DISK} | grep ID_VENDOR_ID | cut -d= -f2)"
|
||||
PID="0x$(udevadm info --query property --name ${LOADER_DISK} | grep ID_MODEL_ID | cut -d= -f2)"
|
||||
elif [ "${BUS}" != "ata" ]; then
|
||||
die "$(TEXT "Loader disk neither USB or DoM")"
|
||||
fi
|
||||
|
||||
# Save variables to user config file
|
||||
writeConfigKey "vid" ${VID} "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "pid" ${PID} "${USER_CONFIG_FILE}"
|
||||
|
||||
# Inform user
|
||||
echo -en "$(TEXT "Loader disk:") \033[1;32m${LOADER_DISK}\033[0m ("
|
||||
if [ "${BUS}" = "usb" ]; then
|
||||
echo -en "\033[1;32mUSB flashdisk\033[0m"
|
||||
else
|
||||
echo -en "\033[1;32mSATA DoM\033[0m"
|
||||
fi
|
||||
echo ")"
|
||||
|
||||
# Check if partition 3 occupies all free space, resize if needed
|
||||
LOADER_DEVICE_NAME=$(echo ${LOADER_DISK} | sed 's|/dev/||')
|
||||
SIZEOFDISK=$(cat /sys/block/${LOADER_DEVICE_NAME}/size)
|
||||
ENDSECTOR=$(($(fdisk -l ${LOADER_DISK} | awk '/'${LOADER_DEVICE_NAME}3'/{print$3}') + 1))
|
||||
if [ ${SIZEOFDISK} -ne ${ENDSECTOR} ]; then
|
||||
echo -e "\033[1;36m$(printf "$(TEXT "Resizing %s")" "${LOADER_DISK}3")\033[0m"
|
||||
echo -e "d\n\nn\n\n\n\n\nn\nw" | fdisk "${LOADER_DISK}" >"${LOG_FILE}" 2>&1 || dieLog
|
||||
resize2fs ${LOADER_DISK}3 >"${LOG_FILE}" 2>&1 || dieLog
|
||||
fi
|
||||
|
||||
# Load keymap name
|
||||
LAYOUT="$(readConfigKey "layout" "${USER_CONFIG_FILE}")"
|
||||
KEYMAP="$(readConfigKey "keymap" "${USER_CONFIG_FILE}")"
|
||||
|
||||
# Loads a keymap if is valid
|
||||
if [ -f /usr/share/keymaps/i386/${LAYOUT}/${KEYMAP}.map.gz ]; then
|
||||
echo -e "$(TEXT "Loading keymap") \033[1;32m${LAYOUT}/${KEYMAP}\033[0m"
|
||||
zcat /usr/share/keymaps/i386/${LAYOUT}/${KEYMAP}.map.gz | loadkeys
|
||||
fi
|
||||
|
||||
# Decide if boot automatically
|
||||
BOOT=1
|
||||
if ! loaderIsConfigured; then
|
||||
echo -e "\033[1;33m$(TEXT "Loader is not configured!")\033[0m"
|
||||
BOOT=0
|
||||
elif grep -q "IWANTTOCHANGETHECONFIG" /proc/cmdline; then
|
||||
echo -e "\033[1;33m$(TEXT "User requested edit settings.")\033[0m"
|
||||
BOOT=0
|
||||
fi
|
||||
|
||||
# If is to boot automatically, do it
|
||||
if [ ${BOOT} -eq 1 ]; then
|
||||
boot.sh && exit 0
|
||||
fi
|
||||
|
||||
# Wait for an IP
|
||||
echo "$(printf "$(TEXT "Detected %s network cards.")" "${#ETHX[@]}")"
|
||||
echo "$(TEXT "Checking Connect.")"
|
||||
COUNT=0
|
||||
while [ ${COUNT} -lt 30 ]; do
|
||||
hasConnect="false"
|
||||
for N in $(seq 0 $(expr ${#ETHX[@]} - 1)); do
|
||||
if ethtool ${ETHX[${N}]} | grep 'Link detected' | grep -q 'yes'; then
|
||||
echo -en "${ETHX[${N}]} "
|
||||
hasConnect="true"
|
||||
fi
|
||||
done
|
||||
if [ ${hasConnect} = "true" ]; then
|
||||
echo -en "connected.\n"
|
||||
break
|
||||
fi
|
||||
COUNT=$((${COUNT} + 1))
|
||||
echo -n "."
|
||||
sleep 1
|
||||
done
|
||||
echo "$(TEXT "Waiting IP.")"
|
||||
for N in $(seq 0 $(expr ${#ETHX[@]} - 1)); do
|
||||
COUNT=0
|
||||
DRIVER=$(ls -ld /sys/class/net/${ETHX[${N}]}/device/driver 2>/dev/null | awk -F '/' '{print $NF}')
|
||||
echo -en "${ETHX[${N}]}(${DRIVER}): "
|
||||
while true; do
|
||||
if ! ip link show ${ETHX[${N}]} | grep -q 'UP'; then
|
||||
echo -en "\r${ETHX[${N}]}(${DRIVER}): $(TEXT "DOWN")\n"
|
||||
break
|
||||
fi
|
||||
if ethtool ${ETHX[${N}]} | grep 'Link detected' | grep -q 'no'; then
|
||||
echo -en "\r${ETHX[${N}]}(${DRIVER}): $(TEXT "NOT CONNECTED")\n"
|
||||
break
|
||||
fi
|
||||
if [ ${COUNT} -eq 15 ]; then
|
||||
echo -en "\r${ETHX[${N}]}(${DRIVER}): $(TEXT "TIMEOUT")\n"
|
||||
break
|
||||
fi
|
||||
COUNT=$((${COUNT} + 1))
|
||||
IP=$(ip route show dev ${ETHX[${N}]} 2>/dev/null | sed -n 's/.* via .* src \(.*\) metric .*/\1/p')
|
||||
if [ -n "${IP}" ]; then
|
||||
echo -en "\r${ETHX[${N}]}(${DRIVER}): $(printf "$(TEXT "Access \033[1;34mhttp://%s:7681\033[0m to configure the loader via web terminal.")" "${IP}")\n"
|
||||
break
|
||||
fi
|
||||
echo -n "."
|
||||
sleep 1
|
||||
done
|
||||
done
|
||||
|
||||
# Inform user
|
||||
echo
|
||||
echo -e "$(TEXT "Call \033[1;32mmenu.sh\033[0m to configure loader")"
|
||||
echo
|
||||
echo -e "$(TEXT "User config is on") \033[1;32m${USER_CONFIG_FILE}\033[0m"
|
||||
echo -e "$(TEXT "Default SSH Root password is") \033[1;31marpl\033[0m"
|
||||
echo
|
||||
|
||||
# Check memory
|
||||
RAM=$(free -m | awk '/Mem:/{print$2}')
|
||||
if [ ${RAM} -le 3500 ]; then
|
||||
echo -e "\033[1;33m$(TEXT "You have less than 4GB of RAM, if errors occur in loader creation, please increase the amount of memory.")\033[0m\n"
|
||||
fi
|
||||
|
||||
mkdir -p "${ADDONS_PATH}"
|
||||
mkdir -p "${LKM_PATH}"
|
||||
mkdir -p "${MODULES_PATH}"
|
||||
|
||||
install-addons.sh
|
15
files/board/arpl/overlayfs/opt/arpl/install-addons.sh
Executable file
15
files/board/arpl/overlayfs/opt/arpl/install-addons.sh
Executable file
@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
. /opt/arpl/include/functions.sh
|
||||
|
||||
# Detect if has new local plugins to install/reinstall
|
||||
for F in $(ls ${CACHE_PATH}/*.addon 2>/dev/null); do
|
||||
ADDON=$(basename "${F}" | sed 's|.addon||')
|
||||
rm -rf "${ADDONS_PATH}/${ADDON}"
|
||||
mkdir -p "${ADDONS_PATH}/${ADDON}"
|
||||
echo "Installing ${F} to ${ADDONS_PATH}/${ADDON}"
|
||||
tar -xaf "${F}" -C "${ADDONS_PATH}/${ADDON}"
|
||||
rm -f "${F}"
|
||||
done
|
BIN
files/board/arpl/overlayfs/opt/arpl/kmod
Executable file
BIN
files/board/arpl/overlayfs/opt/arpl/kmod
Executable file
Binary file not shown.
BIN
files/board/arpl/overlayfs/opt/arpl/kpatch
Executable file
BIN
files/board/arpl/overlayfs/opt/arpl/kpatch
Executable file
Binary file not shown.
1135
files/board/arpl/overlayfs/opt/arpl/lang/arpl.pot
Normal file
1135
files/board/arpl/overlayfs/opt/arpl/lang/arpl.pot
Normal file
File diff suppressed because it is too large
Load Diff
BIN
files/board/arpl/overlayfs/opt/arpl/lang/zh_CN.mo
Normal file
BIN
files/board/arpl/overlayfs/opt/arpl/lang/zh_CN.mo
Normal file
Binary file not shown.
1134
files/board/arpl/overlayfs/opt/arpl/lang/zh_CN.po
Normal file
1134
files/board/arpl/overlayfs/opt/arpl/lang/zh_CN.po
Normal file
File diff suppressed because it is too large
Load Diff
1935
files/board/arpl/overlayfs/opt/arpl/menu.sh
Executable file
1935
files/board/arpl/overlayfs/opt/arpl/menu.sh
Executable file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,87 @@
|
||||
id: "DS1019+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_leds_lp3943: ""
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
esataportcfg: "0x00"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 0
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
platform: "apollolake"
|
||||
unique: "synology_apollolake_1019+"
|
||||
serial:
|
||||
prefix:
|
||||
- "1850"
|
||||
middle: "QXR"
|
||||
suffix: "numeric"
|
||||
flags:
|
||||
- "movbe"
|
||||
dom: 2
|
||||
dt: false
|
||||
disks: 4
|
||||
beta: true
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "4.4.59"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
@ -0,0 +1,81 @@
|
||||
id: "DS1520+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
cmdline: &cmdline
|
||||
intel_iommu: "igfx_off"
|
||||
synoboot2:
|
||||
HddEnableDynamicPower: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
platform: "geminilake"
|
||||
unique: "synology_geminilake_1520+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2060"
|
||||
middle: "RYR"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
disks: 6
|
||||
beta: true
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "4.4.59"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
@ -0,0 +1,82 @@
|
||||
id: "DS1621+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 0
|
||||
synoboot2:
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
SMBusHddDynamicPower: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
platform: "v1000"
|
||||
unique: "synology_v1000_1621+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2080"
|
||||
middle: "S7R"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
disks: 6
|
||||
beta: false
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "4.4.59"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
@ -0,0 +1,85 @@
|
||||
id: "DS1621xs+"
|
||||
synoinfo: &synoinfo
|
||||
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:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
esataportcfg: "0x00"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 0
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
platform: "broadwellnk"
|
||||
unique: "synology_broadwellnk_1621xs+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2080"
|
||||
middle: "S7R"
|
||||
suffix: "alpha"
|
||||
dom: 1
|
||||
dt: false
|
||||
disks: 6
|
||||
beta: true
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "4.4.59"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
@ -0,0 +1,85 @@
|
||||
id: "DS1819+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "yes"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
supportnvme: "yes"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
esataportcfg: "0x00"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 0
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
platform: "denverton"
|
||||
unique: "synology_denverton_1819+"
|
||||
serial:
|
||||
prefix:
|
||||
- "1890"
|
||||
middle: "R5R"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: false
|
||||
disks: 8
|
||||
beta: false
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "4.4.59"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
@ -0,0 +1,82 @@
|
||||
id: "DS1821+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 0
|
||||
synoboot2:
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
SMBusHddDynamicPower: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
platform: "v1000"
|
||||
unique: "synology_v1000_1821+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2110"
|
||||
middle: "SKR"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
disks: 8
|
||||
beta: false
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "4.4.59"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
@ -0,0 +1,55 @@
|
||||
id: "DS1823xs+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
supportssdcache: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
synoboot2:
|
||||
syno_hdd_detect: 0
|
||||
SMBusHddDynamicPower: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
platform: "v1000"
|
||||
unique: "synology_v1000_1823xs+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2280"
|
||||
middle: "V5R"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
disks: 12
|
||||
beta: false
|
||||
productvers:
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
@ -0,0 +1,85 @@
|
||||
id: "DS2419+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "yes"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
supportnvme: "yes"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
esataportcfg: "0x00"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 0
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
platform: "denverton"
|
||||
unique: "synology_denverton_2419+"
|
||||
serial:
|
||||
prefix:
|
||||
- "1880"
|
||||
middle: "QZA"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: false
|
||||
disks: 8
|
||||
beta: true
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "4.4.59"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
@ -0,0 +1,69 @@
|
||||
id: "DS2422+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
supportssdcache: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
synoboot2:
|
||||
syno_hdd_detect: 0
|
||||
SMBusHddDynamicPower: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
platform: "v1000"
|
||||
unique: "synology_v1000_2422+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2140"
|
||||
- "2180"
|
||||
middle: "SLR"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
disks: 12
|
||||
beta: false
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
@ -0,0 +1,74 @@
|
||||
id: "DS3615xs"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
supportssdcache: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
esataportcfg: "0x00"
|
||||
usbportcfg: "0x8700"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 0
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
platform: "bromolow"
|
||||
unique: "synology_bromolow_3615xs"
|
||||
serial:
|
||||
prefix:
|
||||
- "1130"
|
||||
- "1230"
|
||||
- "1330"
|
||||
- "1430"
|
||||
middle: "LWN"
|
||||
suffix: "numeric"
|
||||
dom: 1
|
||||
dt: false
|
||||
disks: 12
|
||||
beta: true
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "3.10.105"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "3.10.108"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "3.10.108"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
@ -0,0 +1,88 @@
|
||||
id: "DS3617xs"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
supportssdcache: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
esataportcfg: "0x00"
|
||||
usbportcfg: "0x8700"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 0
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
platform: "broadwell"
|
||||
unique: "synology_broadwell_3617xs"
|
||||
serial:
|
||||
prefix:
|
||||
- "1130"
|
||||
- "1230"
|
||||
- "1330"
|
||||
- "1430"
|
||||
middle: "ODN"
|
||||
suffix: "numeric"
|
||||
dom: 1
|
||||
dt: false
|
||||
disks: 12
|
||||
beta: true
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "3.10.105"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
@ -0,0 +1,74 @@
|
||||
id: "DS3622xs+"
|
||||
synoinfo: &synoinfo
|
||||
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:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
esataportcfg: "0x00"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 0
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
platform: "broadwellnk"
|
||||
unique: "synology_broadwellnk_3622xs+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2030"
|
||||
- "2040"
|
||||
- "20C0"
|
||||
- "2150"
|
||||
middle: "SQR"
|
||||
suffix: "alpha"
|
||||
dom: 1
|
||||
dt: false
|
||||
disks: 12
|
||||
beta: false
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
56
files/board/arpl/overlayfs/opt/arpl/model-configs/DS423+.yml
Normal file
56
files/board/arpl/overlayfs/opt/arpl/model-configs/DS423+.yml
Normal file
@ -0,0 +1,56 @@
|
||||
id: "DS423+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
esataportcfg: "0x00"
|
||||
cmdline: &cmdline
|
||||
intel_iommu: "igfx_off"
|
||||
synoboot2:
|
||||
HddEnableDynamicPower: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
platform: "geminilake"
|
||||
unique: "synology_geminilake_423+"
|
||||
serial:
|
||||
prefix:
|
||||
- "22A0"
|
||||
middle: "VKR"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
disks: 4
|
||||
beta: false
|
||||
productvers:
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
87
files/board/arpl/overlayfs/opt/arpl/model-configs/DS718+.yml
Normal file
87
files/board/arpl/overlayfs/opt/arpl/model-configs/DS718+.yml
Normal file
@ -0,0 +1,87 @@
|
||||
id: "DS718+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_leds_lp3943: ""
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
esataportcfg: "0x00"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 0
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
platform: "apollolake"
|
||||
unique: "synology_apollolake_718+"
|
||||
serial:
|
||||
prefix:
|
||||
- "1930"
|
||||
middle: "PEN"
|
||||
suffix: "numeric"
|
||||
flags:
|
||||
- "movbe"
|
||||
dom: 2
|
||||
dt: false
|
||||
disks: 4
|
||||
beta: true
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "4.4.59"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
84
files/board/arpl/overlayfs/opt/arpl/model-configs/DS720+.yml
Normal file
84
files/board/arpl/overlayfs/opt/arpl/model-configs/DS720+.yml
Normal file
@ -0,0 +1,84 @@
|
||||
id: "DS720+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
cmdline: &cmdline
|
||||
intel_iommu: "igfx_off"
|
||||
synoboot2:
|
||||
HddEnableDynamicPower: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
platform: "geminilake"
|
||||
unique: "synology_geminilake_720+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2030"
|
||||
- "2040"
|
||||
- "20C0"
|
||||
- "2150"
|
||||
middle: "SBR"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
disks: 4
|
||||
beta: true
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "4.4.59"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
54
files/board/arpl/overlayfs/opt/arpl/model-configs/DS723+.yml
Normal file
54
files/board/arpl/overlayfs/opt/arpl/model-configs/DS723+.yml
Normal file
@ -0,0 +1,54 @@
|
||||
id: "DS723+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
cmdline: &cmdline
|
||||
synoboot2:
|
||||
SMBusHddDynamicPower: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
platform: "r1000"
|
||||
unique: "synology_r1000_723+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2270"
|
||||
middle: "TQR"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
disks: 2
|
||||
beta: true
|
||||
productvers:
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
@ -0,0 +1,86 @@
|
||||
id: "DS916+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
esataportcfg: "0x00"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 0
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
platform: "braswell"
|
||||
unique: "synology_braswell_916+"
|
||||
serial:
|
||||
prefix:
|
||||
- "1130"
|
||||
- "1230"
|
||||
- "1330"
|
||||
- "1430"
|
||||
middle: "NZN"
|
||||
suffix: "numeric"
|
||||
dom: 2
|
||||
dt: false
|
||||
disks: 4
|
||||
beta: true
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "3.10.105"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "3.10.108"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "3.10.108"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "3.10.108"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
90
files/board/arpl/overlayfs/opt/arpl/model-configs/DS918+.yml
Normal file
90
files/board/arpl/overlayfs/opt/arpl/model-configs/DS918+.yml
Normal file
@ -0,0 +1,90 @@
|
||||
id: "DS918+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_leds_lp3943: ""
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
esataportcfg: "0x00"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 0
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
platform: "apollolake"
|
||||
unique: "synology_apollolake_918+"
|
||||
serial:
|
||||
prefix:
|
||||
- "1780"
|
||||
- "1790"
|
||||
- "1860"
|
||||
- "1980"
|
||||
middle: "PDN"
|
||||
suffix: "numeric"
|
||||
flags:
|
||||
- "movbe"
|
||||
dom: 2
|
||||
dt: false
|
||||
disks: 4
|
||||
beta: false
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "4.4.59"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
85
files/board/arpl/overlayfs/opt/arpl/model-configs/DS920+.yml
Normal file
85
files/board/arpl/overlayfs/opt/arpl/model-configs/DS920+.yml
Normal file
@ -0,0 +1,85 @@
|
||||
id: "DS920+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
esataportcfg: "0x00"
|
||||
cmdline: &cmdline
|
||||
intel_iommu: "igfx_off"
|
||||
synoboot2:
|
||||
HddEnableDynamicPower: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
platform: "geminilake"
|
||||
unique: "synology_geminilake_920+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2030"
|
||||
- "2040"
|
||||
- "20C0"
|
||||
- "2150"
|
||||
middle: "SBR"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
disks: 4
|
||||
beta: false
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "4.4.59"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
54
files/board/arpl/overlayfs/opt/arpl/model-configs/DS923+.yml
Normal file
54
files/board/arpl/overlayfs/opt/arpl/model-configs/DS923+.yml
Normal file
@ -0,0 +1,54 @@
|
||||
id: "DS923+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
cmdline: &cmdline
|
||||
synoboot2:
|
||||
SMBusHddDynamicPower: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
platform: "r1000"
|
||||
unique: "synology_r1000_923+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2270"
|
||||
middle: "TQR"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
disks: 4
|
||||
beta: false
|
||||
productvers:
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
@ -0,0 +1,58 @@
|
||||
id: "DVA1622"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
cmdline: &cmdline
|
||||
intel_iommu: "igfx_off"
|
||||
synoboot2:
|
||||
HddEnableDynamicPower: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
platform: "geminilake"
|
||||
unique: "synology_geminilake_dva1622"
|
||||
serial:
|
||||
prefix:
|
||||
- "2030"
|
||||
- "2040"
|
||||
- "20C0"
|
||||
- "2150"
|
||||
middle: "UBR"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
disks: 2
|
||||
beta: false
|
||||
productvers:
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
@ -0,0 +1,88 @@
|
||||
id: "DVA3219"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
supportnvme: "yes"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
esataportcfg: "0x00"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 0
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
platform: "denverton"
|
||||
unique: "synology_denverton_dva3219"
|
||||
serial:
|
||||
prefix:
|
||||
- "1930"
|
||||
- "1940"
|
||||
middle: "RFR"
|
||||
suffix: "alpha"
|
||||
flags:
|
||||
- "movbe"
|
||||
dom: 2
|
||||
dt: false
|
||||
disks: 4
|
||||
beta: true
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "4.4.59"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
@ -0,0 +1,90 @@
|
||||
id: "DVA3221"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "yes"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
supportnvme: "yes"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
esataportcfg: "0x00"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 0
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
platform: "denverton"
|
||||
unique: "synology_denverton_dva3221"
|
||||
serial:
|
||||
prefix:
|
||||
- "2030"
|
||||
- "2040"
|
||||
- "20C0"
|
||||
- "2150"
|
||||
middle: "SJR"
|
||||
suffix: "alpha"
|
||||
flags:
|
||||
- "movbe"
|
||||
dom: 2
|
||||
dt: false
|
||||
disks: 4
|
||||
beta: false
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "4.4.59"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
67
files/board/arpl/overlayfs/opt/arpl/model-configs/FS2500.yml
Normal file
67
files/board/arpl/overlayfs/opt/arpl/model-configs/FS2500.yml
Normal file
@ -0,0 +1,67 @@
|
||||
id: "FS2500"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
intel_iommu: "igfx_off"
|
||||
synoboot2:
|
||||
SMBusHddDynamicPower: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
platform: "v1000"
|
||||
unique: "synology_v1000_fs2500"
|
||||
serial:
|
||||
prefix:
|
||||
- "1960"
|
||||
middle: "PSN"
|
||||
suffix: "numeric"
|
||||
dom: 2
|
||||
dt: true
|
||||
disks: 12
|
||||
beta: true
|
||||
productvers:
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
@ -0,0 +1,78 @@
|
||||
id: "FS3017"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
cmdline: &cmdline
|
||||
synoboot2:
|
||||
SMBusHddDynamicPower: 1
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
platform: "grantley"
|
||||
unique: "synology_grantley_fs3017"
|
||||
serial:
|
||||
prefix:
|
||||
- "1650"
|
||||
middle: "O8N"
|
||||
suffix: "numeric"
|
||||
dom: 1
|
||||
dt: false
|
||||
disks: 24
|
||||
beta: true
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "3.10.105"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "3.10.108"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "3.10.108"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "3.10.108"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
@ -0,0 +1,80 @@
|
||||
id: "FS6400"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
buzzeroffen: "0xffff"
|
||||
cmdline: &cmdline
|
||||
synoboot2:
|
||||
SMBusHddDynamicPower: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
platform: "purley"
|
||||
unique: "synology_purley_fs6400"
|
||||
serial:
|
||||
prefix:
|
||||
- "1960"
|
||||
middle: "PSN"
|
||||
suffix: "numeric"
|
||||
dom: 2
|
||||
dt: true
|
||||
disks: 24
|
||||
beta: true
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "4.4.59"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
@ -0,0 +1,83 @@
|
||||
id: "RS1221+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 0
|
||||
synoboot2:
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
SMBusHddDynamicPower: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
platform: "v1000"
|
||||
unique: "synology_v1000_rs1221+"
|
||||
serial:
|
||||
prefix:
|
||||
- "20B0"
|
||||
middle: "RWR"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: true
|
||||
disks: 8
|
||||
beta: true
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "4.4.59"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
@ -0,0 +1,84 @@
|
||||
id: "RS1619xs+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
esataportcfg: "0x00"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 0
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
platform: "broadwellnk"
|
||||
unique: "synology_broadwellnk_rs1619xs+"
|
||||
serial:
|
||||
prefix:
|
||||
- "1920"
|
||||
middle: "QPR"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: false
|
||||
disks: 4
|
||||
beta: true
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "4.4.59"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
@ -0,0 +1,73 @@
|
||||
id: "RS3413xs+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
esataportcfg: "0x00"
|
||||
usbportcfg: "0x8700"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 0
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
platform: "bromolow"
|
||||
unique: "synology_bromolow_rs3413xs+"
|
||||
serial:
|
||||
prefix:
|
||||
- "1130"
|
||||
- "1230"
|
||||
- "1330"
|
||||
- "1430"
|
||||
middle: "LWN"
|
||||
suffix: "numeric"
|
||||
dom: 1
|
||||
dt: false
|
||||
disks: 16
|
||||
beta: false
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "3.10.105"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "3.10.108"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "3.10.108"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
@ -0,0 +1,88 @@
|
||||
id: "RS3618xs"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
supportssdcache: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
esataportcfg: "0x00"
|
||||
usbportcfg: "0x8700"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 0
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
platform: "broadwell"
|
||||
unique: "synology_broadwell_rs3618xs"
|
||||
serial:
|
||||
prefix:
|
||||
- "1130"
|
||||
- "1230"
|
||||
- "1330"
|
||||
- "1430"
|
||||
middle: "ODN"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: false
|
||||
disks: 12
|
||||
beta: false
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "3.10.105"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
@ -0,0 +1,84 @@
|
||||
id: "RS3621xs+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
esataportcfg: "0x00"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 0
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
platform: "broadwellnk"
|
||||
unique: "synology_broadwellnk_rs3621xs+"
|
||||
serial:
|
||||
prefix:
|
||||
- "20A0"
|
||||
middle: "SZR"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: false
|
||||
disks: 12
|
||||
beta: true
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "4.4.59"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
@ -0,0 +1,84 @@
|
||||
id: "RS4021xs+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
esataportcfg: "0x00"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 0
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
platform: "broadwellnk"
|
||||
unique: "synology_broadwellnk_rs4021xs+"
|
||||
serial:
|
||||
prefix:
|
||||
- "2250"
|
||||
middle: "T2R"
|
||||
suffix: "alpha"
|
||||
dom: 2
|
||||
dt: false
|
||||
disks: 16
|
||||
beta: true
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "4.4.59"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
86
files/board/arpl/overlayfs/opt/arpl/model-configs/SA3400.yml
Normal file
86
files/board/arpl/overlayfs/opt/arpl/model-configs/SA3400.yml
Normal file
@ -0,0 +1,86 @@
|
||||
id: "SA3400"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
esataportcfg: "0x00"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 0
|
||||
synoboot2:
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
SMBusHddDynamicPower: 1
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
platform: "broadwellnk"
|
||||
unique: "synology_broadwellnk_sa3400"
|
||||
serial:
|
||||
prefix:
|
||||
- "1920"
|
||||
middle: "RJR"
|
||||
suffix: "alpha"
|
||||
dom: 1
|
||||
dt: false
|
||||
disks: 12
|
||||
beta: true
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "4.4.59"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
@ -0,0 +1,88 @@
|
||||
id: "SA3600"
|
||||
synoinfo: &synoinfo
|
||||
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:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
esataportcfg: "0x00"
|
||||
cmdline: &cmdline
|
||||
HddHotplug: 0
|
||||
syno_hdd_detect: 0
|
||||
syno_hdd_powerup_seq: 0
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
platform: "broadwellnk"
|
||||
unique: "synology_broadwellnk_sa3600"
|
||||
serial:
|
||||
prefix:
|
||||
- "2030"
|
||||
- "2040"
|
||||
- "20C0"
|
||||
- "2150"
|
||||
middle: "SQR"
|
||||
suffix: "alpha"
|
||||
dom: 1
|
||||
dt: false
|
||||
disks: 12
|
||||
beta: true
|
||||
productvers:
|
||||
"6.2":
|
||||
kver: "4.4.59"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-25556-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-25556-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.0":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-common-post-init-script.patch"
|
||||
- "ramdisk-common-disable-disabled-ports.patch"
|
||||
|
||||
"7.1":
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
"7.2":
|
||||
kver: "4.4.302"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
54
files/board/arpl/overlayfs/opt/arpl/model-configs/SA6400.yml
Normal file
54
files/board/arpl/overlayfs/opt/arpl/model-configs/SA6400.yml
Normal file
@ -0,0 +1,54 @@
|
||||
id: "SA6400"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
maxlanport: "8"
|
||||
netif_seq: "0 1 2 3 4 5 6 7"
|
||||
cmdline: &cmdline
|
||||
synoboot2:
|
||||
SMBusHddDynamicPower: 1
|
||||
vender_format_version: 2
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
platform: "epyc7002"
|
||||
unique: "synology_epyc7002_sa6400"
|
||||
serial:
|
||||
prefix:
|
||||
- "2270"
|
||||
middle: "UMR"
|
||||
suffix: "alpha"
|
||||
dom: -1
|
||||
dt: true
|
||||
disks: 16
|
||||
beta: true
|
||||
productvers:
|
||||
"7.1":
|
||||
kpre: "7.1"
|
||||
kver: "5.10.55"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-sa6400-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
|
||||
"7.2":
|
||||
kpre: "7.2"
|
||||
kver: "5.10.55"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
patch:
|
||||
- "ramdisk-64216-disable-root-pwd.patch"
|
||||
- "ramdisk-64216-sa6400-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
1
files/board/arpl/overlayfs/opt/arpl/modinfo
Symbolic link
1
files/board/arpl/overlayfs/opt/arpl/modinfo
Symbolic link
@ -0,0 +1 @@
|
||||
kmod
|
@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
#
|
||||
# WARNING: this file is also embedded in the post-init patcher, so don't go to crazy with the syntax/tools as it must
|
||||
# be able to execute in the initramfs/preboot environment (so no bashism etc)
|
||||
# All comments will be stripped, functions here should NOT start with brp_ as they're not part of the builder
|
||||
|
||||
if [ -z ${SED_PATH+x} ]; then
|
||||
echo "Your SED_PATH variable is not set/is empty!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
##$1 from, $2 to, $3 file to path
|
||||
_replace_in_file() {
|
||||
if grep -q "$1" "$3"; then
|
||||
$SED_PATH -i "$3" -e "s#$1#$2#"
|
||||
fi
|
||||
}
|
||||
|
||||
# Replace/remove/add values in .conf K=V file
|
||||
#
|
||||
# Args: $1 name, $2 new_val, $3 path
|
||||
_set_conf_kv() {
|
||||
# Delete
|
||||
if [ -z "$2" ]; then
|
||||
$SED_PATH -i "$3" -e "s/^$1=.*$//"
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Replace
|
||||
if grep -q "^$1=" "$3"; then
|
||||
$SED_PATH -i "$3" -e "s\"^$1=.*\"$1=\\\"$2\\\"\""
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Add if doesn't exist
|
||||
echo "$1=\"$2\"" >>$3
|
||||
}
|
@ -1,13 +1,11 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
#!/usr/bin/sh
|
||||
# This script is saved to /sbin/modprobe which is a so called UMH (user-mode-helper) for kmod (kernel/kmod.c)
|
||||
# The kmod subsystem in the kernel is used to load modules from kernel. We exploit it a bit to load RP as soon as
|
||||
# possible (which turns out to be via init/main.c => load_default_modules => load_default_elevator_module
|
||||
# When the kernel is booted with "elevator=elevator" it will attempt to load a module "elevator-iosched"... and the rest
|
||||
# should be obvious from the code below. DO NOT print anything here (kernel doesn't attach STDOUT)
|
||||
|
||||
for arg in "$@"; do
|
||||
if [ "${arg}" = "elevator-iosched" ]; then
|
||||
if [ "$arg" = "elevator-iosched" ]; then
|
||||
insmod /usr/lib/modules/rp.ko
|
||||
rm /usr/lib/modules/rp.ko
|
||||
rm /usr/sbin/modprobe
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user