From a90b073434af3d7e90ce5300aa3d84a19bee542c Mon Sep 17 00:00:00 2001 From: remittor Date: Tue, 15 Aug 2023 15:52:13 +0300 Subject: [PATCH] Add support NSS build --- _addons_nss.config | 35 +++++++++++++++++++++++++++++++++++ xcommon.sh | 17 ++++++++++++++--- xmake.sh | 6 ++++++ xupdate.sh | 10 ++++++++++ 4 files changed, 65 insertions(+), 3 deletions(-) create mode 100644 _addons_nss.config diff --git a/_addons_nss.config b/_addons_nss.config new file mode 100644 index 0000000..17f56d9 --- /dev/null +++ b/_addons_nss.config @@ -0,0 +1,35 @@ + +### NSS Drivers +#GIT_FEED nss=https://github.com/openwrt-xiaomi/nss-packages.git;NSS-11.2-K5.15 +CONFIG_FEED_nss=y + +CONFIG_PACKAGE_MAC80211_NSS_SUPPORT=y + +CONFIG_PACKAGE_kmod-qca-nss-gmac=y +CONFIG_PACKAGE_kmod-qca-nss-ecm-standard=y +CONFIG_PACKAGE_kmod-qca-nss-drv=y +CONFIG_PACKAGE_kmod-qca-nss-drv-qdisc=y +CONFIG_PACKAGE_kmod-qca-nss-drv-pppoe=y +CONFIG_PACKAGE_kmod-qca-nss-drv-l2tpv2=y +CONFIG_PACKAGE_kmod-qca-nss-drv-tunipip6=y +CONFIG_PACKAGE_kmod-qca-nss-drv-igs=y +CONFIG_PACKAGE_kmod-qca-nss-drv-pptp=y + +#CONFIG_PACKAGE_kmod-qca-mcs=y +#CONFIG_PACKAGE_kmod-qca-nat46=y + +##CONFIG_PACKAGE_kmod-qca-nss-ecm=y +##CONFIG_PACKAGE_kmod-qca-nss-ecm-noload is not set + +##CONFIG_PACKAGE_kmod-qca-nss-cfi-cryptoapi=y +CONFIG_PACKAGE_kmod-qca-nss-crypto=y +CONFIG_PACKAGE_kmod-nss-ifb=y + +#CONFIG_PACKAGE_nssinfo=y + + +### sqm-scripts-nss (by KONG) +#GIT_FEED sqm_scripts_nss=https://github.com/openwrt-xiaomi/sqm-scripts-nss.git +CONFIG_FEED_sqm_scripts_nss=y +CONFIG_PACKAGE_sqm-scripts-nss=y + diff --git a/xcommon.sh b/xcommon.sh index 2b0a1eb..a0bf266 100755 --- a/xcommon.sh +++ b/xcommon.sh @@ -1,8 +1,8 @@ #!/bin/bash -XSUPPORTEDVER=21 +XSUPPORTEDVER=23 XREPOADDR=https://github.com/openwrt-xiaomi -XDEFBRANCH=xq-21.02.3 +XDEFBRANCH=xq-23.05.0 logmsg() { echo "$@" @@ -19,6 +19,18 @@ die() { #[ ! -d "$XDIR" ] && die "Base directory not defined" +is_nss_repo() { + local FN=$1/package/kernel/mac80211/Makefile + if [ ! -f "$FN" ]; then + return $(false) + fi + if [ $( grep -q "kmod-qca-nss-drv" $FN >/dev/null; echo "$?" ) != "0" ]; then + return $(false) + fi + return $(true) +} + + get_cfg_inc_lst() { local cfg=$1 local k=$( grep -o -P '(?<=^#include ).*' "$cfg" 2> /dev/null ) @@ -82,4 +94,3 @@ get_cfg_pkg_flag() { echo "$k" } - diff --git a/xmake.sh b/xmake.sh index 30d5771..2de9796 100755 --- a/xmake.sh +++ b/xmake.sh @@ -25,6 +25,7 @@ if [ "$OPT_FULL_REBUILD" = "true" ]; then rm -rf tmp rm -rf feeds/luci.tmp rm -rf feeds/packages.tmp + rm -rf feeds/nss.tmp rm -rf staging_dir/packages rm -rf staging_dir rm -rf build_dir @@ -38,6 +39,11 @@ for inc in $inclst; do [ ! -f "$XDIR/$inc" ] && die "File '$inc' not found!" cat $XDIR/$inc >> .config done + +if is_nss_repo "$XDIR"; then + cat $XDIR/_addons_nss.config >> .config +fi + #cp -f .config current.config make defconfig diff --git a/xupdate.sh b/xupdate.sh index 1af97b6..d9713ce 100755 --- a/xupdate.sh +++ b/xupdate.sh @@ -5,6 +5,7 @@ export XDIR=$SCRIPT_DIR export XADDONSDIR=$XDIR/package/addons FEEDSDIR=$XDIR/package/feeds ADDONSCFG=$XDIR/_addons.config +ADDONSNSS=$XDIR/_addons_nss.config . ./xcommon.sh @@ -51,6 +52,15 @@ for feed in $feed_lst; do echo "src-git $feed $value" >> feeds.conf done +if is_nss_repo "$XDIR"; then + feed_lst=$( get_cfg_feed_lst "$ADDONSNSS" ) + for feed in $feed_lst; do + value=$( get_cfg_feed_url "$ADDONSNSS" $feed ) + #echo "$feed = '$value'" + echo "src-git $feed $value" >> feeds.conf + done +fi + if [ "$OPT_FULL_UPDATE" = "true" ]; then ./scripts/feeds update -a ./scripts/feeds install -a