mirror of
https://github.com/RROrg/rr.git
synced 2025-09-23 12:17:11 +08:00
优化 boot.sh 和 init.sh,修复 MAC 地址获取逻辑,支持 Docker 环境
This commit is contained in:
parent
e8dc96a9b3
commit
9dca1fe830
@ -397,7 +397,7 @@ else
|
||||
for N in ${ETHX}; do
|
||||
COUNT=0
|
||||
DRIVER="$(basename "$(realpath "/sys/class/net/${N}/device/driver" 2>/dev/null)" 2>/dev/null)"
|
||||
MAC="$(cat "/sys/class/net/${N}/address" 2>/dev/null)"
|
||||
MAC="$(cat "/sys/class/net/${N}/address" 2>/dev/null)" || MAC="00:00:00:00:00:00"
|
||||
printf "%s(%s): " "${N}" "${MAC}@${DRIVER}"
|
||||
while true; do
|
||||
if false && [ ! "${N::3}" = "eth" ]; then
|
||||
|
@ -171,6 +171,9 @@ if ! loaderIsConfigured; then
|
||||
elif grep -q "IWANTTOCHANGETHECONFIG" /proc/cmdline; then
|
||||
printf "\033[1;33m%s\033[0m\n" "$(TEXT "User requested edit settings.")"
|
||||
BOOT=0
|
||||
elif [ -f "/.dockerenv" ]; then
|
||||
printf "\033[1;33m%s\033[0m\n" "$(TEXT "Docker edit settings.")"
|
||||
BOOT=0
|
||||
fi
|
||||
|
||||
# If is to boot automatically, do it
|
||||
@ -202,13 +205,15 @@ while [ ${COUNT} -lt 30 ]; do
|
||||
sleep 1
|
||||
done
|
||||
|
||||
[ ! -f /var/run/dhcpcd/pid ] && /etc/init.d/S41dhcpcd restart >/dev/null 2>&1 || true
|
||||
if [ ! -f "/.dockerenv" ] && [ ! "LOCALBUILD" = "${LOADER_DISK}" ]; then
|
||||
[ ! -f /var/run/dhcpcd/pid ] && /etc/init.d/S41dhcpcd restart >/dev/null 2>&1 || true
|
||||
fi
|
||||
|
||||
printf "$(TEXT "Waiting IP.\n")"
|
||||
for N in ${ETHX}; do
|
||||
COUNT=0
|
||||
DRIVER="$(basename "$(realpath "/sys/class/net/${N}/device/driver" 2>/dev/null)" 2>/dev/null)"
|
||||
MAC="$(cat "/sys/class/net/${N}/address" 2>/dev/null)"
|
||||
MAC="$(cat "/sys/class/net/${N}/address" 2>/dev/null)" || MAC="00:00:00:00:00:00"
|
||||
printf "%s(%s): " "${N}" "${MAC}@${DRIVER}"
|
||||
while true; do
|
||||
if [ -z "$(cat "/sys/class/net/${N}/carrier" 2>/dev/null)" ]; then
|
||||
@ -257,7 +262,7 @@ fi
|
||||
printf "\n"
|
||||
|
||||
DSMLOGO="$(readConfigKey "dsmlogo" "${USER_CONFIG_FILE}")"
|
||||
if [ "${DSMLOGO}" = "true" ] && [ -c "/dev/fb0" ] && [ ! "LOCALBUILD" = "${LOADER_DISK}" ]; then
|
||||
if [ "${DSMLOGO}" = "true" ] && [ -c "/dev/fb0" ] && [ ! -f "/.dockerenv" ] && [ ! "LOCALBUILD" = "${LOADER_DISK}" ]; then
|
||||
IP="$(getIP)"
|
||||
echo "${IP}" | grep -q "^169\.254\." && IP=""
|
||||
[ -n "${IP}" ] && URL="http://${IP}:${TTYD:-7681}" || URL="http://rr:${TTYD:-7681}"
|
||||
@ -268,7 +273,7 @@ if [ "${DSMLOGO}" = "true" ] && [ -c "/dev/fb0" ] && [ ! "LOCALBUILD" = "${LOADE
|
||||
[ -f "${TMP_PATH}/qrcode_qhxg.png" ] && echo | fbv -acufi "${TMP_PATH}/qrcode_qhxg.png" >/dev/null 2>&1 || true
|
||||
fi
|
||||
WEBHOOKURL="$(readConfigKey "webhookurl" "${USER_CONFIG_FILE}")"
|
||||
if [ -n "${WEBHOOKURL}" ] && [ ! -f "${TMP_PATH}/WebhookSent" ]; then
|
||||
if [ -n "${WEBHOOKURL}" ] && [ ! -f "${TMP_PATH}/WebhookSent" ] && [ ! -f "/.dockerenv" ] && [ ! "LOCALBUILD" = "${LOADER_DISK}" ]; then
|
||||
DMI="$(dmesg 2>/dev/null | grep -i "DMI:" | head -1 | sed 's/\[.*\] DMI: //i')"
|
||||
IP="$(getIP)"
|
||||
echo "${IP}" | grep -q "^169\.254\." && IP=""
|
||||
|
@ -1513,12 +1513,16 @@ function make() {
|
||||
###############################################################################
|
||||
# Calls boot.sh to boot into DSM kernel/ramdisk
|
||||
function boot() {
|
||||
[ -f "${PART1_PATH}/.build" ] && DIALOG --title "$(TEXT "Alert")" \
|
||||
--yesno "$(TEXT "Config changed, would you like to rebuild the loader?")" 0 0
|
||||
if [ $? -eq 0 ]; then
|
||||
make || return
|
||||
if [ -f "${PART1_PATH}/.build" ]; then
|
||||
DIALOG --title "$(TEXT "Alert")" \
|
||||
--yesno "$(TEXT "Config changed, would you like to rebuild the loader?")" 0 0
|
||||
if [ $? -eq 0 ]; then
|
||||
make || return 1
|
||||
"${WORK_PATH}/boot.sh" && exit 0
|
||||
fi
|
||||
else
|
||||
"${WORK_PATH}/boot.sh" && exit 0
|
||||
fi
|
||||
${WORK_PATH}/boot.sh
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
@ -2456,9 +2460,9 @@ function cloneBootloaderDisk() {
|
||||
fdisk -l "${TODESK}"
|
||||
sleep 1
|
||||
|
||||
NEW_BLDISK_P1="$(lsblk "${TODESK}" -pno KNAME,LABEL 2>/dev/null | grep 'RR1' | awk '{print $1}')"
|
||||
NEW_BLDISK_P2="$(lsblk "${TODESK}" -pno KNAME,LABEL 2>/dev/null | grep 'RR2' | awk '{print $1}')"
|
||||
NEW_BLDISK_P3="$(lsblk "${TODESK}" -pno KNAME,LABEL 2>/dev/null | grep 'RR3' | awk '{print $1}')"
|
||||
NEW_BLDISK_P1="$(blkid | grep -v "${LOADER_DISK_PART1}:" | awk -F: '/LABEL="RR1"/ {print $1}')"
|
||||
NEW_BLDISK_P2="$(blkid | grep -v "${LOADER_DISK_PART2}:" | awk -F: '/LABEL="RR2"/ {print $1}')"
|
||||
NEW_BLDISK_P3="$(blkid | grep -v "${LOADER_DISK_PART3}:" | awk -F: '/LABEL="RR3"/ {print $1}')"
|
||||
SIZEOFDISK=$(blockdev --getsz "${TODESK}" 2>/dev/null) # SIZEOFDISK=$(cat /sys/block/${TODESK/\/dev\//}/size)
|
||||
ENDSECTOR=$(fdisk -l "${TODESK}" | grep "${NEW_BLDISK_P3}" | awk '{print $(NF-4)}')
|
||||
if [ ${SIZEOFDISK:-0} -ne $((${ENDSECTOR:-0} + 1)) ]; then
|
||||
@ -3477,19 +3481,19 @@ function settingsMenu() {
|
||||
|
||||
!)
|
||||
MSG=""
|
||||
MSG+=" \n"
|
||||
MSG+=" ██▀███ ██▀███ ▒█████ ██▀███ ▄████ \n"
|
||||
MSG+="▓██ ▒ ██▒▓██ ▒ ██▒▒██▒ ██▒▓██ ▒ ██▒ ██▒ ▀█▒\n"
|
||||
MSG+="▓██ ░▄█ ▒▓██ ░▄█ ▒▒██░ ██▒▓██ ░▄█ ▒▒██░▄▄▄░\n"
|
||||
MSG+="▒██▀▀█▄ ▒██▀▀█▄ ▒██ ██░▒██▀▀█▄ ░▓█ ██▓\n"
|
||||
MSG+="░██▓ ▒██▒░██▓ ▒██▒░ ████▓▒░░██▓ ▒██▒░▒▓███▀▒\n"
|
||||
MSG+="░ ▒▓ ░▒▓░░ ▒▓ ░▒▓░░ ▒░▒░▒░ ░ ▒▓ ░▒▓░ ░▒ ▒ \n"
|
||||
MSG+=" ░▒ ░ ▒░ ░▒ ░ ▒░ ░ ▒ ▒░ ░▒ ░ ▒░ ░ ░ \n"
|
||||
MSG+=" ░░ ░ ░░ ░ ░ ░ ░ ▒ ░░ ░ ░ ░ ░ \n"
|
||||
MSG+=" ░ ░ ░ ░ ░ ░ \n"
|
||||
MSG+=" \n"
|
||||
MSG+=" \n"
|
||||
MSG+=" ██▀███ ██▀███ ▒█████ ██▀███ ▄████ \n"
|
||||
MSG+=" ▓██ ▒ ██▒ ▓██ ▒ ██▒ ▒██▒ ██▒ ▓██ ▒ ██▒ ██▒ ▀█▒ \n"
|
||||
MSG+=" ▓██ ░▄█ ▒ ▓██ ░▄█ ▒ ▒██░ ██▒ ▓██ ░▄█ ▒▒ ██░▄▄▄░ \n"
|
||||
MSG+=" ▒██▀▀█▄ ▒██▀▀█▄ ▒██ ██░ ▒██▀▀█▄ ░ ▓█ ██▓ \n"
|
||||
MSG+=" ░██▓ ▒██▒ ░██▓ ▒██▒ ░ ████▓▒░ ░██▓ ▒██▒░ ▒▓███▀▒ \n"
|
||||
MSG+=" ░ ▒▓ ░▒▓░ ░ ▒▓ ░▒▓░ ░ ▒░▒░▒░ ░ ▒▓ ░▒▓░ ░▒ ▒ \n"
|
||||
MSG+=" ░▒ ░ ▒░ ░▒ ░ ▒░ ░ ▒ ▒░ ░▒ ░ ▒░ ░ ░ \n"
|
||||
MSG+=" ░░ ░ ░░ ░ ░ ░ ░ ▒ ░░ ░ ░ ░ ░ \n"
|
||||
MSG+=" ░ ░ ░ ░ ░ ░ \n"
|
||||
MSG+=" \n"
|
||||
DIALOG --title "$(TEXT "Settings")" \
|
||||
--msgbox "${MSG}" 0 0
|
||||
--ascii-lines --msgbox "${MSG}" 15 60
|
||||
NEXT="e"
|
||||
;;
|
||||
e)
|
||||
|
Loading…
x
Reference in New Issue
Block a user