Compare commits

...

7 Commits

31 changed files with 6316 additions and 6184 deletions

View File

@ -157,6 +157,13 @@ jobs:
[ "${RESULT}" == "null" ] && echo "" || echo "${RESULT}" [ "${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 }}" REPO="${{ github.server_url }}/${{ github.repository }}"
MODEL="${{ env.model }}" MODEL="${{ env.model }}"
VERSION="${{ env.version }}" VERSION="${{ env.version }}"
@ -200,10 +207,9 @@ jobs:
fi fi
if [ -n "${{ env.kernel }}" ]; then if [ -n "${{ env.kernel }}" ]; then
echo -en "set kernel" echo "set kernel"
USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml" USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml"
writeConfigKey "kernel" "${{ env.kernel }}" "${USER_CONFIG_FILE}" writeConfigKey "kernel" "${{ env.kernel }}" "${USER_CONFIG_FILE}"
echo ""
fi fi
sudo ./localbuild.sh config "${MODEL}" "${VERSION}" sudo ./localbuild.sh config "${MODEL}" "${VERSION}"
@ -213,29 +219,23 @@ jobs:
fi fi
if [ -n "${{ env.addons }}" ]; then if [ -n "${{ env.addons }}" ]; then
echo -en "set addons" echo "set addons: ${{ env.addons }}"
USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml" USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml"
writeConfigKey "addons" "{}" "${USER_CONFIG_FILE}" writeConfigKey "addons" "{}" "${USER_CONFIG_FILE}"
echo -en ': ' for A in $(echo "${{ env.addons }}" | sed 's/,/ /g'); do
for A in $(echo "${{ env.addons }}" | tr ',' ' '); do writeConfigKey "addons.\"${A}\"" "" "${USER_CONFIG_FILE}"
echo -en "${A} "
VALUE=""
writeConfigKey "addons.\"${A}\"" "${VALUE}" "${USER_CONFIG_FILE}"
done done
echo ""
fi fi
if [ ! "custom" = "${{ env.kernel }}" ] && [ -n "${{ env.modules }}" ]; then 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" USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml"
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}" writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
echo -en ': ' # L="$(for I in $(echo "${{ env.modules }}" | sed 's/,/ /g'); do echo "modules.${I}:"; done)"
for M in $(echo "${{ env.modules }}" | tr ',' ' '); do # mergeConfigStr p "${L}" "${USER_CONFIG_FILE}"
echo -en "${M} " for M in $(echo "${{ env.modules }}" | sed 's/,/ /g'); do
VALUE="" writeConfigKey "modules.\"${M}\"" "" "${USER_CONFIG_FILE}"
writeConfigKey "modules.\"${M}\"" "${VALUE}" "${USER_CONFIG_FILE}"
done done
echo ""
fi fi
sudo ./localbuild.sh build sudo ./localbuild.sh build

View File

