mirror of
https://github.com/RROrg/rr.git
synced 2025-08-22 20:47:05 +08:00
Compare commits
11 Commits
c6d07daeb9
...
5a0b1a3712
Author | SHA1 | Date | |
---|---|---|---|
|
5a0b1a3712 | ||
|
4e73320ae6 | ||
|
3217da010b | ||
|
7b6b549667 | ||
|
f28d268737 | ||
|
cf2776b207 | ||
|
6f3e7f5d99 | ||
|
bb8cc5a139 | ||
|
7d0d5df268 | ||
|
c904afc93f | ||
|
690bc19393 |
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.
@ -156,6 +156,9 @@ CMDLINE['rootwait']=""
|
||||
CMDLINE['loglevel']="15"
|
||||
CMDLINE['log_buf_len']="32M"
|
||||
CMDLINE['panic']="${KERNELPANIC:-0}"
|
||||
CMDLINE['pcie_aspm']="off"
|
||||
CMDLINE['nox2apic']=""
|
||||
CMDLINE['nomodeset']=""
|
||||
CMDLINE['modprobe.blacklist']="${MODBLACKLIST}"
|
||||
|
||||
# if [ -n "$(ls /dev/mmcblk* 2>/dev/null)" ] && [ ! "${BUS}" = "mmc" ] && [ ! "${EMMCBOOT}" = "true" ]; then
|
||||
|
@ -1,4 +1,4 @@
|
||||
RR_VERSION="24.8.0"
|
||||
RR_VERSION="24.8.1"
|
||||
RR_RELEASE=""
|
||||
RR_TITLE="RR v${RR_VERSION}"
|
||||
|
||||
|
@ -99,7 +99,7 @@ function generateSerial() {
|
||||
MIDDLE="$(readConfigArray "${1}.middle" "${WORK_PATH}/serialnumber.yml" 2>/dev/null | sort -R | tail -1)"
|
||||
SUFFIX="$(readConfigKey "${1}.suffix" "${WORK_PATH}/serialnumber.yml" 2>/dev/null)"
|
||||
|
||||
SERIAL="${PREFIX:-"0000"}${MIDDLE:-"XXX"}"
|
||||
local SERIAL="${PREFIX:-"0000"}${MIDDLE:-"XXX"}"
|
||||
case "${SUFFIX:-"alpha"}" in
|
||||
numeric)
|
||||
SERIAL+="$(random)"
|
||||
@ -120,7 +120,7 @@ function generateMacAddress() {
|
||||
MACPRE="$(readConfigArray "${1}.macpre" "${WORK_PATH}/serialnumber.yml" 2>/dev/null)"
|
||||
MACSUF="$(printf '%02x%02x%02x' $((${RANDOM} % 256)) $((${RANDOM} % 256)) $((${RANDOM} % 256)))"
|
||||
NUM=${2:-1}
|
||||
MACS=""
|
||||
local MACS=""
|
||||
for I in $(seq 1 ${NUM}); do
|
||||
MACS+="$(printf '%06x%06x' $((0x${MACPRE:-"001132"})) $(($((0x${MACSUF})) + ${I})))"
|
||||
[ ${I} -lt ${NUM} ] && MACS+=" "
|
||||
@ -213,7 +213,7 @@ function _get_fastest() {
|
||||
speedlist+="${I} ${speed:-999}\n" # Assign default value 999 if speed is empty
|
||||
done
|
||||
fi
|
||||
fastest="$(echo -e "${speedlist}" | tr -s '\n' | sort -k2n | head -1)"
|
||||
local fastest="$(echo -e "${speedlist}" | tr -s '\n' | sort -k2n | head -1)"
|
||||
URL="$(echo "${fastest}" | awk '{print $1}')"
|
||||
SPD="$(echo "${fastest}" | awk '{print $2}')" # It is a float type
|
||||
echo "${URL}"
|
||||
@ -224,25 +224,25 @@ function _get_fastest() {
|
||||
# sort netif name
|
||||
# @1 -mac1,mac2,mac3...
|
||||
function _sort_netif() {
|
||||
ETHLIST=""
|
||||
ETHX="$(ls /sys/class/net/ 2>/dev/null | grep eth)" # real network cards list
|
||||
local ETHLIST=""
|
||||
local ETHX="$(ls /sys/class/net/ 2>/dev/null | grep eth)" # real network cards list
|
||||
for ETH in ${ETHX}; do
|
||||
MAC="$(cat /sys/class/net/${ETH}/address 2>/dev/null | sed 's/://g' | tr '[:upper:]' '[:lower:]')"
|
||||
BUS="$(ethtool -i ${ETH} 2>/dev/null | grep bus-info | cut -d' ' -f2)"
|
||||
local MAC="$(cat /sys/class/net/${ETH}/address 2>/dev/null | sed 's/://g' | tr '[:upper:]' '[:lower:]')"
|
||||
local BUS="$(ethtool -i ${ETH} 2>/dev/null | grep bus-info | cut -d' ' -f2)"
|
||||
ETHLIST="${ETHLIST}${BUS} ${MAC} ${ETH}\n"
|
||||
done
|
||||
ETHLISTTMPM=""
|
||||
ETHLISTTMPB="$(echo -e "${ETHLIST}" | sort)"
|
||||
local ETHLISTTMPM=""
|
||||
local ETHLISTTMPB="$(echo -e "${ETHLIST}" | sort)"
|
||||
if [ -n "${1}" ]; then
|
||||
MACS="$(echo "${1}" | sed 's/://g' | tr '[:upper:]' '[:lower:]' | tr ',' ' ')"
|
||||
local MACS="$(echo "${1}" | sed 's/://g' | tr '[:upper:]' '[:lower:]' | tr ',' ' ')"
|
||||
for MACX in ${MACS}; do
|
||||
ETHLISTTMPM="${ETHLISTTMPM}$(echo -e "${ETHLISTTMPB}" | grep "${MACX}")\n"
|
||||
ETHLISTTMPB="$(echo -e "${ETHLISTTMPB}" | grep -v "${MACX}")\n"
|
||||
done
|
||||
fi
|
||||
ETHLIST="$(echo -e "${ETHLISTTMPM}${ETHLISTTMPB}" | grep -v '^$')"
|
||||
ETHSEQ="$(echo -e "${ETHLIST}" | awk '{print $3}' | sed 's/eth//g')"
|
||||
ETHNUM="$(echo -e "${ETHLIST}" | wc -l)"
|
||||
local ETHLIST="$(echo -e "${ETHLISTTMPM}${ETHLISTTMPB}" | grep -v '^$')"
|
||||
local ETHSEQ="$(echo -e "${ETHLIST}" | awk '{print $3}' | sed 's/eth//g')"
|
||||
local ETHNUM="$(echo -e "${ETHLIST}" | wc -l)"
|
||||
|
||||
# echo "${ETHSEQ}"
|
||||
# sort
|
||||
@ -267,15 +267,12 @@ function _sort_netif() {
|
||||
# get bus of disk
|
||||
# 1 - device path
|
||||
function getBus() {
|
||||
BUS=""
|
||||
# xvd
|
||||
[ -z "${BUS}" ] && BUS=$(lsblk -dpno KNAME,SUBSYSTEMS 2>/dev/null | grep "${1} " | grep -q "xen" && echo "xen")
|
||||
# usb/ata(sata/ide)/scsi
|
||||
[ -z "${BUS}" ] && BUS=$(udevadm info --query property --name "${1}" 2>/dev/null | grep ID_BUS | cut -d= -f2 | sed 's/ata/sata/')
|
||||
# usb/sata(sata/ide)/nvme
|
||||
[ -z "${BUS}" ] && BUS=$(lsblk -dpno KNAME,TRAN 2>/dev/null | grep "${1} " | awk '{print $2}') #Spaces are intentional
|
||||
# usb/scsi(sata/ide)/virtio(scsi/virtio)/mmc/nvme
|
||||
[ -z "${BUS}" ] && BUS=$(lsblk -dpno KNAME,SUBSYSTEMS 2>/dev/null | grep "${1} " | awk '{print $2}' | awk -F':' '{print $(NF-1)}' | sed 's/_host//') # Spaces are intentional
|
||||
local BUS=""
|
||||
# usb/ata(ide)/sata/sas/virtio/mmc/nvme
|
||||
[ -z "${BUS}" ] && BUS=$(lsblk -dpno KNAME,TRAN 2>/dev/null | grep "${1} " | awk '{print $2}' | sed 's/^ata$/ide/') #Spaces are intentional
|
||||
# usb/scsi(ide/sata/sas)/virtio/mmc/nvme/vmbus/xen(xvd)
|
||||
[ -z "${BUS}" ] && BUS=$(lsblk -dpno KNAME,SUBSYSTEMS 2>/dev/null | grep "${1} " | awk '{print $2}' | awk -F':' '{print $(NF-1)}' | sed 's/_host//' | sed 's/^.*xen.*$/xen/') # Spaces are intentional
|
||||
[ -z "${BUS}" ] && BUS="unknown"
|
||||
echo "${BUS}"
|
||||
return 0
|
||||
}
|
||||
@ -284,7 +281,7 @@ function getBus() {
|
||||
# get IP
|
||||
# 1 - ethN
|
||||
function getIP() {
|
||||
IP=""
|
||||
local IP=""
|
||||
if [ -n "${1}" -a -d "/sys/class/net/${1}" ]; then
|
||||
IP=$(ip route show dev ${1} 2>/dev/null | sed -n 's/.* via .* src \(.*\) metric .*/\1/p')
|
||||
[ -z "${IP}" ] && IP=$(ip addr show ${1} scope global 2>/dev/null | grep -E "inet .* eth" | awk '{print $2}' | cut -f1 -d'/' | head -1)
|
||||
@ -300,13 +297,13 @@ function getIP() {
|
||||
# get logo of model
|
||||
# 1 - model
|
||||
function getLogo() {
|
||||
MODEL="${1}"
|
||||
local MODEL="${1}"
|
||||
rm -f "${PART3_PATH}/logo.png"
|
||||
fastest="www.synology.com" # $(_get_fastest "www.synology.com" "www.synology.cn")
|
||||
local fastest="www.synology.com" # $(_get_fastest "www.synology.com" "www.synology.cn")
|
||||
if [ $? -ne 0 ]; then
|
||||
return 1
|
||||
fi
|
||||
STATUS=$(curl -skL --connect-timeout 10 -w "%{http_code}" "https://${fastest}/api/products/getPhoto?product=${MODEL/+/%2B}&type=img_s&sort=0" -o "${PART3_PATH}/logo.png")
|
||||
local STATUS=$(curl -skL --connect-timeout 10 -w "%{http_code}" "https://${fastest}/api/products/getPhoto?product=${MODEL/+/%2B}&type=img_s&sort=0" -o "${PART3_PATH}/logo.png")
|
||||
if [ $? -ne 0 -o ${STATUS:-0} -ne 200 -o ! -f "${PART3_PATH}/logo.png" ]; then
|
||||
rm -f "${PART3_PATH}/logo.png"
|
||||
return 1
|
||||
@ -362,7 +359,7 @@ function delCmdline() {
|
||||
# Rebooting
|
||||
# 1 - mode
|
||||
function rebootTo() {
|
||||
MODES="config recovery junior"
|
||||
local MODES="config recovery junior bios memtest"
|
||||
if [ -z "${1}" ] || ! echo "${MODES}" | grep -qw "${1}"; then exit 1; fi
|
||||
# echo "Rebooting to ${1} mode"
|
||||
GRUBPATH="$(dirname $(find ${PART1_PATH}/ -name grub.cfg 2>/dev/null | head -1))"
|
||||
@ -379,7 +376,7 @@ function rebootTo() {
|
||||
function connectwlanif() {
|
||||
[ -z "${1}" -o ! -d "/sys/class/net/${1}" ] && return 1
|
||||
|
||||
CONF=""
|
||||
local CONF=""
|
||||
[ -z "${CONF}" -a -f "${PART1_PATH}/wpa_supplicant.conf.${1}" ] && CONF="${PART1_PATH}/wpa_supplicant.conf.${1}"
|
||||
[ -z "${CONF}" -a -f "${PART1_PATH}/wpa_supplicant.conf" ] && CONF="${PART1_PATH}/wpa_supplicant.conf"
|
||||
[ -z "${CONF}" ] && return 2
|
||||
@ -396,7 +393,7 @@ function connectwlanif() {
|
||||
# Find and mount the DSM root filesystem
|
||||
# (based on pocopico's TCRP code)
|
||||
function findDSMRoot() {
|
||||
DSMROOTS=""
|
||||
local DSMROOTS=""
|
||||
[ -z "${DSMROOTS}" ] && DSMROOTS="$(mdadm --detail --scan 2>/dev/null | grep -E "name=SynologyNAS:0|name=DiskStation:0|name=SynologyNVR:0|name=BeeStation:0" | awk '{print $2}' | uniq)"
|
||||
[ -z "${DSMROOTS}" ] && DSMROOTS="$(lsblk -pno KNAME,PARTN,FSTYPE,FSVER,LABEL | grep -E "sd[a-z]{1,2}1" | grep -w "linux_raid_member" | grep "0.9" | awk '{print $1}')"
|
||||
echo "${DSMROOTS}"
|
||||
|
@ -111,7 +111,7 @@ PID="0x0001"
|
||||
TYPE="DoM"
|
||||
BUS=$(getBus "${LOADER_DISK}")
|
||||
|
||||
BUSLIST="usb sata scsi nvme mmc xen"
|
||||
BUSLIST="usb sata scsi nvme mmc ide vmbus xen"
|
||||
if [ "${BUS}" = "usb" ]; then
|
||||
VID="0x$(udevadm info --query property --name ${LOADER_DISK} 2>/dev/null | grep ID_VENDOR_ID | cut -d= -f2)"
|
||||
PID="0x$(udevadm info --query property --name ${LOADER_DISK} 2>/dev/null | grep ID_MODEL_ID | cut -d= -f2)"
|
||||
@ -121,7 +121,7 @@ elif ! echo "${BUSLIST}" | grep -wq "${BUS}"; then
|
||||
echo "LOCALBUILD MODE"
|
||||
TYPE="PC"
|
||||
else
|
||||
die "$(TEXT "Loader disk neither USB or SATA/SCSI/NVME/MMC/XEN DoM")"
|
||||
die "$(TEXT "Loader disk neither USB or SATA/SCSI/NVME/MMC/IDE/VMBUS/XEN DoM")"
|
||||
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
@ -1652,7 +1652,7 @@ function setWirelessAccount() {
|
||||
function showDisksInfo() {
|
||||
MSG=""
|
||||
NUMPORTS=0
|
||||
[ $(lspci -d ::106 2>/dev/null | wc -l) -gt 0 ] && MSG+="\nATA:\n"
|
||||
[ $(lspci -d ::106 2>/dev/null | wc -l) -gt 0 ] && MSG+="\nSATA:\n"
|
||||
for PCI in $(lspci -d ::106 2>/dev/null | awk '{print $1}'); do
|
||||
NAME=$(lspci -s "${PCI}" 2>/dev/null | sed "s/\ .*://")
|
||||
MSG+="\Zb${NAME}\Zn\nPorts: "
|
||||
@ -1696,6 +1696,14 @@ function showDisksInfo() {
|
||||
MSG+="\Zb${NAME}\Zn\nNumber: ${PORTNUM}\n"
|
||||
NUMPORTS=$((${NUMPORTS} + ${PORTNUM}))
|
||||
done
|
||||
[ $(lspci -d ::101 2>/dev/null | wc -l) -gt 0 ] && MSG+="\nIDE:\n"
|
||||
for PCI in $(lspci -d ::101 2>/dev/null | awk '{print $1}'); do
|
||||
NAME=$(lspci -s "${PCI}" 2>/dev/null | sed "s/\ .*://")
|
||||
PORTNUM=$(ls -l /sys/block/* 2>/dev/null | grep "${PCI}" | wc -l)
|
||||
[ ${PORTNUM} -eq 0 ] && continue
|
||||
MSG+="\Zb${NAME}\Zn\nNumber: ${PORTNUM}\n"
|
||||
NUMPORTS=$((${NUMPORTS} + ${PORTNUM}))
|
||||
done
|
||||
[ $(ls -l /sys/class/scsi_host 2>/dev/null | grep usb | wc -l) -gt 0 ] && MSG+="\nUSB:\n"
|
||||
for PCI in $(lspci -d ::c03 2>/dev/null | awk '{print $1}'); do
|
||||
NAME=$(lspci -s "${PCI}" 2>/dev/null | sed "s/\ .*://")
|
||||
@ -1721,6 +1729,13 @@ function showDisksInfo() {
|
||||
MSG+="\Zb${NAME}\Zn\nNumber: ${PORTNUM}\n"
|
||||
NUMPORTS=$((${NUMPORTS} + ${PORTNUM}))
|
||||
done
|
||||
if [ $(lsblk -dpno KNAME,SUBSYSTEMS 2>/dev/null | grep 'vmbus:acpi' | wc -l) -gt 0 ]; then
|
||||
MSG+="\nVMBUS:\n"
|
||||
NAME="vmbus:acpi"
|
||||
PORTNUM=$(lsblk -dpno KNAME,SUBSYSTEMS 2>/dev/null | grep 'vmbus:acpi' | wc -l)
|
||||
MSG+="\Zb${NAME}\Zn\nNumber: ${PORTNUM}\n"
|
||||
NUMPORTS=$((${NUMPORTS} + ${PORTNUM}))
|
||||
fi
|
||||
MSG+="\n"
|
||||
MSG+="$(printf "$(TEXT "\nTotal of ports: %s\n")" "${NUMPORTS}")"
|
||||
MSG+="$(TEXT "\nPorts with color \Z1red\Zn as DUMMY, color \Z2\Zbgreen\Zn has drive connected.")"
|
||||
@ -1740,7 +1755,7 @@ function formatDisks() {
|
||||
[ "${KNAME}" = "${LOADER_DISK}" -o "${PKNAME}" = "${LOADER_DISK}" ] && continue
|
||||
[ -z "${ID}" ] && ID="Unknown"
|
||||
printf "\"%s\" \"%-6s %-4s %s\" \"off\"\n" "${KNAME}" "${SIZE}" "${TYPE}" "${ID}" >>"${TMP_PATH}/opts"
|
||||
done <<<$(lsblk -pno KNAME,ID,SIZE,TYPE,PKNAME)
|
||||
done <<<$(lsblk -Jpno KNAME,ID,SIZE,TYPE,PKNAME 2>/dev/null | sed 's|null|"N/A"|g' | jq -r '.blockdevices[] | "\(.kname) \(.id) \(.size) \(.type) \(.pkname)"' 2>/dev/null)
|
||||
if [ ! -f "${TMP_PATH}/opts" ]; then
|
||||
DIALOG --title "$(TEXT "Advanced")" \
|
||||
--msgbox "$(TEXT "No disk found!")" 0 0
|
||||
@ -2123,7 +2138,7 @@ function cloneBootloaderDisk() {
|
||||
[ -z "${KNAME}" -o -z "${ID}" ] && continue
|
||||
[ "${KNAME}" = "${LOADER_DISK}" -o "${PKNAME}" = "${LOADER_DISK}" ] && continue
|
||||
printf "\"%s\" \"%-6s %s\" \"off\"\n" "${KNAME}" "${SIZE}" "${ID}" >>"${TMP_PATH}/opts"
|
||||
done <<<$(lsblk -dpno KNAME,ID,SIZE,PKNAME)
|
||||
done <<<$(lsblk -Jpno KNAME,ID,SIZE,PKNAME 2>/dev/null | sed 's|null|"N/A"|g' | jq -r '.blockdevices[] | "\(.kname) \(.id) \(.size) \(.pkname)"' 2>/dev/null)
|
||||
if [ ! -f "${TMP_PATH}/opts" ]; then
|
||||
DIALOG --title "$(TEXT "Advanced")" \
|
||||
--msgbox "$(TEXT "No disk found!")" 0 0
|
||||
@ -3318,14 +3333,14 @@ function updateMenu() {
|
||||
fi
|
||||
case "$(cat ${TMP_PATH}/resp)" in
|
||||
a)
|
||||
F="$(ls ${TMP_PATH}/updateall*.zip 2>/dev/null | sort -V | tail -n 1)"
|
||||
F="$(ls ${PART3_PATH}/updateall*.zip ${TMP_PATH}/updateall*.zip 2>/dev/null | sort -V | tail -n 1)"
|
||||
[ -n "${F}" ] && [ -f "${F}.downloading" ] && rm -f "${F}" && rm -f "${F}.downloading" && F=""
|
||||
[ -z "${F}" ] && downloadExts "$(TEXT "All")" "${CUR_RR_VER:-None}" "https://github.com/RROrg/rr" "updateall" "${SILENT}"
|
||||
F="$(ls ${TMP_PATH}/updateall*.zip 2>/dev/null | sort -V | tail -n 1)"
|
||||
[ -n "${F}" ] && updateRR "${F}" "${SILENT}" && rm -f ${TMP_PATH}/updateall*.zip
|
||||
;;
|
||||
r)
|
||||
F="$(ls ${TMP_PATH}/update*.zip 2>/dev/null | sort -V | tail -n 1)"
|
||||
F="$(ls ${PART3_PATH}/update*.zip ${TMP_PATH}/update*.zip 2>/dev/null | sort -V | tail -n 1)"
|
||||
[ -n "${F}" ] && [ -f "${F}.downloading" ] && rm -f "${F}" && rm -f "${F}.downloading" && F=""
|
||||
[ -z "${F}" ] && downloadExts "$(TEXT "RR")" "${CUR_RR_VER:-None}" "https://github.com/RROrg/rr" "update" "${SILENT}"
|
||||
F="$(ls ${TMP_PATH}/update*.zip 2>/dev/null | sort -V | tail -n 1)"
|
||||
@ -3337,7 +3352,7 @@ function updateMenu() {
|
||||
--msgbox "$(printf "$(TEXT "No longer supports update %s separately. Please choose to update All/RR")" "$(TEXT "Addons")")" 0 0
|
||||
continue
|
||||
fi
|
||||
F="$(ls ${TMP_PATH}/addons*.zip 2>/dev/null | sort -V | tail -n 1)"
|
||||
F="$(ls ${PART3_PATH}/addons*.zip ${TMP_PATH}/addons*.zip 2>/dev/null | sort -V | tail -n 1)"
|
||||
[ -n "${F}" ] && [ -f "${F}.downloading" ] && rm -f "${F}" && rm -f "${F}.downloading" && F=""
|
||||
[ -z "${F}" ] && downloadExts "$(TEXT "Addons")" "${CUR_ADDONS_VER:-None}" "https://github.com/RROrg/rr-addons" "addons" "${SILENT}"
|
||||
F="$(ls ${TMP_PATH}/addons*.zip 2>/dev/null | sort -V | tail -n 1)"
|
||||
@ -3349,7 +3364,7 @@ function updateMenu() {
|
||||
--msgbox "$(printf "$(TEXT "No longer supports update %s separately. Please choose to update All/RR")" "$(TEXT "Modules")")" 0 0
|
||||
continue
|
||||
fi
|
||||
F="$(ls ${TMP_PATH}/modules*.zip 2>/dev/null | sort -V | tail -n 1)"
|
||||
F="$(ls ${PART3_PATH}/modules*.zip ${TMP_PATH}/modules*.zip 2>/dev/null | sort -V | tail -n 1)"
|
||||
[ -n "${F}" ] && [ -f "${F}.downloading" ] && rm -f "${F}" && rm -f "${F}.downloading" && F=""
|
||||
[ -z "${F}" ] && downloadExts "$(TEXT "Modules")" "${CUR_MODULES_VER:-None}" "https://github.com/RROrg/rr-modules" "modules" "${SILENT}"
|
||||
F="$(ls ${TMP_PATH}/modules*.zip 2>/dev/null | sort -V | tail -n 1)"
|
||||
@ -3361,7 +3376,7 @@ function updateMenu() {
|
||||
--msgbox "$(printf "$(TEXT "No longer supports update %s separately. Please choose to update All/RR")" "$(TEXT "LKMs")")" 0 0
|
||||
continue
|
||||
fi
|
||||
F="$(ls ${TMP_PATH}/rp-lkms*.zip 2>/dev/null | sort -V | tail -n 1)"
|
||||
F="$(ls ${PART3_PATH}/rp-lkms*.zip ${TMP_PATH}/rp-lkms*.zip 2>/dev/null | sort -V | tail -n 1)"
|
||||
[ -n "${F}" ] && [ -f "${F}.downloading" ] && rm -f "${F}" && rm -f "${F}.downloading" && F=""
|
||||
[ -z "${F}" ] && downloadExts "$(TEXT "LKMs")" "${CUR_LKMS_VER:-None}" "https://github.com/RROrg/rr-lkms" "rp-lkms" "${SILENT}"
|
||||
F="$(ls ${TMP_PATH}/rp-lkms*.zip 2>/dev/null | sort -V | tail -n 1)"
|
||||
@ -3373,7 +3388,7 @@ function updateMenu() {
|
||||
--msgbox "$(printf "$(TEXT "No longer supports update %s separately. Please choose to update All/RR")" "$(TEXT "CKs")")" 0 0
|
||||
continue
|
||||
fi
|
||||
F="$(ls ${TMP_PATH}/rr-cks*.zip 2>/dev/null | sort -V | tail -n 1)"
|
||||
F="$(ls ${PART3_PATH}/rr-cks*.zip ${TMP_PATH}/rr-cks*.zip 2>/dev/null | sort -V | tail -n 1)"
|
||||
[ -n "${F}" ] && [ -f "${F}.downloading" ] && rm -f "${F}" && rm -f "${F}.downloading" && F=""
|
||||
[ -z "${F}" ] && downloadExts "$(TEXT "CKs")" "${CUR_CKS_VER:-None}" "https://github.com/RROrg/rr-cks" "rr-cks" "${SILENT}"
|
||||
F="$(ls ${TMP_PATH}/rr-cks*.zip 2>/dev/null | sort -V | tail -n 1)"
|
||||
@ -3613,9 +3628,9 @@ else
|
||||
echo "x \"$(TEXT "Reboot to RR")\"" >>"${TMP_PATH}/menu"
|
||||
echo "y \"$(TEXT "Reboot to Recovery")\"" >>"${TMP_PATH}/menu"
|
||||
echo "z \"$(TEXT "Reboot to Junior")\"" >>"${TMP_PATH}/menu"
|
||||
if efibootmgr | grep -q "^Boot0000"; then
|
||||
echo "b \"$(TEXT "Reboot to BIOS")\"" >>"${TMP_PATH}/menu"
|
||||
fi
|
||||
#if efibootmgr | grep -q "^Boot0000"; then
|
||||
echo "b \"$(TEXT "Reboot to BIOS")\"" >>"${TMP_PATH}/menu"
|
||||
#fi
|
||||
echo "s \"$(TEXT "Back to shell")\"" >>"${TMP_PATH}/menu"
|
||||
echo "e \"$(TEXT "Exit")\"" >>"${TMP_PATH}/menu"
|
||||
|
||||
@ -3657,8 +3672,9 @@ else
|
||||
b)
|
||||
DIALOG --title "$(TEXT "Main menu")" \
|
||||
--infobox "$(TEXT "Reboot to BIOS")" 0 0
|
||||
efibootmgr -n 0000 >/dev/null 2>&1
|
||||
reboot
|
||||
#efibootmgr -n 0000 >/dev/null 2>&1
|
||||
#reboot
|
||||
rebootTo bios
|
||||
exit 0
|
||||
;;
|
||||
s)
|
||||
|
@ -1 +1 @@
|
||||
24.8.0
|
||||
24.8.1
|
||||
|
@ -10,6 +10,11 @@ insmod linux
|
||||
insmod gzio
|
||||
insmod fat
|
||||
insmod ext2
|
||||
insmod ata
|
||||
insmod btrfs
|
||||
insmod ntfs
|
||||
insmod part_msdos
|
||||
insmod part_gpt
|
||||
insmod png
|
||||
insmod jpeg
|
||||
|
||||
@ -70,7 +75,7 @@ function set_gfxpayload {
|
||||
fi
|
||||
}
|
||||
|
||||
set RR_CMDLINE="earlyprintk earlycon=uart8250,io,0x3f8,115200n8 console=ttyS0,115200n8 root=/dev/ram rootwait pcie_aspm=off net.ifnames=0 nox2apic nomodeset intremap=off"
|
||||
set RR_CMDLINE="earlyprintk earlycon=uart8250,io,0x3f8,115200n8 console=ttyS0,115200n8 root=/dev/ram rootwait net.ifnames=0 panic=5 pcie_aspm=off nox2apic nomodeset"
|
||||
|
||||
search --set=root --label "RR3"
|
||||
if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
|
||||
@ -123,6 +128,15 @@ menuentry 'Configure loader' --id config {
|
||||
echo "Booting..."
|
||||
}
|
||||
|
||||
menuentry 'Enter BIOS Setup' --id bios {
|
||||
fwsetup
|
||||
}
|
||||
|
||||
menuentry 'Start Memtest86+' --id memtest {
|
||||
echo "Loading memtest86+..."
|
||||
linux ${prefix}/memtest
|
||||
}
|
||||
|
||||
if [ ${vesa_mode} = 1 ]; then
|
||||
menuentry 'Change vesa to text video mode' --id videomode {
|
||||
set vesa_mode=0
|
||||
@ -137,8 +151,3 @@ else
|
||||
configfile ${prefix}/grub.cfg
|
||||
}
|
||||
fi
|
||||
|
||||
menuentry 'Start Memtest86+' --id memtest {
|
||||
echo "Loading memtest86+..."
|
||||
linux ${prefix}/memtest
|
||||
}
|
||||
|
11
guide.md
11
guide.md
@ -232,6 +232,17 @@
|
||||
netstat -tunlp # 查看端口
|
||||
lsof -i :7681 # 查看 7681 端口占用情况
|
||||
|
||||
# CPU
|
||||
cat /sys/devices/system/cpu/cpufreq/boost # 查看 CPU 睿频状态
|
||||
echo 1 > /sys/devices/system/cpu/cpufreq/boost # 开启 CPU 睿频
|
||||
echo 0 > /sys/devices/system/cpu/cpufreq/boost # 关闭 CPU 睿频
|
||||
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_governors # 查看可用的 CPU 频率调节器状态
|
||||
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor # 查看 CPU 频率调节器状态
|
||||
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq # 查看 CPU 当前频率
|
||||
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq # 查看 CPU 最大频率
|
||||
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq # 查看 CPU 最小频率
|
||||
|
||||
|
||||
# 日志相关
|
||||
dmesg # 内核日志
|
||||
cat /proc/cmdline # 内核启动参数
|
||||
|
Loading…
x
Reference in New Issue
Block a user