mirror of
https://github.com/RROrg/rr.git
synced 2025-08-22 20:47:05 +08:00
Compare commits
7 Commits
3f03f376d7
...
28adc80ef8
Author | SHA1 | Date | |
---|---|---|---|
|
28adc80ef8 | ||
|
69ba5384b5 | ||
|
f9745af5b9 | ||
|
b655f01cfc | ||
|
a8c4fee9d6 | ||
|
6f1105a043 | ||
|
c4ae0bf53c |
32
.github/workflows/issues.yml
vendored
32
.github/workflows/issues.yml
vendored
@ -157,6 +157,13 @@ jobs:
|
||||
[ "${RESULT}" == "null" ] && echo "" || echo "${RESULT}"
|
||||
}
|
||||
|
||||
function mergeConfigStr() {
|
||||
local JF=$(mktemp)
|
||||
echo "${2}" | yq -p ${1} -o y > "${JF}"
|
||||
yq eval-all --inplace '. as $item ireduce ({}; . * $item)' --inplace "${3}" "${JF}" 2>/dev/null
|
||||
rm -f "${JF}"
|
||||
}
|
||||
|
||||
REPO="${{ github.server_url }}/${{ github.repository }}"
|
||||
MODEL="${{ env.model }}"
|
||||
VERSION="${{ env.version }}"
|
||||
@ -200,10 +207,9 @@ jobs:
|
||||
fi
|
||||
|
||||
if [ -n "${{ env.kernel }}" ]; then
|
||||
echo -en "set kernel"
|
||||
echo "set kernel"
|
||||
USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml"
|
||||
writeConfigKey "kernel" "${{ env.kernel }}" "${USER_CONFIG_FILE}"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
sudo ./localbuild.sh config "${MODEL}" "${VERSION}"
|
||||
@ -213,29 +219,23 @@ jobs:
|
||||
fi
|
||||
|
||||
if [ -n "${{ env.addons }}" ]; then
|
||||
echo -en "set addons"
|
||||
echo "set addons: ${{ env.addons }}"
|
||||
USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml"
|
||||
writeConfigKey "addons" "{}" "${USER_CONFIG_FILE}"
|
||||
echo -en ': '
|
||||
for A in $(echo "${{ env.addons }}" | tr ',' ' '); do
|
||||
echo -en "${A} "
|
||||
VALUE=""
|
||||
writeConfigKey "addons.\"${A}\"" "${VALUE}" "${USER_CONFIG_FILE}"
|
||||
for A in $(echo "${{ env.addons }}" | sed 's/,/ /g'); do
|
||||
writeConfigKey "addons.\"${A}\"" "" "${USER_CONFIG_FILE}"
|
||||
done
|
||||
echo ""
|
||||
fi
|
||||
|
||||
if [ ! "custom" = "${{ env.kernel }}" ] && [ -n "${{ env.modules }}" ]; then
|
||||
echo -en "set modules"
|
||||
echo "set modules: ${{ env.modules }}"
|
||||
USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml"
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
echo -en ': '
|
||||
for M in $(echo "${{ env.modules }}" | tr ',' ' '); do
|
||||
echo -en "${M} "
|
||||
VALUE=""
|
||||
writeConfigKey "modules.\"${M}\"" "${VALUE}" "${USER_CONFIG_FILE}"
|
||||
# L="$(for I in $(echo "${{ env.modules }}" | sed 's/,/ /g'); do echo "modules.${I}:"; done)"
|
||||
# mergeConfigStr p "${L}" "${USER_CONFIG_FILE}"
|
||||
for M in $(echo "${{ env.modules }}" | sed 's/,/ /g'); do
|
||||
writeConfigKey "modules.\"${M}\"" "" "${USER_CONFIG_FILE}"
|
||||
done
|
||||
echo ""
|
||||
fi
|
||||
|
||||
sudo ./localbuild.sh build
|
||||
|
BIN
docs/addons.xlsx
BIN
docs/addons.xlsx
Binary file not shown.
BIN
docs/models.xlsx
BIN
docs/models.xlsx
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -20,12 +20,16 @@ BUS=$(getBus "${LOADER_DISK}")
|
||||
|
||||
# Print text centralized
|
||||
clear
|
||||
[ -z "${COLUMNS}" ] && COLUMNS=50
|
||||
COLUMNS=$(ttysize 2>/dev/null | awk '{print $1}')
|
||||
[ -z "${COLUMNS}" ] && COLUMNS=80
|
||||
TITLE="$(printf "$(TEXT "Welcome to %s")" "$([ -z "${RR_RELEASE}" ] && echo "${RR_TITLE}" || echo "${RR_TITLE}(${RR_RELEASE})")")"
|
||||
DATE="$(date)"
|
||||
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} ""
|
||||
printf "\033[1;31m%*s\033[0m\n" $(((${#TITLE} + ${COLUMNS}) / 2)) "${TITLE}"
|
||||
printf "\033[1;44m%*s\033[A\n" ${COLUMNS} ""
|
||||
printf "\033[1;32m%*s\033[0m\n" ${COLUMNS} "${DATE}"
|
||||
|
||||
TITLE="BOOTING:"
|
||||
[ ${EFI} -eq 1 ] && TITLE+=" [UEFI]" || TITLE+=" [BIOS]"
|
||||
[ "${BUS}" = "usb" ] && TITLE+=" [${BUS^^} flashdisk]" || TITLE+=" [${BUS^^} DoM]"
|
||||
@ -208,13 +212,31 @@ echo -e "$(TEXT "Cmdline:\n")\033[1;36m${CMDLINE_LINE}\033[0m"
|
||||
|
||||
DIRECT="$(readConfigKey "directboot" "${USER_CONFIG_FILE}")"
|
||||
if [ "${DIRECT}" = "true" ]; then
|
||||
grub-editenv ${USER_GRUBENVFILE} set rr_version="$([ -z "${RR_RELEASE}" ] && echo "${RR_TITLE}" || echo "${RR_TITLE}(${RR_RELEASE})")"
|
||||
grub-editenv ${USER_GRUBENVFILE} set dsm_model="${MODEL}(${PLATFORM})"
|
||||
grub-editenv ${USER_GRUBENVFILE} set dsm_version="${PRODUCTVER}(${BUILDNUM}$([ ${SMALLNUM:-0} -ne 0 ] && echo "u${SMALLNUM}"))"
|
||||
grub-editenv ${USER_GRUBENVFILE} set dsm_kernel="${KERNEL}"
|
||||
grub-editenv ${USER_GRUBENVFILE} set dsm_lkm="${LKM}"
|
||||
grub-editenv ${USER_GRUBENVFILE} set sys_dmi="${DMI}"
|
||||
grub-editenv ${USER_GRUBENVFILE} set sys_cpu="${CPU}"
|
||||
grub-editenv ${USER_GRUBENVFILE} set sys_mem="${MEM}"
|
||||
|
||||
CMDLINE_DIRECT=$(echo ${CMDLINE_LINE} | sed 's/>/\\\\>/g') # Escape special chars
|
||||
grub-editenv ${USER_GRUBENVFILE} set dsm_cmdline="${CMDLINE_DIRECT}"
|
||||
grub-editenv ${USER_GRUBENVFILE} set next_entry="direct"
|
||||
|
||||
echo -e "\033[1;33m$(TEXT "Reboot to boot directly in DSM")\033[0m"
|
||||
reboot
|
||||
exit 0
|
||||
else
|
||||
grub-editenv ${USER_GRUBENVFILE} unset rr_version
|
||||
grub-editenv ${USER_GRUBENVFILE} unset dsm_model
|
||||
grub-editenv ${USER_GRUBENVFILE} unset dsm_version
|
||||
grub-editenv ${USER_GRUBENVFILE} unset dsm_kernel
|
||||
grub-editenv ${USER_GRUBENVFILE} unset dsm_lkm
|
||||
grub-editenv ${USER_GRUBENVFILE} unset sys_dmi
|
||||
grub-editenv ${USER_GRUBENVFILE} unset sys_cpu
|
||||
grub-editenv ${USER_GRUBENVFILE} unset sys_mem
|
||||
grub-editenv ${USER_GRUBENVFILE} unset dsm_cmdline
|
||||
grub-editenv ${USER_GRUBENVFILE} unset next_entry
|
||||
ETHX=$(ls /sys/class/net/ 2>/dev/null | grep -v lo) || true
|
||||
|
@ -25,6 +25,17 @@ function readConfigKey() {
|
||||
[ "${RESULT}" == "null" ] && echo "" || echo "${RESULT}"
|
||||
}
|
||||
|
||||
# Write to yaml config file
|
||||
# 1 - format
|
||||
# 2 - string
|
||||
# 3 - Path of yaml config file
|
||||
function mergeConfigStr() {
|
||||
local JF=$(mktemp)
|
||||
echo "${2}" | yq -p ${1} -o y > "${JF}"
|
||||
yq eval-all --inplace '. as $item ireduce ({}; . * $item)' --inplace "${3}" "${JF}" 2>/dev/null
|
||||
rm -f "${JF}"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Write to yaml config file if key not exists
|
||||
# 1 - Path of Key
|
||||
|
@ -1,4 +1,4 @@
|
||||
RR_VERSION="24.8.3"
|
||||
RR_VERSION="24.8.4"
|
||||
RR_RELEASE=""
|
||||
RR_TITLE="RR v${RR_VERSION}"
|
||||
|
||||
|
@ -1,16 +1,19 @@
|
||||
[ -z "${WORK_PATH}" -o ! -d "${WORK_PATH}/include" ] && WORK_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")/../" >/dev/null 2>&1 && pwd)"
|
||||
|
||||
if type gettext >/dev/null 2>&1; then
|
||||
if [ -d "${WORK_PATH}/lang" ]; then
|
||||
export TEXTDOMAINDIR="${WORK_PATH}/lang"
|
||||
fi
|
||||
if [ -f "${PART1_PATH}/.locale" ]; then
|
||||
export LC_ALL="$(cat ${PART1_PATH}/.locale)"
|
||||
fi
|
||||
|
||||
alias TEXT='gettext "rr"'
|
||||
shopt -s expand_aliases
|
||||
else
|
||||
alias TEXT='echo'
|
||||
shopt -s expand_aliases
|
||||
fi
|
||||
if [ -d "${WORK_PATH}/lang" ]; then
|
||||
export TEXTDOMAINDIR="${WORK_PATH}/lang"
|
||||
fi
|
||||
if [ -f "${PART1_PATH}/.locale" ]; then
|
||||
export LC_ALL="$(cat ${PART1_PATH}/.locale)"
|
||||
fi
|
||||
if [ -f "${PART1_PATH}/.timezone" ]; then
|
||||
TIMEZONE="$(cat ${PART1_PATH}/.timezone)"
|
||||
ln -sf "/usr/share/zoneinfo/right/${TIMEZONE}" /etc/localtime
|
||||
fi
|
||||
|
@ -11,12 +11,15 @@ checkBootLoader || die "$(TEXT "The loader is corrupted, please rewrite it!")"
|
||||
|
||||
# Shows title
|
||||
clear
|
||||
[ -z "${COLUMNS}" ] && COLUMNS=50
|
||||
COLUMNS=$(ttysize 2>/dev/null | awk '{print $1}')
|
||||
[ -z "${COLUMNS}" ] && COLUMNS=80
|
||||
TITLE="$(printf "$(TEXT "Welcome to %s")" "$([ -z "${RR_RELEASE}" ] && echo "${RR_TITLE}" || echo "${RR_TITLE}(${RR_RELEASE})")")"
|
||||
DATE="$(date)"
|
||||
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} ""
|
||||
printf "\033[1;31m%*s\033[0m\n" $(((${#TITLE} + ${COLUMNS}) / 2)) "${TITLE}"
|
||||
printf "\033[1;44m%*s\033[A\n" ${COLUMNS} ""
|
||||
printf "\033[1;32m%*s\033[0m\n" ${COLUMNS} "${DATE}"
|
||||
|
||||
# Get first MAC address
|
||||
ETHX=$(ls /sys/class/net/ 2>/dev/null | grep -v lo) || true
|
||||
@ -101,7 +104,7 @@ if [ ! "LOCALBUILD" = "${LOADER_DISK}" ]; then
|
||||
sleep 1
|
||||
fi
|
||||
[ "${ETH::3}" = "eth" ] && ethtool -s ${ETH} wol g 2>/dev/null || true
|
||||
[ "${ETH::3}" = "eth" ] && ethtool -K ${ETH} rxhash off 2>/dev/null || true
|
||||
# [ "${ETH::3}" = "eth" ] && ethtool -K ${ETH} rxhash off 2>/dev/null || true
|
||||
done
|
||||
fi
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -346,9 +346,8 @@ function productversMenu() {
|
||||
done <<<$(readConfigMap "addons" "${USER_CONFIG_FILE}")
|
||||
# Rewrite modules
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
while read ID DESC; do
|
||||
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
|
||||
done <<<$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
|
||||
L="$(echo "$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")" | awk '{print "modules."$1":"}')"
|
||||
mergeConfigStr p "${L}" "${USER_CONFIG_FILE}"
|
||||
# Remove old files
|
||||
rm -f "${ORI_ZIMAGE_FILE}" "${ORI_RDGZ_FILE}" "${MOD_ZIMAGE_FILE}" "${MOD_RDGZ_FILE}" >/dev/null 2>&1 || true
|
||||
rm -f "${PART1_PATH}/grub_cksum.syno" "${PART1_PATH}/GRUB_VER" "${PART2_PATH}/"* >/dev/null 2>&1 || true
|
||||
@ -424,9 +423,8 @@ function setConfigFromDSM() {
|
||||
done <<<$(readConfigMap "addons" "${USER_CONFIG_FILE}")
|
||||
# Rebuild modules
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
while read ID DESC; do
|
||||
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
|
||||
done <<<$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
|
||||
L="$(echo "$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")" | awk '{print "modules."$1":"}')"
|
||||
mergeConfigStr p "${L}" "${USER_CONFIG_FILE}"
|
||||
touch ${PART1_PATH}/.build
|
||||
return 0
|
||||
}
|
||||
@ -702,19 +700,16 @@ function moduleMenu() {
|
||||
RET=$?
|
||||
case ${RET} in
|
||||
0) # ok-button
|
||||
resp=$(cat ${TMP_PATH}/resp)
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
for ID in ${resp}; do
|
||||
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
|
||||
done
|
||||
L="$(for I in $(cat ${TMP_PATH}/resp 2>/dev/null); do echo "modules.${I}:"; done)"
|
||||
mergeConfigStr p "${L}" "${USER_CONFIG_FILE}"
|
||||
touch ${PART1_PATH}/.build
|
||||
break
|
||||
;;
|
||||
3) # extra-button
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
while read ID DESC; do
|
||||
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
|
||||
done <<<${ALLMODULES}
|
||||
L="$(echo "${ALLMODULES}" | awk '{print "modules."$1":"}')"
|
||||
mergeConfigStr p "${L}" "${USER_CONFIG_FILE}"
|
||||
touch ${PART1_PATH}/.build
|
||||
;;
|
||||
2) # help-button
|
||||
@ -2693,7 +2688,8 @@ function advancedMenu() {
|
||||
cp -Rf "$(dirname ${WORK_PATH})" "${RDXZ_PATH}/"
|
||||
(
|
||||
cd "${RDXZ_PATH}"
|
||||
find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s $(du -sb ${RDXZ_PATH} | awk '{print $1}') | xz -9 --check=crc32 >"${RR_RAMDISK_FILE}"
|
||||
RDSIZE=$(du -sb ${RDXZ_PATH} 2>/dev/null | awk '{print $1}')
|
||||
find . 2>/dev/null | cpio -o -H newc -R root:root | pv -n -s ${RDSIZE:-1} | xz -9 --check=crc32 >"${RR_RAMDISK_FILE}"
|
||||
) 2>&1 | DIALOG --title "$(TEXT "Advanced")" \
|
||||
--gauge "$(TEXT "Saving ...\n(It usually takes 5-10 minutes, please be patient and wait.)")" 8 100
|
||||
rm -rf "${RDXZ_PATH}"
|
||||
@ -2767,6 +2763,20 @@ function languageMenu() {
|
||||
export LC_ALL="${LANGUAGE}.UTF-8"
|
||||
}
|
||||
|
||||
# Shows language to user choose one
|
||||
function timezoneMenu() {
|
||||
OPTIONS="$(find /usr/share/zoneinfo/right -type f | cut -d '/' -f 6- | sort | uniq | xargs)"
|
||||
DIALOG \
|
||||
--default-item "${LAYOUT}" --no-items --menu "$(TEXT "Choose a timezone")" 0 0 0 ${OPTIONS} \
|
||||
2>${TMP_PATH}/resp
|
||||
[ $? -ne 0 ] && return
|
||||
resp=$(cat ${TMP_PATH}/resp 2>/dev/null)
|
||||
[ -z "${resp}" ] && return
|
||||
TIMEZONE=${resp}
|
||||
echo "${TIMEZONE}" >${PART1_PATH}/.timezone
|
||||
ln -sf "/usr/share/zoneinfo/right/${TIMEZONE}" /etc/localtime
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Shows available keymaps to user choose one
|
||||
function keymapMenu() {
|
||||
@ -3012,9 +3022,8 @@ function updateRR() {
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
||||
if [ -n "${PLATFORM}" -a -n "${KVER}" ]; then
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
while read ID DESC; do
|
||||
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
|
||||
done <<<$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
|
||||
L="$(echo "$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")" | awk '{print "modules."$1":"}')"
|
||||
mergeConfigStr p "${L}" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@ -3149,9 +3158,8 @@ function updateModules() {
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
||||
if [ -n "${PLATFORM}" -a -n "${KVER}" ]; then
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
while read ID DESC; do
|
||||
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
|
||||
done <<<$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
|
||||
L="$(echo "$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")" | awk '{print "modules."$1":"}')"
|
||||
mergeConfigStr p "${L}" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
fi
|
||||
rm -rf "${TMP_PATH}/update"
|
||||
@ -3271,9 +3279,8 @@ function updateCKs() {
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
||||
if [ -n "${PLATFORM}" -a -n "${KVER}" ]; then
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
while read ID DESC; do
|
||||
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
|
||||
done <<<$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
|
||||
L="$(echo "$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")" | awk '{print "modules."$1":"}')"
|
||||
mergeConfigStr p "${L}" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
fi
|
||||
rm -rf "${TMP_PATH}/update"
|
||||
@ -3516,6 +3523,7 @@ else
|
||||
echo "b \"$(TEXT "Boot the loader")\"" >>"${TMP_PATH}/menu"
|
||||
fi
|
||||
echo "l \"$(TEXT "Choose a language")\"" >>"${TMP_PATH}/menu"
|
||||
echo "z \"$(TEXT "Choose a timezone")\"" >>"${TMP_PATH}/menu"
|
||||
echo "k \"$(TEXT "Choose a keymap")\"" >>"${TMP_PATH}/menu"
|
||||
if [ 0$(du -sm ${PART3_PATH}/dl 2>/dev/null | awk '{printf $1}') -gt 1 ]; then
|
||||
echo "c \"$(TEXT "Clean disk cache")\"" >>"${TMP_PATH}/menu"
|
||||
@ -3552,9 +3560,8 @@ else
|
||||
fi
|
||||
if [ -n "${PLATFORM}" -a -n "${KVER}" ]; then
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
while read ID DESC; do
|
||||
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
|
||||
done <<<$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
|
||||
L="$(echo "$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")" | awk '{print "modules."$1":"}')"
|
||||
mergeConfigStr p "${L}" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
touch ${PART1_PATH}/.build
|
||||
|
||||
@ -3591,6 +3598,10 @@ else
|
||||
languageMenu
|
||||
NEXT="m"
|
||||
;;
|
||||
z)
|
||||
timezoneMenu
|
||||
NEXT="m"
|
||||
;;
|
||||
k)
|
||||
keymapMenu
|
||||
NEXT="m"
|
||||
|
@ -1 +1 @@
|
||||
24.8.3
|
||||
24.8.4
|
||||
|
@ -83,8 +83,19 @@ if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
|
||||
set timeout="1"
|
||||
menuentry 'Boot DSM kernel directly' --id direct {
|
||||
set_gfxpayload
|
||||
echo "cmdline:"
|
||||
echo "RR-version: ${rr_version}"
|
||||
echo -n "bootuptime: "; date
|
||||
echo ""
|
||||
echo "Model: ${dsm_model}"
|
||||
echo "version: ${dsm_version}"
|
||||
echo "kernel: ${dsm_kernel}"
|
||||
echo "LKM: ${dsm_lkm}"
|
||||
echo "DMI: ${sys_dmi}"
|
||||
echo "CPU: ${sys_cpu}"
|
||||
echo "MEM: ${sys_mem}"
|
||||
echo "Cmdline:"
|
||||
echo "${dsm_cmdline}"
|
||||
echo ""
|
||||
echo "Loading DSM kernel..."
|
||||
linux /zImage-dsm ${dsm_cmdline}
|
||||
echo "Loading DSM initramfs..."
|
||||
|
9
guide.md
9
guide.md
@ -140,9 +140,16 @@
|
||||
cat /proc/sys/kernel/syno_mac_address1 # 查看当前鉴权的 mac1 (/proc/sys/kernel/syno_mac_addresses)
|
||||
sysctl -n kernel.syno_internal_netif_num # 查看当前鉴权的网卡数量
|
||||
cat /proc/sys/kernel/syno_internal_netif_num # 查看当前鉴权的网卡数量
|
||||
cat /proc/sys/kernel/syno_CPU_info_core # 查看当前线程数 (nproc)
|
||||
sysctl -w kernel.syno_CPU_info_core=32 # 设置线程数 (无效)
|
||||
|
||||
ls -d /sys/devices/system/node/node* | wc -l # 查看当前 CPU 物理路数
|
||||
cat /proc/cpuinfo | grep "physical id" | sort -u | wc -l # 查看当前 CPU 物理路数
|
||||
cat /proc/cpuinfo | grep "core id" | sort -u | wc -l # 查看当前 CPU 核心数
|
||||
cat /proc/cpuinfo | grep "processor" | wc -l # 查看当前 CPU 核心数
|
||||
cat /proc/sys/kernel/syno_CPU_info_core # 查看当前线程数 (only syno)
|
||||
nproc # 查看当前 CPU 核心数
|
||||
lscpu | grep 'NUMA node(s):' # 查看当前 NUMA 数量
|
||||
|
||||
# 设备相关
|
||||
lsmod # 查看已加载驱动
|
||||
lsusb # 查看 USB 设备
|
||||
|
Loading…
x
Reference in New Issue
Block a user