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
|
for N in ${ETHX}; do
|
||||||
COUNT=0
|
COUNT=0
|
||||||
DRIVER="$(basename "$(realpath "/sys/class/net/${N}/device/driver" 2>/dev/null)" 2>/dev/null)"
|
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}"
|
printf "%s(%s): " "${N}" "${MAC}@${DRIVER}"
|
||||||
while true; do
|
while true; do
|
||||||
if false && [ ! "${N::3}" = "eth" ]; then
|
if false && [ ! "${N::3}" = "eth" ]; then
|
||||||
|
@ -171,6 +171,9 @@ if ! loaderIsConfigured; then
|
|||||||
elif grep -q "IWANTTOCHANGETHECONFIG" /proc/cmdline; then
|
elif grep -q "IWANTTOCHANGETHECONFIG" /proc/cmdline; then
|
||||||
printf "\033[1;33m%s\033[0m\n" "$(TEXT "User requested edit settings.")"
|
printf "\033[1;33m%s\033[0m\n" "$(TEXT "User requested edit settings.")"
|
||||||
BOOT=0
|
BOOT=0
|
||||||
|
elif [ -f "/.dockerenv" ]; then
|
||||||
|
printf "\033[1;33m%s\033[0m\n" "$(TEXT "Docker edit settings.")"
|
||||||
|
BOOT=0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# If is to boot automatically, do it
|
# If is to boot automatically, do it
|
||||||
@ -202,13 +205,15 @@ while [ ${COUNT} -lt 30 ]; do
|
|||||||
sleep 1
|
sleep 1
|
||||||
done
|
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")"
|
printf "$(TEXT "Waiting IP.\n")"
|
||||||
for N in ${ETHX}; do
|
for N in ${ETHX}; do
|
||||||
COUNT=0
|
COUNT=0
|
||||||
DRIVER="$(basename "$(realpath "/sys/class/net/${N}/device/driver" 2>/dev/null)" 2>/dev/null)"
|
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}"
|
printf "%s(%s): " "${N}" "${MAC}@${DRIVER}"
|
||||||
while true; do
|
while true; do
|
||||||
if [ -z "$(cat "/sys/class/net/${N}/carrier" 2>/dev/null)" ]; then
|
if [ -z "$(cat "/sys/class/net/${N}/carrier" 2>/dev/null)" ]; then
|
||||||
@ -257,7 +262,7 @@ fi
|
|||||||
printf "\n"
|
printf "\n"
|
||||||
|
|
||||||
DSMLOGO="$(readConfigKey "dsmlogo" "${USER_CONFIG_FILE}")"
|
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)"
|
IP="$(getIP)"
|
||||||
echo "${IP}" | grep -q "^169\.254\." && IP=""
|
echo "${IP}" | grep -q "^169\.254\." && IP=""
|
||||||
[ -n "${IP}" ] && URL="http://${IP}:${TTYD:-7681}" || URL="http://rr:${TTYD:-7681}"
|
[ -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
|
[ -f "${TMP_PATH}/qrcode_qhxg.png" ] && echo | fbv -acufi "${TMP_PATH}/qrcode_qhxg.png" >/dev/null 2>&1 || true
|
||||||
fi
|
fi
|
||||||
WEBHOOKURL="$(readConfigKey "webhookurl" "${USER_CONFIG_FILE}")"
|
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')"
|
DMI="$(dmesg 2>/dev/null | grep -i "DMI:" | head -1 | sed 's/\[.*\] DMI: //i')"
|
||||||
IP="$(getIP)"
|
IP="$(getIP)"
|
||||||
echo "${IP}" | grep -q "^169\.254\." && IP=""
|
echo "${IP}" | grep -q "^169\.254\." && IP=""
|
||||||
|
@ -1513,12 +1513,16 @@ function make() {
|
|||||||
###############################################################################
|
###############################################################################
|
||||||
# Calls boot.sh to boot into DSM kernel/ramdisk
|
# Calls boot.sh to boot into DSM kernel/ramdisk
|
||||||
function boot() {
|
function boot() {
|
||||||
[ -f "${PART1_PATH}/.build" ] && DIALOG --title "$(TEXT "Alert")" \
|
if [ -f "${PART1_PATH}/.build" ]; then
|
||||||
|
DIALOG --title "$(TEXT "Alert")" \
|
||||||
--yesno "$(TEXT "Config changed, would you like to rebuild the loader?")" 0 0
|
--yesno "$(TEXT "Config changed, would you like to rebuild the loader?")" 0 0
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
make || return
|
make || return 1
|
||||||
|
"${WORK_PATH}/boot.sh" && exit 0
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
"${WORK_PATH}/boot.sh" && exit 0
|
||||||
fi
|
fi
|
||||||
${WORK_PATH}/boot.sh
|
|
||||||
}
|
}
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@ -2456,9 +2460,9 @@ function cloneBootloaderDisk() {
|
|||||||
fdisk -l "${TODESK}"
|
fdisk -l "${TODESK}"
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|
||||||
NEW_BLDISK_P1="$(lsblk "${TODESK}" -pno KNAME,LABEL 2>/dev/null | grep 'RR1' | awk '{print $1}')"
|
NEW_BLDISK_P1="$(blkid | grep -v "${LOADER_DISK_PART1}:" | awk -F: '/LABEL="RR1"/ {print $1}')"
|
||||||
NEW_BLDISK_P2="$(lsblk "${TODESK}" -pno KNAME,LABEL 2>/dev/null | grep 'RR2' | awk '{print $1}')"
|
NEW_BLDISK_P2="$(blkid | grep -v "${LOADER_DISK_PART2}:" | awk -F: '/LABEL="RR2"/ {print $1}')"
|
||||||
NEW_BLDISK_P3="$(lsblk "${TODESK}" -pno KNAME,LABEL 2>/dev/null | grep 'RR3' | awk '{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)
|
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)}')
|
ENDSECTOR=$(fdisk -l "${TODESK}" | grep "${NEW_BLDISK_P3}" | awk '{print $(NF-4)}')
|
||||||
if [ ${SIZEOFDISK:-0} -ne $((${ENDSECTOR:-0} + 1)) ]; then
|
if [ ${SIZEOFDISK:-0} -ne $((${ENDSECTOR:-0} + 1)) ]; then
|
||||||
@ -3479,17 +3483,17 @@ function settingsMenu() {
|
|||||||
MSG=""
|
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")" \
|
DIALOG --title "$(TEXT "Settings")" \
|
||||||
--msgbox "${MSG}" 0 0
|
--ascii-lines --msgbox "${MSG}" 15 60
|
||||||
NEXT="e"
|
NEXT="e"
|
||||||
;;
|
;;
|
||||||
e)
|
e)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user