Compare commits
10 Commits
2d83b552c7
...
dev
| Author | SHA1 | Date | |
|---|---|---|---|
| d0b2fbf9e1 | |||
| ca5f0b6c90 | |||
| cb10696474 | |||
| ff551237ec | |||
| 1f6a5104fe | |||
| 529d3754dc | |||
| a5705ce83c | |||
| c9e99f3a8a | |||
| f340ebfe61 | |||
| ee63e0f740 |
@@ -56,7 +56,7 @@ Profile keys:
|
|||||||
| `files` | No | Host directory containing custom overlay files. In `imagebuilder` mode this is passed as `FILES=<dir>`. In `source` mode contents are synced into `<build dir>/files/` before build. Defaults to `<buildroot>/src/files`. |
|
| `files` | No | Host directory containing custom overlay files. In `imagebuilder` mode this is passed as `FILES=<dir>`. In `source` mode contents are synced into `<build dir>/files/` before build. Defaults to `<buildroot>/src/files`. |
|
||||||
| `cherrypicks` | No | Space-separated entries in `URL@branch:commit` form. Each commit is fetched and cherry-picked in `source` mode. |
|
| `cherrypicks` | No | Space-separated entries in `URL@branch:commit` form. Each commit is fetched and cherry-picked in `source` mode. |
|
||||||
| `branches` | No | Space-separated `URL@branch` entries to merge into the source worktree in `source` mode. |
|
| `branches` | No | Space-separated `URL@branch` entries to merge into the source worktree in `source` mode. |
|
||||||
| `release` | No | Default release/ref for the profile (for example `snapshot`, `25.12.3`). CLI `--release` overrides it. |
|
| `release` | No | Default release/ref for the profile (for example `snapshot`, `25.12.4`). CLI `--release` overrides it. |
|
||||||
| `clean` | No | Optional source cleanup step (`clean`, `targetclean`, `dirclean`, `distclean`). CLI `--clean` overrides it. |
|
| `clean` | No | Optional source cleanup step (`clean`, `targetclean`, `dirclean`, `distclean`). CLI `--clean` overrides it. |
|
||||||
| `repo` | No | Extra Image Builder repository line appended to `repositories.conf` before build. |
|
| `repo` | No | Extra Image Builder repository line appended to `repositories.conf` before build. |
|
||||||
|
|
||||||
@@ -70,8 +70,8 @@ Notes:
|
|||||||
|
|
||||||
* `openwrtbuilder -p r4s -p ax6000`
|
* `openwrtbuilder -p r4s -p ax6000`
|
||||||
* `openwrtbuilder -p r4s -r snapshot --debug`
|
* `openwrtbuilder -p r4s -r snapshot --debug`
|
||||||
* `openwrtbuilder -p ax6000 -r 25.12.3 --mode source --debug`
|
* `openwrtbuilder -p ax6000 -r 25.12.4 --mode source --debug`
|
||||||
* `openwrtbuilder -p rpi4 -r 25.12.3 --flash /dev/sdX`
|
* `openwrtbuilder -p rpi4 -r 25.12.4 --flash /dev/sdX`
|
||||||
* `openwrtbuilder -p linksys -r snapshot --ssh-upgrade root@192.168.1.1`
|
* `openwrtbuilder -p linksys -r snapshot --ssh-upgrade root@192.168.1.1`
|
||||||
|
|
||||||
## Additional Info
|
## Additional Info
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
# See README and ./profiles for device configuration
|
# See README and ./profiles for device configuration
|
||||||
|
|
||||||
# Set default release
|
# Set default release
|
||||||
: "${DEFAULT_RELEASE:=${RELEASE:="25.12.3"}}" # do find all replace
|
: "${DEFAULT_RELEASE:=${RELEASE:="25.12.4"}}" # do find all replace
|
||||||
|
|
||||||
# @internal
|
# @internal
|
||||||
usage() {
|
usage() {
|
||||||
@@ -19,7 +19,7 @@ usage() {
|
|||||||
|
|
||||||
OPTIONS
|
OPTIONS
|
||||||
--profile,-p PROFILE
|
--profile,-p PROFILE
|
||||||
--release,-r,--version,-v RELEASE ("snapshot", "25.12.3")
|
--release,-r,--version,-v RELEASE ("snapshot", "25.12.4")
|
||||||
Default: From profile or hardcoded RELEASE
|
Default: From profile or hardcoded RELEASE
|
||||||
--buildroot,-b PATH
|
--buildroot,-b PATH
|
||||||
Default: location of openwrtbuilder script
|
Default: location of openwrtbuilder script
|
||||||
@@ -35,6 +35,10 @@ usage() {
|
|||||||
Enabled by default for --ssh-upgrade
|
Enabled by default for --ssh-upgrade
|
||||||
--flash,-f DEVICE
|
--flash,-f DEVICE
|
||||||
Example: /dev/sdX
|
Example: /dev/sdX
|
||||||
|
--mirror PREFIX
|
||||||
|
Mirror prefix for feeds (default: github.com/openwrt)
|
||||||
|
--dl-timeout SECONDS
|
||||||
|
Per-file max download time for source builds (default: 300)
|
||||||
--depends
|
--depends
|
||||||
Force dependency installation
|
Force dependency installation
|
||||||
--yes,-y
|
--yes,-y
|
||||||
@@ -45,7 +49,7 @@ usage() {
|
|||||||
EXAMPLES
|
EXAMPLES
|
||||||
openwrtbuilder -p r4s -r snapshot
|
openwrtbuilder -p r4s -r snapshot
|
||||||
openwrtbuilder -p ax6000 -r 23.05.0-rc3 --mode source --debug
|
openwrtbuilder -p ax6000 -r 23.05.0-rc3 --mode source --debug
|
||||||
openwrtbuilder -p rpi4 -r 25.12.3 --flash /dev/sdX
|
openwrtbuilder -p rpi4 -r 25.12.4 --flash /dev/sdX
|
||||||
openwrtbuilder -p linksys -r snapshot --ssh-upgrade root@192.168.1.1
|
openwrtbuilder -p linksys -r snapshot --ssh-upgrade root@192.168.1.1
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
@@ -128,8 +132,8 @@ parse_input() {
|
|||||||
debug "${FUNCNAME[0]}" "$*"
|
debug "${FUNCNAME[0]}" "$*"
|
||||||
declare -ga PROFILES
|
declare -ga PROFILES
|
||||||
declare -gi RESET=0 YES=0 DEBUG=0 FORCE_DEPENDS=0 CPUS=0
|
declare -gi RESET=0 YES=0 DEBUG=0 FORCE_DEPENDS=0 CPUS=0
|
||||||
declare -g USER_RELEASE SSH_UPGRADE_PATH SSH_BACKUP_PATH FLASH_DEV USER_MODE USER_CLEAN
|
declare -g USER_RELEASE SSH_UPGRADE_PATH SSH_BACKUP_PATH FLASH_DEV USER_MODE USER_CLEAN USER_MIRROR USER_DL_TIMEOUT
|
||||||
local long_opts='release:,version:,profile:,buildroot:,cpus:,mode:,clean:'
|
local long_opts='release:,version:,profile:,buildroot:,cpus:,mode:,clean:,mirror:,dl-timeout:'
|
||||||
long_opts+='ssh-upgrade:,ssh-backup:,flash:,reset,depends,yes,debug,help'
|
long_opts+='ssh-upgrade:,ssh-backup:,flash:,reset,depends,yes,debug,help'
|
||||||
|
|
||||||
if _input=$(getopt -o +r:v:p:b:m:c:f:ydh -l $long_opts -- "$@"); then
|
if _input=$(getopt -o +r:v:p:b:m:c:f:ydh -l $long_opts -- "$@"); then
|
||||||
@@ -145,6 +149,8 @@ parse_input() {
|
|||||||
--ssh-upgrade) shift; SSH_UPGRADE_PATH="$1" ;;
|
--ssh-upgrade) shift; SSH_UPGRADE_PATH="$1" ;;
|
||||||
--ssh-backup) shift; SSH_BACKUP_PATH="$1" ;;
|
--ssh-backup) shift; SSH_BACKUP_PATH="$1" ;;
|
||||||
--flash|-f) shift; FLASH_DEV="$1" ;;
|
--flash|-f) shift; FLASH_DEV="$1" ;;
|
||||||
|
--mirror) shift; USER_MIRROR="$1" ;;
|
||||||
|
--dl-timeout) shift; USER_DL_TIMEOUT="$1" ;;
|
||||||
--reset) RESET=1 ;;
|
--reset) RESET=1 ;;
|
||||||
--depends) FORCE_DEPENDS=1 ;;
|
--depends) FORCE_DEPENDS=1 ;;
|
||||||
--yes|-y) YES=1 ;;
|
--yes|-y) YES=1 ;;
|
||||||
@@ -440,6 +446,7 @@ make_images() {
|
|||||||
BIN_DIR="$BIN_DIR"
|
BIN_DIR="$BIN_DIR"
|
||||||
PROFILE="$DEVICE"
|
PROFILE="$DEVICE"
|
||||||
PACKAGES="$PACKAGES"
|
PACKAGES="$PACKAGES"
|
||||||
|
ROOTFS_FILESYSTEM="$FILESYSTEM"
|
||||||
FILES="$FILES_DIR"
|
FILES="$FILES_DIR"
|
||||||
--directory="$BUILD_DIR"
|
--directory="$BUILD_DIR"
|
||||||
--jobs="$JOBS")
|
--jobs="$JOBS")
|
||||||
@@ -517,14 +524,33 @@ from_source() {
|
|||||||
local src_url="https://github.com/openwrt/openwrt.git"
|
local src_url="https://github.com/openwrt/openwrt.git"
|
||||||
local seed_file="$BUILD_DIR/.config"
|
local seed_file="$BUILD_DIR/.config"
|
||||||
local worktree_meta="$SRC_DIR/.git/worktrees/source-$REF"
|
local worktree_meta="$SRC_DIR/.git/worktrees/source-$REF"
|
||||||
local pkg kconfig commit description
|
local pkg kconfig commit description rootfs_kconfig
|
||||||
local -a make_opts
|
local -a make_opts
|
||||||
|
|
||||||
|
echo "Building from source is under development"
|
||||||
|
|
||||||
|
# Convert filesystem to corresponding KCONFIG value
|
||||||
|
case "${FILESYSTEM,,}" in
|
||||||
|
squashfs) rootfs_kconfig="SQUASHFS" ;;
|
||||||
|
ext4|ext4fs) rootfs_kconfig="EXT4FS" ;;
|
||||||
|
ubifs) rootfs_kconfig="UBIFS" ;;
|
||||||
|
erofs) rootfs_kconfig="EROFS" ;;
|
||||||
|
jffs2) rootfs_kconfig="JFFS2" ;;
|
||||||
|
all) rootfs_kconfig="all";;
|
||||||
|
*) echo "Error: unsupported filesystem '$FILESYSTEM' for source mode"; return 1 ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Default KCONFIG options for all profiles (can be overridden by profile-specific KCONFIGS)
|
||||||
local -a kconfigs=(
|
local -a kconfigs=(
|
||||||
"CONFIG_TARGET_${TARGET%%/*}=y"
|
"CONFIG_TARGET_${TARGET%%/*}=y"
|
||||||
"CONFIG_TARGET_${TARGET//\//_}=y"
|
"CONFIG_TARGET_${TARGET//\//_}=y"
|
||||||
"CONFIG_TARGET_PROFILE=DEVICE_$DEVICE"
|
"CONFIG_TARGET_PROFILE=DEVICE_$DEVICE"
|
||||||
"CONFIG_TARGET_${TARGET//\//_}_DEVICE_$DEVICE=y"
|
"CONFIG_TARGET_${TARGET//\//_}_DEVICE_$DEVICE=y"
|
||||||
"CONFIG_TARGET_ROOTFS_${FILESYSTEM^^}=y"
|
"CONFIG_TARGET_ROOTFS_SQUASHFS=n"
|
||||||
|
"CONFIG_TARGET_ROOTFS_EXT4FS=n"
|
||||||
|
"CONFIG_TARGET_ROOTFS_UBIFS=n"
|
||||||
|
"CONFIG_TARGET_ROOTFS_EROFS=n"
|
||||||
|
"CONFIG_TARGET_ROOTFS_JFFS2=n"
|
||||||
"CONFIG_TARGET_MULTI_PROFILE=n"
|
"CONFIG_TARGET_MULTI_PROFILE=n"
|
||||||
"CONFIG_BUILDBOT=n"
|
"CONFIG_BUILDBOT=n"
|
||||||
"CONFIG_ALL_KMODS=n"
|
"CONFIG_ALL_KMODS=n"
|
||||||
@@ -538,7 +564,16 @@ from_source() {
|
|||||||
"CONFIG_TARGET_PER_DEVICE_ROOTFS=n"
|
"CONFIG_TARGET_PER_DEVICE_ROOTFS=n"
|
||||||
)
|
)
|
||||||
|
|
||||||
echo "Building from source is under development"
|
# Add KCONFIG for selected filesystem(s)
|
||||||
|
if [[ $rootfs_kconfig == "all" ]]; then
|
||||||
|
kconfigs+=("CONFIG_TARGET_ROOTFS_SQUASHFS=y"
|
||||||
|
"CONFIG_TARGET_ROOTFS_EXT4FS=y"
|
||||||
|
"CONFIG_TARGET_ROOTFS_UBIFS=y"
|
||||||
|
"CONFIG_TARGET_ROOTFS_EROFS=y"
|
||||||
|
"CONFIG_TARGET_ROOTFS_JFFS2=y")
|
||||||
|
else
|
||||||
|
kconfigs+=("CONFIG_TARGET_ROOTFS_${rootfs_kconfig}=y")
|
||||||
|
fi
|
||||||
|
|
||||||
# Remove all build directories and worktrees if --reset
|
# Remove all build directories and worktrees if --reset
|
||||||
if ((RESET)); then
|
if ((RESET)); then
|
||||||
@@ -668,18 +703,19 @@ from_source() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Use a custom (faster) mirror
|
# Use a custom (faster) mirror
|
||||||
execute sed -i -E 's;git.openwrt.org/(feed|project);github.com/openwrt;' feeds.conf.default
|
local mirror_prefix="${USER_MIRROR:-github.com/openwrt}"
|
||||||
|
execute sed -i -E "s;git.openwrt.org/(feed|project);${mirror_prefix};" feeds.conf.default
|
||||||
|
|
||||||
# Update package feed
|
# Update package feed
|
||||||
./scripts/feeds update -a -f &&
|
./scripts/feeds update -a -f &&
|
||||||
./scripts/feeds install -a -f
|
./scripts/feeds install -a -f
|
||||||
|
|
||||||
# Apply custom files overlay for source builds.
|
# Apply custom files overlay for source builds.
|
||||||
execute rm -rf "$BUILD_DIR/files"
|
# execute rm -rf "$BUILD_DIR/files"
|
||||||
if [[ -d "$FILES_DIR" ]]; then
|
# if [[ -d "$FILES_DIR" ]]; then
|
||||||
execute mkdir -p "$BUILD_DIR/files"
|
# execute mkdir -p "$BUILD_DIR/files"
|
||||||
execute rsync -a "$FILES_DIR/" "$BUILD_DIR/files/"
|
# execute rsync -a "$FILES_DIR/" "$BUILD_DIR/files/"
|
||||||
fi
|
# fi
|
||||||
|
|
||||||
# Add custom packages
|
# Add custom packages
|
||||||
for pkg in $PACKAGES; do
|
for pkg in $PACKAGES; do
|
||||||
@@ -707,15 +743,16 @@ from_source() {
|
|||||||
execute make "${make_opts[@]}" "-j1" defconfig
|
execute make "${make_opts[@]}" "-j1" defconfig
|
||||||
|
|
||||||
# Run serial make download for better reliability
|
# Run serial make download for better reliability
|
||||||
execute make "${make_opts[@]}" "-j1" download
|
# CURL_EXTRA_ARGS is picked up by OpenWRT's scripts/download.pl
|
||||||
|
CURL_EXTRA_ARGS="--max-time ${USER_DL_TIMEOUT:-300}" execute make "${make_opts[@]}" "-j1" download
|
||||||
|
|
||||||
# (Optional) Disable multicore make world
|
# (Optional) Disable multicore make world
|
||||||
# ((DEBUG)) && make_opts+=("-j1") || make_opts+=("-j$JOBS)")
|
# ((DEBUG)) && make_opts+=("-j1") || make_opts+=("-j$JOBS)")
|
||||||
make_opts+=("-j$JOBS")
|
make_opts+=("-j$JOBS")
|
||||||
|
|
||||||
# Make image
|
# Make image
|
||||||
if ! execute ionice -c2 -n7 nice -n19 make "${make_opts[@]}" BIN_DIR="$BIN_DIR" world; then
|
if ! ionice -c2 -n7 nice -n19 make "${make_opts[@]}" BIN_DIR="$BIN_DIR" world 2>&1 | tee "$BUILD_DIR/make.log"; then
|
||||||
echo "Error: make failed"
|
echo "Error: make failed (see $BUILD_DIR/make.log)"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -819,7 +856,7 @@ main() {
|
|||||||
# Store profile in P_ARR nameref and set global profile vars
|
# Store profile in P_ARR nameref and set global profile vars
|
||||||
local -n P_ARR="$PROFILE"
|
local -n P_ARR="$PROFILE"
|
||||||
declare -g REPO="${P_ARR[repo]:-}"
|
declare -g REPO="${P_ARR[repo]:-}"
|
||||||
declare -g FILESYSTEM="${P_ARR[filesystem]:="squashfs"}"
|
declare -g FILESYSTEM="${P_ARR[filesystem]:-squashfs}"
|
||||||
declare -g TARGET="${P_ARR[target]}"
|
declare -g TARGET="${P_ARR[target]}"
|
||||||
declare -g DEVICE="${P_ARR[device]}"
|
declare -g DEVICE="${P_ARR[device]}"
|
||||||
declare -g MODE="${USER_MODE:-${P_ARR[mode]:-imagebuilder}}"
|
declare -g MODE="${USER_MODE:-${P_ARR[mode]:-imagebuilder}}"
|
||||||
|
|||||||
182
profiles
182
profiles
@@ -2,14 +2,30 @@
|
|||||||
# Device profiles for openwrtbuilder
|
# Device profiles for openwrtbuilder
|
||||||
# shellcheck disable=SC2034
|
# shellcheck disable=SC2034
|
||||||
|
|
||||||
DEFAULT_RELEASE="25.12.3" # overrides default release in openwrtbuilder
|
DEFAULT_RELEASE="25.12.4" # overrides default release in openwrtbuilder
|
||||||
|
|
||||||
# Default packages (precede with "-" to exclude)
|
# Default packages (precede with "-" to exclude)
|
||||||
default_packages=(
|
default_packages=(
|
||||||
ca-bundle nano vim htop diffutils tar iperf3 zsh rsync tcpdump ethtool
|
ca-bundle base-files apk-mbedtls libustream-mbedtls openssh-sftp-server dropbear
|
||||||
openssh-sftp-server
|
fstools libc libgcc logd mtd netifd
|
||||||
luci luci-ssl luci-proto-wireguard luci-app-statistics luci-app-filemanager
|
nano vim htop diffutils tar iperf3 zsh rsync tcpdump ethtool
|
||||||
collectd-mod-sensors collectd-mod-thermal collectd-mod-conntrack collectd-mod-cpu
|
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 luci-app-watchcat
|
||||||
|
adblock luci-app-adblock
|
||||||
|
kmod-nft-offload
|
||||||
|
)
|
||||||
|
|
||||||
|
default_ap=("${default_packages[@]}"
|
||||||
|
-dnsmasq -odhcpd-ipv6only -nftables -firewall4
|
||||||
|
-kmod-nft-offload
|
||||||
)
|
)
|
||||||
|
|
||||||
# Default kernel configs
|
# Default kernel configs
|
||||||
@@ -17,32 +33,32 @@ default_kconfigs=(
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Current devices
|
# Current devices
|
||||||
declare -Ag r4s=(
|
# Nanopi R4S router w/ btrfs
|
||||||
|
declare -Ag router=(
|
||||||
[mode]="source"
|
[mode]="source"
|
||||||
[device]="friendlyarm_nanopi-r4s"
|
[device]="friendlyarm_nanopi-r4s"
|
||||||
[target]="rockchip/armv8"
|
[target]="rockchip/armv8"
|
||||||
[filesystem]="ext4"
|
[filesystem]="ext4"
|
||||||
[packages]="${default_packages[*]} \
|
[packages]="${default_router[*]} \
|
||||||
adblock luci-app-adblock \
|
kmod-r8169 \
|
||||||
luci-app-sqm \
|
|
||||||
collectd-mod-df usbutils kmod-usb-storage kmod-usb-storage-uas \
|
collectd-mod-df usbutils kmod-usb-storage kmod-usb-storage-uas \
|
||||||
kmod-fs-btrfs btrfs-progs block-mount smcroute avahi-daemon \
|
kmod-fs-btrfs btrfs-progs block-mount \
|
||||||
ethtool ca-bundle tailscale"
|
smcroute avahi-daemon"
|
||||||
[kconfigs]="${default_kconfigs[*]} \
|
[kconfigs]="${default_kconfigs[*]} \
|
||||||
CONFIG_TARGET_ROOTFS_PARTSIZE=512 CONFIG_TARGET_KERNEL_PARTSIZE=32 \
|
CONFIG_TARGET_ROOTFS_PARTSIZE=512 CONFIG_TARGET_KERNEL_PARTSIZE=32 \
|
||||||
CONFIG_KERNEL_BTRFS_FS_POSIX_ACL=y CONFIG_BTRFS_PROGS_ZSTD=y"
|
CONFIG_KERNEL_BTRFS_FS_POSIX_ACL=y CONFIG_BTRFS_PROGS_ZSTD=y"
|
||||||
# For 24.10 branch (Linux 6.6)
|
|
||||||
# [cherrypicks]="https://github.com/wurzerj/openwrt.git:59d6e31 \
|
|
||||||
# https://github.com/wurzerj/openwrt.git:bb251b8" # fix inconsistent reboot
|
|
||||||
)
|
)
|
||||||
|
|
||||||
declare -Ag ax6000=(
|
# Redmi AX6000 router w/ stock layout in full router mode
|
||||||
|
declare -Ag abby_router=(
|
||||||
[mode]="imagebuilder"
|
[mode]="imagebuilder"
|
||||||
[device]="xiaomi_redmi-router-ax6000-stock"
|
[device]="xiaomi_redmi-router-ax6000-stock"
|
||||||
[target]="mediatek/filogic"
|
[target]="mediatek/filogic"
|
||||||
[filesystem]="squashfs"
|
[filesystem]="squashfs"
|
||||||
[packages]="${default_packages[*]} \
|
[packages]="${default_router[*]} \
|
||||||
tailscale"
|
wpad-basic-mbedtls \
|
||||||
|
kmod-leds-ws2812b kmod-mt7915e \
|
||||||
|
kmod-mt7986-firmware mt7986-wo-firmware"
|
||||||
)
|
)
|
||||||
|
|
||||||
declare -Ag ax6000_uboot_ap=(
|
declare -Ag ax6000_uboot_ap=(
|
||||||
@@ -51,36 +67,71 @@ declare -Ag ax6000_uboot_ap=(
|
|||||||
[target]="mediatek/filogic"
|
[target]="mediatek/filogic"
|
||||||
[release]="snapshot"
|
[release]="snapshot"
|
||||||
[filesystem]="squashfs"
|
[filesystem]="squashfs"
|
||||||
[packages]="${default_packages[*]} \
|
[packages]="${default_ap[*]} \
|
||||||
-dnsmasq -odhcpd-ipv6only -nftables -firewall4"
|
wpad-basic-mbedtls \
|
||||||
|
kmod-leds-ws2812b kmod-mt7915e \
|
||||||
|
kmod-mt7986-firmware mt7986-wo-firmware"
|
||||||
)
|
)
|
||||||
|
|
||||||
declare -Ag n5100=(
|
# Testing
|
||||||
[device]="generic"
|
declare -Ag w1700k_ap=(
|
||||||
[target]="x86/64"
|
[mode]="source"
|
||||||
|
[device]="gemtek_w1700k-ubi"
|
||||||
|
[target]="airoha/an7581"
|
||||||
[filesystem]="squashfs"
|
[filesystem]="squashfs"
|
||||||
[packages]="${default_packages[*]} \
|
[release]="snapshot"
|
||||||
luci-app-ddns irqbalance collectd-mod-df \
|
[packages]="${default_ap[*]} \
|
||||||
usbutils kmod-usb-storage kmod-usb-storage-uas kmod-fs-btrfs \
|
wpad-basic-mbedtls libiwinfo-data \
|
||||||
btrfs-progs block-mount cryptsetup kmod-crypto-xts smcroute \
|
kmod-gpio-button-hotplug kmod-leds-gpio \
|
||||||
avahi-daemon ethtool ca-bundle smartmontools intel-microcode \
|
airoha-en7581-npu-firmware airoha-en7581-mt7996-npu-firmware \
|
||||||
lm-sensors samba4-server luci-app-samba4 tailscale shadow-useradd"
|
kmod-i2c-an7581 kmod-hwmon-nct7802 kmod-mt7996-firmware kmod-phy-rtl8261n \
|
||||||
[kconfigs]="${default_kconfigs[*]} \
|
fitblk"
|
||||||
CONFIG_KERNEL_BTRFS_FS_POSIX_ACL=y CONFIG_BTRFS_PROGS_ZSTD=y \
|
)
|
||||||
CONFIG_TARGET_ROOTFS_PARTSIZE=512 CONFIG_TARGET_KERNEL_PARTSIZE=32"
|
|
||||||
|
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=(
|
declare -Ag w1700k=(
|
||||||
[mode]="source"
|
[mode]="source"
|
||||||
[device]="gemtek_w1700k"
|
[device]="gemtek_w1700k-ubi"
|
||||||
[target]="airoha/an7581"
|
[target]="airoha/an7581"
|
||||||
[filesystem]="squashfs"
|
[filesystem]="squashfs"
|
||||||
[release]="snapshot"
|
[release]="snapshot"
|
||||||
[packages]="${default_packages[*]} \
|
[packages]="${default_router[*]} \
|
||||||
luci-app-sqm \
|
wpad-basic-mbedtls libiwinfo-data \
|
||||||
smcroute avahi-daemon \
|
kmod-gpio-button-hotplug kmod-leds-gpio \
|
||||||
lm-sensors samba4-server luci-app-samba4 shadow-useradd \
|
airoha-en7581-npu-firmware airoha-en7581-mt7996-npu-firmware \
|
||||||
ca-bundle tailscale"
|
kmod-i2c-an7581 kmod-hwmon-nct7802 kmod-mt7996-firmware kmod-phy-rtl8261n \
|
||||||
|
fitblk"
|
||||||
|
# tools: m4: update to 1.4.21 (fixes GCC15/C23 _Generic build failure)
|
||||||
|
# [cherrypicks]="https://github.com/openwrt/openwrt@main:ce9a0ff3fb88d037080aaf95af92ac5da4fcfdba"
|
||||||
|
)
|
||||||
|
|
||||||
|
# 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]="\
|
# [cherrypicks]="\
|
||||||
# https://github.com/OpenWRT-fanboy/OpenW1700k.git@lumos:8d449e968cfaa774ab7a219b3a5ab4251b2f9352 \
|
# 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:3033241393ef6eb562539c6a3ccb9d3cf1a25d05 \
|
||||||
@@ -98,25 +149,12 @@ declare -Ag w1700k=(
|
|||||||
# [branches]="https://github.com/OpenWRT-fanboy/OpenW1700k.git@minimal"
|
# [branches]="https://github.com/OpenWRT-fanboy/OpenW1700k.git@minimal"
|
||||||
)
|
)
|
||||||
|
|
||||||
declare -Ag w1700k_ap=(
|
|
||||||
[mode]="source"
|
|
||||||
[device]="gemtek_w1700k"
|
|
||||||
[target]="airoha/an7581"
|
|
||||||
[filesystem]="squashfs"
|
|
||||||
[release]="snapshot"
|
|
||||||
[packages]="${default_packages[*]} \
|
|
||||||
-dnsmasq -odhcpd-ipv6only -nftables -firewall4 \
|
|
||||||
wpad-openssl libiwinfo-data tailscale bridger switch smp_util \
|
|
||||||
kmod-crypto-hw-eip93"
|
|
||||||
# [branches]="https://github.com/OpenWRT-fanboy/OpenW1700k.git@minimal"
|
|
||||||
)
|
|
||||||
|
|
||||||
declare -Ag rpi4=(
|
declare -Ag rpi4=(
|
||||||
[device]="rpi-4"
|
[device]="rpi-4"
|
||||||
[target]="bcm27xx/bcm2711"
|
[target]="bcm27xx/bcm2711"
|
||||||
[filesystem]="ext4"
|
[filesystem]="ext4"
|
||||||
[packages]="${default_packages[*]} \
|
[packages]="${default_router[*]} \
|
||||||
luci-app-upnp luci-app-pbr -dnsmasq dnsmasq-full luci-app-ddns luci-app-sqm \
|
luci-app-pbr -dnsmasq dnsmasq-full \
|
||||||
kmod-usb-net-asix-ax88179 kmod-usb-net-rtl8152"
|
kmod-usb-net-asix-ax88179 kmod-usb-net-rtl8152"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -127,20 +165,34 @@ declare -Ag r4s_stock=(
|
|||||||
[release]="snapshot"
|
[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=(
|
declare -Ag totolink=(
|
||||||
[device]="totolink_x5000r"
|
[device]="totolink_x5000r"
|
||||||
[target]="ramips/mt7621"
|
[target]="ramips/mt7621"
|
||||||
[filesystem]="squashfs"
|
[filesystem]="squashfs"
|
||||||
[packages]="${default_packages[*]} \
|
[packages]="${default_ap[*]}"
|
||||||
-dnsmasq -odhcpd-ipv6only -nftables -firewall4 \
|
|
||||||
-kmod-nft-offload collectd-mod-iwinfo"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
declare -Ag archer=(
|
declare -Ag archer=(
|
||||||
[device]="tplink_archer-c7-v2"
|
[device]="tplink_archer-c7-v2"
|
||||||
[target]="ath79/generic"
|
[target]="ath79/generic"
|
||||||
[filesystem]="squashfs"
|
[filesystem]="squashfs"
|
||||||
[packages]="${default_packages[*]} -dnsmasq -odhcpd -iptables \
|
[packages]="${default_ap[*]} \
|
||||||
-ath10k-firmware-qca988x-ct ath10k-firmware-qca988x-ct-full-htt"
|
-ath10k-firmware-qca988x-ct ath10k-firmware-qca988x-ct-full-htt"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -148,26 +200,24 @@ declare -Ag linksys=(
|
|||||||
[device]="linksys_ea8300"
|
[device]="linksys_ea8300"
|
||||||
[target]="ipq40xx/generic"
|
[target]="ipq40xx/generic"
|
||||||
[filesystem]="squashfs"
|
[filesystem]="squashfs"
|
||||||
[packages]="${default_packages[*]} \
|
[packages]="${default_ap[*]}"
|
||||||
-dnsmasq -odhcpd -iptables"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
declare -Ag r2s=(
|
declare -Ag r2s=(
|
||||||
[device]="friendlyarm_nanopi-r2s"
|
[device]="friendlyarm_nanopi-r2s"
|
||||||
[target]="rockchip/armv8"
|
[target]="rockchip/armv8"
|
||||||
[filesystem]="ext4"
|
[filesystem]="ext4"
|
||||||
[packages]="${default_packages[*]} \
|
[packages]="${default_router[*]} \
|
||||||
luci-app-upnp luci-app-pbr -dnsmasq dnsmasq-full \
|
kmod-usb-net-rtl8152 \
|
||||||
luci-app-ddns luci-app-sqm luci-app-statistics collectd-mod-sensors \
|
luci-app-upnp luci-app-pbr -dnsmasq dnsmasq-full smcroute"
|
||||||
collectd-mod-thermal collectd-mod-conntrack smcroute curl ethtool"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
declare -Ag r2s_tr=(
|
declare -Ag r2s_tr=(
|
||||||
[device]="friendlyarm_nanopi-r2s"
|
[device]="friendlyarm_nanopi-r2s"
|
||||||
[target]="rockchip/armv8"
|
[target]="rockchip/armv8"
|
||||||
[filesystem]="ext4"
|
[filesystem]="ext4"
|
||||||
[packages]="${default_packages[*]} \
|
[packages]="${default_router[*]} \
|
||||||
luci-app-upnp luci-app-pbr luci-app-ddns \
|
kmod-usb-net-rtl8152 \
|
||||||
luci-app-statistics collectd-mod-sensors collectd-mod-thermal \
|
luci-app-upnp luci-app-pbr -dnsmasq dnsmasq-full \
|
||||||
collectd-mod-conntrack curl ethtool travelmate"
|
travelmate"
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user