@ -1 +1 @@
24.8.3 24.8.4

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -20,12 +20,16 @@ BUS=$(getBus "${LOADER_DISK}")
# Print text centralized # Print text centralized
clear 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})")")" 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\n" ${COLUMNS} ""
printf "\033[1;44m%*s\033[A\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;31m%*s\033[0m\n" $(((${#TITLE} + ${COLUMNS}) / 2)) "${TITLE}"
printf "\033[1;44m%*s\033[0m\n" ${COLUMNS} "" printf "\033[1;44m%*s\033[A\n" ${COLUMNS} ""
printf "\033[1;32m%*s\033[0m\n" ${COLUMNS} "${DATE}"
TITLE="BOOTING:" TITLE="BOOTING:"
[ ${EFI} -eq 1 ] && TITLE+=" [UEFI]" || TITLE+=" [BIOS]" [ ${EFI} -eq 1 ] && TITLE+=" [UEFI]" || TITLE+=" [BIOS]"
[ "${BUS}" = "usb" ] && TITLE+=" [${BUS^^} flashdisk]" || TITLE+=" [${BUS^^} DoM]" [ "${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}")" DIRECT="$(readConfigKey "directboot" "${USER_CONFIG_FILE}")"
if [ "${DIRECT}" = "true" ]; then 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 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 dsm_cmdline="${CMDLINE_DIRECT}"
grub-editenv ${USER_GRUBENVFILE} set next_entry="direct" grub-editenv ${USER_GRUBENVFILE} set next_entry="direct"
echo -e "\033[1;33m$(TEXT "Reboot to boot directly in DSM")\033[0m" echo -e "\033[1;33m$(TEXT "Reboot to boot directly in DSM")\033[0m"
reboot reboot
exit 0 exit 0
else 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 dsm_cmdline
grub-editenv ${USER_GRUBENVFILE} unset next_entry grub-editenv ${USER_GRUBENVFILE} unset next_entry
ETHX=$(ls /sys/class/net/ 2>/dev/null | grep -v lo) || true ETHX=$(ls /sys/class/net/ 2>/dev/null | grep -v lo) || true

View File

@ -25,6 +25,17 @@ function readConfigKey() {
[ "${RESULT}" == "null" ] && echo "" || echo "${RESULT}" [ "${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 # Write to yaml config file if key not exists
# 1 - Path of Key # 1 - Path of Key

View File

@ -1,4 +1,4 @@
RR_VERSION="24.8.3" RR_VERSION="24.8.4"
RR_RELEASE="" RR_RELEASE=""
RR_TITLE="RR v${RR_VERSION}" RR_TITLE="RR v${RR_VERSION}"

View File

@ -1,16 +1,19 @@
[ -z "${WORK_PATH}" -o ! -d "${WORK_PATH}/include" ] && WORK_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")/../" >/dev/null 2>&1 && pwd)" [ -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 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"' alias TEXT='gettext "rr"'
shopt -s expand_aliases shopt -s expand_aliases
else else
alias TEXT='echo' alias TEXT='echo'
shopt -s expand_aliases shopt -s expand_aliases
fi 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

View File

@ -11,12 +11,15 @@ checkBootLoader || die "$(TEXT "The loader is corrupted, please rewrite it!")"
# Shows title # Shows title
clear 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})")")" 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\n" ${COLUMNS} ""
printf "\033[1;44m%*s\033[A\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;31m%*s\033[0m\n" $(((${#TITLE} + ${COLUMNS}) / 2)) "${TITLE}"
printf "\033[1;44m%*s\033[0m\n" ${COLUMNS} "" printf "\033[1;44m%*s\033[A\n" ${COLUMNS} ""
printf "\033[1;32m%*s\033[0m\n" ${COLUMNS} "${DATE}"
# Get first MAC address # Get first MAC address
ETHX=$(ls /sys/class/net/ 2>/dev/null | grep -v lo) || true ETHX=$(ls /sys/class/net/ 2>/dev/null | grep -v lo) || true
@ -101,7 +104,7 @@ if [ ! "LOCALBUILD" = "${LOADER_DISK}" ]; then
sleep 1 sleep 1
fi fi
[ "${ETH::3}" = "eth" ] && ethtool -s ${ETH} wol g 2>/dev/null || true [ "${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 done
fi 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

View File

@ -346,9 +346,8 @@ function productversMenu() {
done <<<$(readConfigMap "addons" "${USER_CONFIG_FILE}") done <<<$(readConfigMap "addons" "${USER_CONFIG_FILE}")
# Rewrite modules # Rewrite modules
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}" writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
while read ID DESC; do L="$(echo "$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")" | awk '{print "modules."$1":"}')"
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}" mergeConfigStr p "${L}" "${USER_CONFIG_FILE}"
done <<<$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
# Remove old files # Remove old files
rm -f "${ORI_ZIMAGE_FILE}" "${ORI_RDGZ_FILE}" "${MOD_ZIMAGE_FILE}" "${MOD_RDGZ_FILE}" >/dev/null 2>&1 || true 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 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}") done <<<$(readConfigMap "addons" "${USER_CONFIG_FILE}")
# Rebuild modules # Rebuild modules
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}" writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
while read ID DESC; do L="$(echo "$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")" | awk '{print "modules."$1":"}')"
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}" mergeConfigStr p "${L}" "${USER_CONFIG_FILE}"
done <<<$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
touch ${PART1_PATH}/.build touch ${PART1_PATH}/.build
return 0 return 0
} }
@ -702,19 +700,16 @@ function moduleMenu() {
RET=$? RET=$?
case ${RET} in case ${RET} in
0) # ok-button 0) # ok-button
resp=$(cat ${TMP_PATH}/resp)
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}" writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
for ID in ${resp}; do L="$(for I in $(cat ${TMP_PATH}/resp 2>/dev/null); do echo "modules.${I}:"; done)"
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}" mergeConfigStr p "${L}" "${USER_CONFIG_FILE}"
done
touch ${PART1_PATH}/.build touch ${PART1_PATH}/.build
break break
;; ;;
3) # extra-button 3) # extra-button
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}" writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
while read ID DESC; do L="$(echo "${ALLMODULES}" | awk '{print "modules."$1":"}')"
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}" mergeConfigStr p "${L}" "${USER_CONFIG_FILE}"
done <<<${ALLMODULES}
touch ${PART1_PATH}/.build touch ${PART1_PATH}/.build
;; ;;
2) # help-button 2) # help-button
@ -2693,7 +2688,8 @@ function advancedMenu() {
cp -Rf "$(dirname ${WORK_PATH})" "${RDXZ_PATH}/" cp -Rf "$(dirname ${WORK_PATH})" "${RDXZ_PATH}/"
( (
cd "${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")" \ ) 2>&1 | DIALOG --title "$(TEXT "Advanced")" \
--gauge "$(TEXT "Saving ...\n(It usually takes 5-10 minutes, please be patient and wait.)")" 8 100 --gauge "$(TEXT "Saving ...\n(It usually takes 5-10 minutes, please be patient and wait.)")" 8 100
rm -rf "${RDXZ_PATH}" rm -rf "${RDXZ_PATH}"
@ -2767,6 +2763,20 @@ function languageMenu() {
export LC_ALL="${LANGUAGE}.UTF-8" 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 # Shows available keymaps to user choose one
function keymapMenu() { function keymapMenu() {
@ -3012,9 +3022,8 @@ function updateRR() {
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")" KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
if [ -n "${PLATFORM}" -a -n "${KVER}" ]; then if [ -n "${PLATFORM}" -a -n "${KVER}" ]; then
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}" writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
while read ID DESC; do L="$(echo "$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")" | awk '{print "modules."$1":"}')"
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}" mergeConfigStr p "${L}" "${USER_CONFIG_FILE}"
done <<<$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
fi fi
fi fi
fi fi
@ -3149,9 +3158,8 @@ function updateModules() {
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")" KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
if [ -n "${PLATFORM}" -a -n "${KVER}" ]; then if [ -n "${PLATFORM}" -a -n "${KVER}" ]; then
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}" writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
while read ID DESC; do L="$(echo "$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")" | awk '{print "modules."$1":"}')"
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}" mergeConfigStr p "${L}" "${USER_CONFIG_FILE}"
done <<<$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
fi fi
fi fi
rm -rf "${TMP_PATH}/update" rm -rf "${TMP_PATH}/update"
@ -3271,9 +3279,8 @@ function updateCKs() {
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")" KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
if [ -n "${PLATFORM}" -a -n "${KVER}" ]; then if [ -n "${PLATFORM}" -a -n "${KVER}" ]; then
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}" writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
while read ID DESC; do L="$(echo "$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")" | awk '{print "modules."$1":"}')"
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}" mergeConfigStr p "${L}" "${USER_CONFIG_FILE}"
done <<<$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
fi fi
fi fi
rm -rf "${TMP_PATH}/update" rm -rf "${TMP_PATH}/update"
@ -3516,6 +3523,7 @@ else
echo "b \"$(TEXT "Boot the loader")\"" >>"${TMP_PATH}/menu" echo "b \"$(TEXT "Boot the loader")\"" >>"${TMP_PATH}/menu"
fi fi
echo "l \"$(TEXT "Choose a language")\"" >>"${TMP_PATH}/menu" 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" 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 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" echo "c \"$(TEXT "Clean disk cache")\"" >>"${TMP_PATH}/menu"
@ -3552,9 +3560,8 @@ else
fi fi
if [ -n "${PLATFORM}" -a -n "${KVER}" ]; then if [ -n "${PLATFORM}" -a -n "${KVER}" ]; then
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}" writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
while read ID DESC; do L="$(echo "$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")" | awk '{print "modules."$1":"}')"
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}" mergeConfigStr p "${L}" "${USER_CONFIG_FILE}"
done <<<$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
fi fi
touch ${PART1_PATH}/.build touch ${PART1_PATH}/.build
@ -3591,6 +3598,10 @@ else
languageMenu languageMenu
NEXT="m" NEXT="m"
;; ;;
z)
timezoneMenu
NEXT="m"
;;
k) k)
keymapMenu keymapMenu
NEXT="m" NEXT="m"

