From 287682a0a1a116939417afa32ec1817f5272a040 Mon Sep 17 00:00:00 2001 From: "Igor Zalatov (from Citadel PC)" Date: Sat, 2 Oct 2021 20:31:34 +0300 Subject: [PATCH] Update Xm510/XM530 kernel configs, enable httpd, fix udhcp script --- .../board/xm510/kernel/xm510.generic.config | 6 +- .../board/xm530/kernel/xm530.generic.config | 2 +- .../overlay/usr/share/udhcpc/udhcpc.script | 105 ++++++++++++++++++ general/package/busybox/busybox.config | 12 +- 4 files changed, 115 insertions(+), 10 deletions(-) create mode 100755 general/overlay/usr/share/udhcpc/udhcpc.script diff --git a/br-ext-chip-xiongmai/board/xm510/kernel/xm510.generic.config b/br-ext-chip-xiongmai/board/xm510/kernel/xm510.generic.config index f39951b6..0ce517b8 100644 --- a/br-ext-chip-xiongmai/board/xm510/kernel/xm510.generic.config +++ b/br-ext-chip-xiongmai/board/xm510/kernel/xm510.generic.config @@ -37,10 +37,10 @@ CONFIG_LOCALVERSION="" CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_LZMA=y CONFIG_HAVE_KERNEL_LZO=y -# CONFIG_KERNEL_GZIP is not set -# CONFIG_KERNEL_LZMA is not set +CONFIG_KERNEL_GZIP=y +CONFIG_KERNEL_LZMA=y CONFIG_KERNEL_LZO=y -CONFIG_DEFAULT_HOSTNAME="(none)" +CONFIG_DEFAULT_HOSTNAME="openipc" # CONFIG_SWAP is not set CONFIG_SYSVIPC=y CONFIG_SYSVIPC_SYSCTL=y diff --git a/br-ext-chip-xiongmai/board/xm530/kernel/xm530.generic.config b/br-ext-chip-xiongmai/board/xm530/kernel/xm530.generic.config index 406fd340..1529bba4 100644 --- a/br-ext-chip-xiongmai/board/xm530/kernel/xm530.generic.config +++ b/br-ext-chip-xiongmai/board/xm530/kernel/xm530.generic.config @@ -38,7 +38,7 @@ CONFIG_HAVE_KERNEL_LZO=y # CONFIG_KERNEL_LZMA is not set CONFIG_KERNEL_XZ=y # CONFIG_KERNEL_LZO is not set -CONFIG_DEFAULT_HOSTNAME="(none)" +CONFIG_DEFAULT_HOSTNAME="openipc" # CONFIG_SWAP is not set CONFIG_SYSVIPC=y CONFIG_SYSVIPC_SYSCTL=y diff --git a/general/overlay/usr/share/udhcpc/udhcpc.script b/general/overlay/usr/share/udhcpc/udhcpc.script new file mode 100755 index 00000000..f4cd6002 --- /dev/null +++ b/general/overlay/usr/share/udhcpc/udhcpc.script @@ -0,0 +1,105 @@ +#!/bin/sh + +# udhcpc script edited by Tim Riker + +[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 + +RESOLV_CONF="/etc/resolv.conf" +[ -e $RESOLV_CONF ] || touch $RESOLV_CONF +[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" +[ -n "$subnet" ] && NETMASK="netmask $subnet" +# Handle stateful DHCPv6 like DHCPv4 +[ -n "$ipv6" ] && ip="$ipv6/128" + +if [ -z "${IF_WAIT_DELAY}" ]; then + IF_WAIT_DELAY=10 +fi + +wait_for_ipv6_default_route() { + printf "Waiting for IPv6 default route to appear" + while [ $IF_WAIT_DELAY -gt 0 ]; do + if ip -6 route list | grep -q default; then + printf "\n" + return + fi + sleep 1 + printf "." + : $((IF_WAIT_DELAY -= 1)) + done + printf " timeout!\n" +} + +case "$1" in + deconfig) + /sbin/ifconfig $interface up + /sbin/ifconfig $interface 0.0.0.0 + + # drop info from this interface + # resolv.conf may be a symlink to /tmp/, so take care + TMPFILE=$(mktemp) + grep -vE "# $interface\$" $RESOLV_CONF > $TMPFILE + cat $TMPFILE > $RESOLV_CONF + rm -f $TMPFILE + + if [ -x /usr/sbin/avahi-autoipd ]; then + /usr/sbin/avahi-autoipd -c $interface && /usr/sbin/avahi-autoipd -k $interface + fi + ;; + + leasefail|nak) + if [ -x /usr/sbin/avahi-autoipd ]; then + /usr/sbin/avahi-autoipd -c $interface || /usr/sbin/avahi-autoipd -wD $interface --no-chroot + fi + ;; + + renew|bound) + if [ -x /usr/sbin/avahi-autoipd ]; then + /usr/sbin/avahi-autoipd -c $interface && /usr/sbin/avahi-autoipd -k $interface + fi + /sbin/ifconfig $interface $ip $BROADCAST $NETMASK + if [ -n "$ipv6" ] ; then + wait_for_ipv6_default_route + fi + + if [ -n "$router" ] ; then + echo "deleting routers" + while route del default gw 0.0.0.0 dev $interface 2> /dev/null; do + : + done + + for i in $router ; do + route add default gw $i dev $interface + done + fi + + # drop info from this interface + # resolv.conf may be a symlink to /tmp/, so take care + TMPFILE=$(mktemp) + grep -vE "# $interface\$" $RESOLV_CONF > $TMPFILE + cat $TMPFILE > $RESOLV_CONF + rm -f $TMPFILE + + # prefer rfc3397 domain search list (option 119) if available + if [ -n "$search" ]; then + search_list=$search + elif [ -n "$domain" ]; then + search_list=$domain + fi + + [ -n "$search_list" ] && + echo "search $search_list" >> $RESOLV_CONF + + for i in $dns ; do + echo adding dns $i + echo "nameserver $i" >> $RESOLV_CONF + done + ;; +esac + +HOOK_DIR="$0.d" +for hook in "${HOOK_DIR}/"*; do + [ -f "${hook}" -a -x "${hook}" ] || continue + "${hook}" "${@}" +done + +exit 0 diff --git a/general/package/busybox/busybox.config b/general/package/busybox/busybox.config index 04c6011f..ebcf593b 100644 --- a/general/package/busybox/busybox.config +++ b/general/package/busybox/busybox.config @@ -836,18 +836,18 @@ CONFIG_ETHER_WAKE=y # CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set CONFIG_HOSTNAME=y CONFIG_DNSDOMAINNAME=y -# CONFIG_HTTPD is not set +CONFIG_HTTPD=y # CONFIG_FEATURE_HTTPD_RANGES is not set # CONFIG_FEATURE_HTTPD_SETUID is not set -# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set -# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set -# CONFIG_FEATURE_HTTPD_CGI is not set +CONFIG_FEATURE_HTTPD_BASIC_AUTH=y +CONFIG_FEATURE_HTTPD_AUTH_MD5=y +CONFIG_FEATURE_HTTPD_CGI=y # CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set # CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set # CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set -# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set +CONFIG_FEATURE_HTTPD_ERROR_PAGES=y # CONFIG_FEATURE_HTTPD_PROXY is not set -# CONFIG_FEATURE_HTTPD_GZIP is not set +CONFIG_FEATURE_HTTPD_GZIP=y CONFIG_IFCONFIG=y CONFIG_FEATURE_IFCONFIG_STATUS=y CONFIG_FEATURE_IFCONFIG_SLIP=y