diff --git a/files/initrd/opt/arc/arc-functions.sh b/files/initrd/opt/arc/arc-functions.sh index a99ffc4b..aff7987d 100755 --- a/files/initrd/opt/arc/arc-functions.sh +++ b/files/initrd/opt/arc/arc-functions.sh @@ -95,8 +95,9 @@ function modulesMenu() { 2 "Select loaded Modules" \ 3 "Select all Modules" \ 4 "Deselect all Modules" \ - 5 "Choose Modules to include" \ + 5 "Choose Modules" \ 6 "Add external module" \ + 7 "Choose Modules to copy to DSM" \ 2>"${TMP_PATH}/resp" [ $? -ne 0 ] && break case "$(cat ${TMP_PATH}/resp)" in @@ -206,6 +207,21 @@ function modulesMenu() { writeConfigKey "arc.builddone" "false" "${USER_CONFIG_FILE}" BUILDDONE="$(readConfigKey "arc.builddone" "${USER_CONFIG_FILE}")" ;; + 7) + if [ -f ${USER_UP_PATH}/modulelist ]; then + cp -f "${USER_UP_PATH}/modulelist" "${TMP_PATH}/modulelist.tmp" + else + cp -f "${ARC_PATH}/include/modulelist" "${TMP_PATH}/modulelist.tmp" + fi + while true; do + DIALOG --title "Edit with caution" \ + --editbox "${TMP_PATH}/modulelist.tmp" 0 0 2>"${TMP_PATH}/modulelist.user" + [ $? -ne 0 ] && return + [ ! -d "${USER_UP_PATH}" ] && mkdir -p "${USER_UP_PATH}" + mv -f "${TMP_PATH}/modulelist.user" "${USER_UP_PATH}/modulelist" + dos2unix "${USER_UP_PATH}/modulelist" + break + done esac done return diff --git a/files/initrd/opt/arc/boot.sh b/files/initrd/opt/arc/boot.sh index b938c644..73a22b68 100755 --- a/files/initrd/opt/arc/boot.sh +++ b/files/initrd/opt/arc/boot.sh @@ -193,7 +193,11 @@ elif [ "${DIRECTBOOT}" = "false" ]; then MSG="DHCP" if [ -n "${IP}" ]; then SPEED=$(ethtool ${ETH} 2>/dev/null | grep "Speed:" | awk '{print $2}') - echo -e "\r\033[1;37m${DRIVER} (${SPEED} | ${MSG}):\033[0m Access \033[1;34mhttp://${IP}:5000\033[0m to connect to DSM via web." + if [[ "${IP}" =~ ^169\.254\..* ]]; then + echo -e "\r\033[1;37m${DRIVER} (${SPEED} | ${MSG}):\033[0m LINK LOCAL (No DHCP server detected.)" + else + echo -e "\r\033[1;37m${DRIVER} (${SPEED} | ${MSG}):\033[0m Access \033[1;34mhttp://${IP}:5000\033[0m to connect to DSM via web." + fi ethtool -s ${ETH} wol g 2>/dev/null [ ! -n "${IPCON}" ] && IPCON="${IP}" break diff --git a/files/initrd/opt/arc/init.sh b/files/initrd/opt/arc/init.sh index e009f33f..73ac919d 100755 --- a/files/initrd/opt/arc/init.sh +++ b/files/initrd/opt/arc/init.sh @@ -96,10 +96,10 @@ for ETH in ${ETHX}; do if [ ! "${MACA}" = "${MACR}" ]; then MAC="${MACA:0:2}:${MACA:2:2}:${MACA:4:2}:${MACA:6:2}:${MACA:8:2}:${MACA:10:2}" echo "Setting ${ETH} MAC to ${MAC}" - ip link set dev ${ETH} address "${MAC}" >/dev/null 2>&1 && - (/etc/init.d/S41dhcpcd restart >/dev/null 2>&1 &) || true + ip link set dev ${ETH} address "${MAC}" >/dev/null 2>&1 || true sleep 2 fi + /etc/init.d/S41dhcpcd restart >/dev/null 2>&1 || true echo fi NIC=$((${NIC} + 1)) @@ -183,7 +183,11 @@ for ETH in ${ETHX}; do if [ -n "${IP}" ]; then SPEED=$(ethtool ${ETH} 2>/dev/null | grep "Speed:" | awk '{print $2}') writeConfigKey "ip.${ETH}" "${IP}" "${USER_CONFIG_FILE}" - echo -e "\r\033[1;37m${DRIVER} (${SPEED} | ${MSG}):\033[0m Access \033[1;34mhttp://${IP}:7681\033[0m to connect to Arc via web." + if [[ "${IP}" =~ ^169\.254\..* ]]; then + echo -e "\r\033[1;37m${DRIVER} (${SPEED} | ${MSG}):\033[0m LINK LOCAL (No DHCP server detected.)" + else + echo -e "\r\033[1;37m${DRIVER} (${SPEED} | ${MSG}):\033[0m Access \033[1;34mhttp://${IP}:7681\033[0m to connect to Arc via web." + fi ethtool -s ${ETH} wol g 2>/dev/null break fi