View File

@ -1 +1 @@
24.8.3 24.8.4

View File

@ -83,8 +83,19 @@ if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
set timeout="1" set timeout="1"
menuentry 'Boot DSM kernel directly' --id direct { menuentry 'Boot DSM kernel directly' --id direct {
set_gfxpayload 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 "${dsm_cmdline}"
echo ""
echo "Loading DSM kernel..." echo "Loading DSM kernel..."
linux /zImage-dsm ${dsm_cmdline} linux /zImage-dsm ${dsm_cmdline}
echo "Loading DSM initramfs..." echo "Loading DSM initramfs..."

View File

@ -140,9 +140,16 @@
cat /proc/sys/kernel/syno_mac_address1 # 查看当前鉴权的 mac1 (/proc/sys/kernel/syno_mac_addresses) cat /proc/sys/kernel/syno_mac_address1 # 查看当前鉴权的 mac1 (/proc/sys/kernel/syno_mac_addresses)
sysctl -n kernel.syno_internal_netif_num # 查看当前鉴权的网卡数量 sysctl -n kernel.syno_internal_netif_num # 查看当前鉴权的网卡数量
cat /proc/sys/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 # 设置线程数 (无效) 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 # 查看已加载驱动 lsmod # 查看已加载驱动
lsusb # 查看 USB 设备 lsusb # 查看 USB 设备