Files
openwrt-ipq/nss-setup/config-nss.seed
2025-02-28 16:38:08 -05:00

246 lines
9.9 KiB
Makefile
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# vi: set syntax=make:
# This builds for all ipq807x targets.
# To use this config, you must build from https://github.com/qosmio/openwrt-ipq
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~IMPORTANT~~~~~~~~~~~~~~~~~~~~~~~~~~
# Use `scripts/env` to create version controlled build environments.
# This ensures you can easily reproduce builds and view changes
# made during `make menuconfig`.
#
# It will also version control custom files you add to `files/`
# To create a new environment, run:
# (e.g `./scripts/env new nss`)
# For more information, see `./scripts/env help`
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# 1. Copy this config to root of build folder name it ".config"
# `cp nss-setup/config-nss.seed .config`
# 2. Uncomment the device you want to build for listed below, replace 'is not set' with '=y'
# (e.g. CONFIG_TARGET_qualcommax_ipq807x_DEVICE_linksys_mx4300=y)
# 3. Update feeds
# `./scripts/feeds update -a && ./scripts/feeds install -a`
# 4. Expand your seed file to a full config
# `make defconfig V=s`
# 5. If you want to make further customizations, use `make menuconfig`
# 6. Build the firmware
# `make -j$(nproc) V=s`
# use `make menuconfig` to further customize building just for your target or adding custom packages.
#####################################################################
# Target platform
#####################################################################
CONFIG_TARGET_qualcommax=y
CONFIG_TARGET_qualcommax_ipq807x=y
#####################################################################
# Target device
#####################################################################
# Uncomment target device you want to build for, set '=y'
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_arcadyan_aw1000 is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_asus_rt-ax89x is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_buffalo_wxr-5950ax12 is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_cmcc_rm2-6 is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_compex_wpq873 is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_dynalink_dl-wrx36 is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_edgecore_eap102 is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_edimax_cax1800 is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_linksys_mx4200v1 is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_linksys_mx4200v2 is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_linksys_mx4300 is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_linksys_mx5300 is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_linksys_mx8500 is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_netgear_rax120v2 is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_netgear_sxr80 is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_netgear_sxs80 is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_netgear_wax218 is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_netgear_wax620 is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_netgear_wax630 is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_prpl_haze is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_qnap_301w is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_redmi_ax6 is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_spectrum_sax1v1k is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_xiaomi_ax3600 is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_xiaomi_ax9000 is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_yuncore_ax880 is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_zbtlink_zbt-z800ax is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_zte_mf269 is not set
# CONFIG_TARGET_qualcommax_ipq807x_DEVICE_zyxel_nbg7815 is not set
#####################################################################
# NSS Offloading
#####################################################################
CONFIG_ATH11K_NSS_SUPPORT=y
CONFIG_ATH11K_NSS_MESH_SUPPORT=y
CONFIG_PACKAGE_MAC80211_NSS_SUPPORT=y
CONFIG_PACKAGE_kmod-qca-nss-drv=y
CONFIG_PACKAGE_kmod-qca-nss-drv-bridge-mgr=y
CONFIG_PACKAGE_kmod-qca-nss-ecm=y
# Additional NSS packages (VLAN, Multicast Snooping, etc)
CONFIG_PACKAGE_kmod-qca-nss-drv-vlan-mgr=y
CONFIG_PACKAGE_kmod-qca-mcs=y
# NSS SQM Traffic Shaping
CONFIG_PACKAGE_sqm-scripts-nss=y
#####################################################################
# Compiler Optimization
#####################################################################
CONFIG_BUILD_PATENTED=y
# Use ccache to speed up subsequent builds
CONFIG_CCACHE=y
CONFIG_DEVEL=y
CONFIG_EXPERIMENTAL=y
CONFIG_TOOLCHAINOPTS=y
CONFIG_TARGET_OPTIONS=y
CONFIG_TARGET_OPTIMIZATION="-O2 -pipe -mcpu=cortex-a53+crc+crypto"
CONFIG_USE_GC_SECTIONS=y
# Kernel Config
CONFIG_COLLECT_KERNEL_DEBUG=y
CONFIG_KERNEL_PERF_EVENTS=y
CONFIG_KERNEL_DYNAMIC_DEBUG=y
CONFIG_KERNEL_ARM_PMU=y
CONFIG_KERNEL_ARM_PMUV3=y
CONFIG_KERNEL_PREEMPT_NONE=y
CONFIG_KERNEL_PREEMPT_NONE_BUILD=y
# Reduce kernel module size
# Disable unnecessary debugging for Wi-Fi driver.
CONFIG_ATH11K_DEBUGFS_HTT_STATS=n
CONFIG_ATH11K_DEBUGFS_STA=n
# Disables thermal throttling support for ath11k.
CONFIG_ATH11K_THERMAL=n
#####################################################################
# SSL Configuration
#####################################################################
# Use OpenSSL as the preferred SSL library
CONFIG_PACKAGE_libustream-openssl=y
CONFIG_PACKAGE_libustream-mbedtls=n
CONFIG_PACKAGE_libopenssl=y
CONFIG_LUA_ECO_OPENSSL=y
CONFIG_LUA_ECO_MBEDTLS=n
# Optimize OpenSSL for speed over size
CONFIG_OPENSSL_OPTIMIZE_SPEED=y
#####################################################################
# Wireless Configuration
#####################################################################
# Enable WPA3 and Mesh support
CONFIG_PACKAGE_wpad-mesh-openssl=y
# Avoid using mbedTLS for consistency across packages and to avoid mixed SSL libraries.
CONFIG_PACKAGE_wpad-basic-mbedtls=n
#####################################################################
# Library Optimization
#####################################################################
# Optimize common libraries (zlib, zstd) for speed, improving performance on compression tasks.
CONFIG_ZLIB_OPTIMIZE_SPEED=y
CONFIG_ZSTD_OPTIMIZE_O3=y
#####################################################################
# Feeds Configuration
#####################################################################
# Prevent package manager from adding custom feeds as repositories in final image.
# They don't exist upstream and will cause errors when trying to update
CONFIG_FEED_nss_packages=n
CONFIG_FEED_sqm_scripts_nss=n
# --- Essential Packages ---
#####################################################################
# LUCI (the web interface)
#####################################################################
CONFIG_PACKAGE_luci=y
# Enable HTTPS support
CONFIG_PACKAGE_luci-ssl-openssl=y
#####################################################################
# LUCI Applications
#####################################################################
# - Firewall: Manage firewall rules via LUCI.
CONFIG_PACKAGE_luci-app-firewall=y
# - Package manager for OpenWRT, manage installed packages via LUCI.
CONFIG_PACKAGE_luci-app-package-manager=y
# - iperf3: CLI tool to measure network performance.
# This is essential to test WiFi speeds,
# as posting speedtest.net results is useless
# without knowing the network conditions.
CONFIG_PACKAGE_iperf3=y
# --- Optional Packages --- #
#### EVERYTHING BELOW THIS SECTION IS OPTIONAL!!
#### You can delete or comment out with '#' any package you don't want to install.
#####################################################################
# LUCI Applications
#####################################################################
# - SQM: Smart Queue Management for bufferbloat control.
CONFIG_PACKAGE_luci-app-sqm=y
# - Statistics: Monitor your routers performance (CPU, memory, bandwidth).
CONFIG_PACKAGE_luci-app-statistics=y
# - ACME: Automated SSL cert management. If you want to access your router via HTTPS and have a domain.
CONFIG_PACKAGE_luci-app-acme=y
# - Watchcat: Automate reboots on connection loss.
CONFIG_PACKAGE_luci-app-watchcat=y
# - WireGuard: VPN support. Will also select the kernel module.
CONFIG_PACKAGE_luci-proto-wireguard=y
# - NLBWMon: Network usage monitoring to track bandwidth by host.
CONFIG_PACKAGE_luci-app-nlbwmon=y
#####################################################################
# Kernel Modules
#####################################################################
# Filesystem support for USB storage:
# FAT32: Useful to load recovery or new images that can be booted by u-boot
CONFIG_PACKAGE_kmod-fs-vfat=y
# NTFS: Mostly useful for Windows users.
CONFIG_PACKAGE_kmod-fs-ntfs3=y
# Network
# Bridge module support for working with nftables for more complex firewall setups.
CONFIG_PACKAGE_kmod-nft-bridge=y
# USB Storage
# NOTE: Not all IPQ807x devices have USB ports, so this is optional.
CONFIG_PACKAGE_kmod-usb-storage=y
# Logging/Debugging
# ramoops: kernel module that logs crashes to RAM which can be read after a reboot.
# Check '/sys/fs/pstore' for logs after a crash.
CONFIG_PACKAGE_kmod-ramoops=y
#####################################################################
# Packages
#####################################################################
# - curl: CLI tool to transfer data with URLs. Useful for scripting, and supperior to wget.
CONFIG_PACKAGE_curl=y
CONFIG_LIBCURL_OPENSSL=y
CONFIG_LIBCURL_MBEDTLS=n
# - rsync: Efficient file transfers and backups.
CONFIG_PACKAGE_rsync=y
# - jq: Parse JSON data from the command line. Useful for scripting, and WAY better than `jsonfilter`.
CONFIG_PACKAGE_jq=y
# - pigz: Parallel gzip for faster compression.
CONFIG_PACKAGE_pigz=y
# - tar: Archiving utility. The default busybox tar is very limited.
CONFIG_PACKAGE_tar=y
# - tcpdump: Capture and analyze network traffic.
CONFIG_PACKAGE_tcpdump=y
# - htop: CLI tool to monitor system resource usage.
CONFIG_PACKAGE_htop=y
# lm-sensors isn't needed for IPQ807x devices.
CONFIG_HTOP_LMSENSORS=n