222 lines
7.3 KiB
Bash
222 lines
7.3 KiB
Bash
#!/usr/bin/env bash
|
|
# Device profiles for openwrtbuilder
|
|
# shellcheck disable=SC2034
|
|
|
|
DEFAULT_RELEASE="25.12.4" # overrides default release in openwrtbuilder
|
|
|
|
# Default packages (precede with "-" to exclude)
|
|
default_packages=(
|
|
ca-bundle base-files apk-mbedtls libustream-mbedtls openssh-sftp-server dropbear
|
|
fstools libc libgcc logd mtd netifd
|
|
nano vim htop diffutils tar iperf3 zsh rsync tcpdump ethtool
|
|
odhcp6c ppp ppp-mod-pppoe procd-ujail
|
|
uboot-envtools uci uclient-fetch urandom-seed urngd
|
|
luci luci-ssl luci-app-statistics luci-app-filemanager luci-app-attendedsysupgrade
|
|
lm-sensors collectd-mod-sensors collectd-mod-thermal collectd-mod-conntrack collectd-mod-cpu
|
|
tailscale
|
|
)
|
|
|
|
default_router=("${default_packages[@]}"
|
|
dnsmasq odhcpd-ipv6only nftables firewall4
|
|
luci-proto-wireguard luci-app-sqm
|
|
adblock luci-app-adblock
|
|
kmod-nft-offload
|
|
)
|
|
|
|
default_ap=("${default_packages[@]}"
|
|
-dnsmasq -odhcpd-ipv6only -nftables -firewall4
|
|
-kmod-nft-offload
|
|
)
|
|
|
|
# Default kernel configs
|
|
default_kconfigs=(
|
|
)
|
|
|
|
# Current devices
|
|
# Nanopi R4S router w/ btrfs
|
|
declare -Ag router=(
|
|
[mode]="source"
|
|
[device]="friendlyarm_nanopi-r4s"
|
|
[target]="rockchip/armv8"
|
|
[filesystem]="ext4"
|
|
[packages]="${default_router[*]} \
|
|
kmod-r8169 \
|
|
collectd-mod-df usbutils kmod-usb-storage kmod-usb-storage-uas \
|
|
kmod-fs-btrfs btrfs-progs block-mount \
|
|
smcroute avahi-daemon"
|
|
[kconfigs]="${default_kconfigs[*]} \
|
|
CONFIG_TARGET_ROOTFS_PARTSIZE=512 CONFIG_TARGET_KERNEL_PARTSIZE=32 \
|
|
CONFIG_KERNEL_BTRFS_FS_POSIX_ACL=y CONFIG_BTRFS_PROGS_ZSTD=y"
|
|
)
|
|
|
|
# Redmi AX6000 router w/ stock layout in full router mode
|
|
declare -Ag abby_router=(
|
|
[mode]="imagebuilder"
|
|
[device]="xiaomi_redmi-router-ax6000-stock"
|
|
[target]="mediatek/filogic"
|
|
[filesystem]="squashfs"
|
|
[packages]="${default_router[*]} \
|
|
wpad-basic-mbedtls \
|
|
kmod-leds-ws2812b kmod-mt7915e \
|
|
kmod-mt7986-firmware mt7986-wo-firmware"
|
|
)
|
|
|
|
declare -Ag ax6000_uboot_ap=(
|
|
[mode]="imagebuilder"
|
|
[device]="xiaomi_redmi-router-ax6000-ubootmod"
|
|
[target]="mediatek/filogic"
|
|
[release]="snapshot"
|
|
[filesystem]="squashfs"
|
|
[packages]="${default_ap[*]} \
|
|
wpad-basic-mbedtls \
|
|
kmod-leds-ws2812b kmod-mt7915e \
|
|
kmod-mt7986-firmware mt7986-wo-firmware"
|
|
)
|
|
|
|
# Testing
|
|
declare -Ag w1700k_ap=(
|
|
[mode]="source"
|
|
[device]="gemtek_w1700k-ubi"
|
|
[target]="airoha/an7581"
|
|
[filesystem]="squashfs"
|
|
[release]="snapshot"
|
|
[packages]="${default_ap[*]} \
|
|
wpad-basic-mbedtls libiwinfo-data \
|
|
kmod-gpio-button-hotplug kmod-leds-gpio \
|
|
airoha-en7581-npu-firmware airoha-en7581-mt7996-npu-firmware \
|
|
kmod-i2c-an7581 kmod-hwmon-nct7802 kmod-mt7996-firmware kmod-phy-rtl8261n \
|
|
fitblk"
|
|
)
|
|
|
|
declare -Ag w1700k_ap_fanboy=(
|
|
[mode]="source"
|
|
[device]="gemtek_w1700k-ubi"
|
|
[target]="airoha/an7581"
|
|
[filesystem]="squashfs"
|
|
[release]="snapshot"
|
|
[packages]="${default_ap[*]} \
|
|
wpad-basic-mbedtls libiwinfo-data \
|
|
kmod-gpio-button-hotplug kmod-leds-gpio \
|
|
airoha-en7581-npu-firmware airoha-en7581-mt7996-npu-firmware \
|
|
kmod-i2c-an7581 kmod-hwmon-nct7802 kmod-mt7996-firmware kmod-phy-rtl8261n \
|
|
fitblk"
|
|
[branches]="https://github.com/OpenWRT-fanboy/OpenW1700k.git@ubi2"
|
|
)
|
|
|
|
declare -Ag w1700k=(
|
|
[mode]="source"
|
|
[device]="gemtek_w1700k-ubi"
|
|
[target]="airoha/an7581"
|
|
[filesystem]="squashfs"
|
|
[release]="snapshot"
|
|
[packages]="${default_router[*]} \
|
|
wpad-basic-mbedtls libiwinfo-data \
|
|
kmod-gpio-button-hotplug kmod-leds-gpio \
|
|
airoha-en7581-npu-firmware airoha-en7581-mt7996-npu-firmware \
|
|
kmod-i2c-an7581 kmod-hwmon-nct7802 kmod-mt7996-firmware kmod-phy-rtl8261n \
|
|
fitblk"
|
|
)
|
|
|
|
# Deprecated: Last working profile for w1700k with stock (non-ubi) partitions
|
|
declare -Ag w1700k_fanboy=(
|
|
[mode]="source"
|
|
[device]="gemtek_w1700k-ubi"
|
|
[target]="airoha/an7581"
|
|
[filesystem]="squashfs"
|
|
[release]="snapshot"
|
|
[packages]="${default_router[*]} \
|
|
wpad-basic-mbedtls libiwinfo-data \
|
|
kmod-gpio-button-hotplug kmod-leds-gpio \
|
|
airoha-en7581-npu-firmware airoha-en7581-mt7996-npu-firmware \
|
|
kmod-i2c-an7581 kmod-hwmon-nct7802 kmod-mt7996-firmware kmod-phy-rtl8261n \
|
|
fitblk"
|
|
# [cherrypicks]="\
|
|
# https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:8d449e968cfaa774ab7a219b3a5ab4251b2f9352 \
|
|
# https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:3033241393ef6eb562539c6a3ccb9d3cf1a25d05 \
|
|
# https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:79a21e0986a9efe6de3a07394a71ac15a2107b16 \
|
|
# https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:2f8a1cbf901df0d325dfe112fdfe8013a72c8305 \
|
|
# https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:71b09bc5852797cdbf7cb3b56a7d8fcd9d4ca9db \
|
|
# https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:fe0135f0b7037a9cc1985d5937dd24cb99bfccb1 \
|
|
# https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:cdb937180fb971fe702078f0e0fef63f2fcce337 \
|
|
# https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:6dc847c802b9dc597fc2c64711ca85499f128d1d \
|
|
# https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:b6e6cf911915dd987eecde908a2013419565cff4 \
|
|
# https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:708089948949e66f5234249fc631e0453b58942e \
|
|
# https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:9841a707a577385498591bcfb56b836176325c2f \
|
|
# https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:8446ec6431a3247683a27070d3c69f2789b52c70 \
|
|
# https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:05380e2ef5fb96c171da23453ba32aa349a4b126"
|
|
# [branches]="https://github.com/OpenWRT-fanboy/OpenW1700k.git@minimal"
|
|
)
|
|
|
|
declare -Ag rpi4=(
|
|
[device]="rpi-4"
|
|
[target]="bcm27xx/bcm2711"
|
|
[filesystem]="ext4"
|
|
[packages]="${default_router[*]} \
|
|
luci-app-pbr -dnsmasq dnsmasq-full \
|
|
kmod-usb-net-asix-ax88179 kmod-usb-net-rtl8152"
|
|
)
|
|
|
|
declare -Ag r4s_stock=(
|
|
[device]="friendlyarm_nanopi-r4s"
|
|
[target]="rockchip/armv8"
|
|
[filesystem]="ext4"
|
|
[release]="snapshot"
|
|
)
|
|
|
|
# Retired devices
|
|
declare -Ag n5100=(
|
|
[device]="generic"
|
|
[target]="x86/64"
|
|
[filesystem]="squashfs"
|
|
[packages]="${default_router[*]} \
|
|
irqbalance collectd-mod-df \
|
|
usbutils kmod-usb-storage kmod-usb-storage-uas kmod-fs-btrfs \
|
|
btrfs-progs block-mount cryptsetup kmod-crypto-xts smcroute \
|
|
avahi-daemon smartmontools intel-microcode \
|
|
samba4-server luci-app-samba4 shadow-useradd"
|
|
[kconfigs]="${default_kconfigs[*]} \
|
|
CONFIG_KERNEL_BTRFS_FS_POSIX_ACL=y CONFIG_BTRFS_PROGS_ZSTD=y \
|
|
CONFIG_TARGET_ROOTFS_PARTSIZE=512 CONFIG_TARGET_KERNEL_PARTSIZE=32"
|
|
)
|
|
|
|
declare -Ag totolink=(
|
|
[device]="totolink_x5000r"
|
|
[target]="ramips/mt7621"
|
|
[filesystem]="squashfs"
|
|
[packages]="${default_ap[*]}"
|
|
)
|
|
|
|
declare -Ag archer=(
|
|
[device]="tplink_archer-c7-v2"
|
|
[target]="ath79/generic"
|
|
[filesystem]="squashfs"
|
|
[packages]="${default_ap[*]} \
|
|
-ath10k-firmware-qca988x-ct ath10k-firmware-qca988x-ct-full-htt"
|
|
)
|
|
|
|
declare -Ag linksys=(
|
|
[device]="linksys_ea8300"
|
|
[target]="ipq40xx/generic"
|
|
[filesystem]="squashfs"
|
|
[packages]="${default_ap[*]}"
|
|
)
|
|
|
|
declare -Ag r2s=(
|
|
[device]="friendlyarm_nanopi-r2s"
|
|
[target]="rockchip/armv8"
|
|
[filesystem]="ext4"
|
|
[packages]="${default_router[*]} \
|
|
kmod-usb-net-rtl8152 \
|
|
luci-app-upnp luci-app-pbr -dnsmasq dnsmasq-full smcroute"
|
|
)
|
|
|
|
declare -Ag r2s_tr=(
|
|
[device]="friendlyarm_nanopi-r2s"
|
|
[target]="rockchip/armv8"
|
|
[filesystem]="ext4"
|
|
[packages]="${default_router[*]} \
|
|
kmod-usb-net-rtl8152 \
|
|
luci-app-upnp luci-app-pbr -dnsmasq dnsmasq-full \
|
|
travelmate"
|
|
)
|