fix something

This commit is contained in:
Ing 2024-06-28 00:23:35 +08:00
parent d94eb9e83c
commit 2782b499ed
3 changed files with 26 additions and 48 deletions

View File

@ -218,60 +218,35 @@ function _sort_netif() {
BUS="$(ethtool -i ${ETH} 2>/dev/null | grep bus-info | cut -d' ' -f2)" BUS="$(ethtool -i ${ETH} 2>/dev/null | grep bus-info | cut -d' ' -f2)"
ETHLIST="${ETHLIST}${BUS} ${MAC} ${ETH}\n" ETHLIST="${ETHLIST}${BUS} ${MAC} ${ETH}\n"
done done
ETHLISTTMPM=""
ETHLISTTMPB="$(echo -e "${ETHLIST}" | sort)"
if [ -n "${1}" ]; then if [ -n "${1}" ]; then
MACS="$(echo "${1}" | sed 's/://g' | tr '[:upper:]' '[:lower:]' | tr ',' ' ')" MACS="$(echo "${1}" | sed 's/://g' | tr '[:upper:]' '[:lower:]' | tr ',' ' ')"
ETHLISTTMPC=""
ETHLISTTMPF=""
for MACX in ${MACS}; do for MACX in ${MACS}; do
ETHLISTTMPC="${ETHLISTTMPC}$(echo -e "${ETHLIST}" | grep "${MACX}")\n" ETHLISTTMPM="${ETHLISTTMPM}$(echo -e "${ETHLISTTMPB}" | grep "${MACX}")\n"
ETHLISTTMPB="$(echo -e "${ETHLISTTMPB}" | grep -v "${MACX}")\n"
done done
while read -r BUS MAC ETH; do
[ -z "${MAC}" ] && continue
if echo "${MACS}" | grep -q "${MAC}"; then continue; fi
ETHLISTTMPF="${ETHLISTTMPF}${BUS} ${MAC} ${ETH}\n"
done <<EOF
$(echo -e ${ETHLIST} | sort)
EOF
ETHLIST="${ETHLISTTMPC}${ETHLISTTMPF}"
else
ETHLIST="$(echo -e "${ETHLIST}" | sort)"
fi fi
ETHLIST="$(echo -e "${ETHLIST}" | grep -v '^$')" ETHLIST="$(echo -e "${ETHLISTTMPM}${ETHLISTTMPB}" | grep -v '^$')"
ETHSEQ="$(echo -e "${ETHLIST}" | awk '{print $3}' | sed 's/eth//g')"
echo -e "${ETHLIST}" >${TMP_PATH}/ethlist ETHNUM="$(echo -e "${ETHLIST}" | wc -l)"
# cat ${TMP_PATH}/ethlist
# echo "${ETHSEQ}"
# sort # sort
IDX=0 if [ ! "${ETHSEQ}" = "$(seq 0 $((${ETHNUM:0} - 1)))" ]; then
while true; do /etc/init.d/S41dhcpcd stop >/dev/null 2>&1
# cat ${TMP_PATH}/ethlist /etc/init.d/S40network stop >/dev/null 2>&1
[ ${IDX} -ge $(wc -l <${TMP_PATH}/ethlist) ] && break for i in $(seq 0 $((${ETHNUM:0} - 1))); do
ETH="$(cat ${TMP_PATH}/ethlist | sed -n "$((${IDX} + 1))p" | cut -d' ' -f3)" ip link set dev eth${i} name tmp${i}
# echo "ETH: ${ETH}" done
if [ -n "${ETH}" ] && [ ! "${ETH}" = "eth${IDX}" ]; then I=0
# echo "change ${ETH} <=> eth${IDX}" for i in ${ETHSEQ}; do
ip link set dev eth${IDX} down ip link set dev tmp${i} name eth${I}
ip link set dev ${ETH} down I=$((${I} + 1))
sleep 1 done
ip link set dev eth${IDX} name ethN /etc/init.d/S40network start >/dev/null 2>&1
ip link set dev ${ETH} name eth${IDX} /etc/init.d/S41dhcpcd start >/dev/null 2>&1
ip link set dev ethN name ${ETH} fi
sleep 1
ip link set dev eth${IDX} up
ip link set dev ${ETH} up
sleep 1
sed -i "s/eth${IDX}/ethN/" ${TMP_PATH}/ethlist
sed -i "s/${ETH}/eth${IDX}/" ${TMP_PATH}/ethlist
sed -i "s/ethN/${ETH}/" ${TMP_PATH}/ethlist
sleep 1
fi
IDX=$((${IDX} + 1))
done
rm -f ${TMP_PATH}/ethlist
return 0 return 0
} }

View File

@ -77,9 +77,9 @@ if [ -f "${PART2_PATH}/GRUB_VER" ]; then
fi fi
if [ ! "LOCALBUILD" = "${LOADER_DISK}" ]; then if [ ! "LOCALBUILD" = "${LOADER_DISK}" ]; then
[ ! -f /var/run/dhcpcd/pid ] && /etc/init.d/S41dhcpcd restart >/dev/null 2>&1 || true
if arrayExistItem "sortnetif:" $(readConfigMap "addons" "${USER_CONFIG_FILE}"); then if arrayExistItem "sortnetif:" $(readConfigMap "addons" "${USER_CONFIG_FILE}"); then
_sort_netif "$(readConfigKey "addons.sortnetif" "${USER_CONFIG_FILE}")" _sort_netif "$(readConfigKey "addons.sortnetif" "${USER_CONFIG_FILE}")"
/etc/init.d/S41dhcpcd restart
fi fi
for ETH in ${ETHX}; do for ETH in ${ETHX}; do
[ "${ETH::4}" = "wlan" ] && connectwlanif "${ETH}" && sleep 1 [ "${ETH::4}" = "wlan" ] && connectwlanif "${ETH}" && sleep 1

View File

@ -12,6 +12,9 @@ N kvm-intel.ko
N kvm-amd.ko N kvm-amd.ko
N kvm.ko N kvm.ko
# acpi
N acpi_call.ko
# sensors # sensors
N coretemp.ko N coretemp.ko
N k10temp.ko N k10temp.ko