diff --git a/README.md b/README.md index a0673d8..ef1a9a2 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ In the next two commands replace GLUON_VERSION and SITE_VERSION with the actual version numbers. $ git clone -b GLUON_VERSION https://github.com/freifunk-gluon/gluon.git - $ git clone -b SITE_VERSION https://codeberg.org/freifunkhamburg/site-ffhh.git + $ git clone -b SITE_VERSION https://github.com/freifunkhamburg/site-ffhh.git $ cd site-ffhh To build the firmware into the subdirectory firmware: @@ -15,20 +15,6 @@ Please see [the official Gluon repository](https://github.com/freifunk-gluon/glu #### Gluon versions used for specific Hamburg Freifunk Firmware builds -- v2023.2.5.0: site-ffhh: v2023.2.5.0, gluon: v2023.2.5 -- v2023.2.4.0: site-ffhh: v2023.2.4.0, gluon: v2023.2.4 -- v2023.2.2.1: site-ffhh: v2023.2.2.0, gluon: v2023.2.2 (add mediatek-filogic Routers) -- v2023.2.2.0: site-ffhh: v2023.2.2.0, gluon: v2023.2.2 -- v2023.1.2.0: site-ffhh: v2023.1.2.0, gluon: v2023.1.2 -- v2022.1.4.0: site-ffhh: v2022.1.4.0, gluon: v2022.1.4 -- v2022.1.3.0: site-ffhh: v2022.1.3.0, gluon: v2022.1.3 (nur experimental verteilt) -- v2021.1.2.0: site-ffhh: v2021.1.2.0, gluon: v2021.1.2 -- v2021.1.1.0: site-ffhh: v2021.1.1.0, gluon: v2021.1.1 -- v2020.2.3.0: site-ffhh: v2020.2.3.0, gluon: v2020.2.3 -- v2020.2.2.0: site-ffhh: v2020.2.2.0, gluon: v2020.2.2 -- v2020.1.4.0: site-ffhh: v2020.1.4.0, gluon: v2020.1.4 -- v2020.1.3.0: site-ffhh: v2020.1.3.0, gluon: v2020.1.3 -- v2019.1.2.0: site-ffhh: v2019.1.2.0, gluon: v2019.1.2 - v2018.2.3.0: site-ffhh: v2018.2.3.0, gluon: v2018.2.3 - v2018.2.1.0: site-ffhh: v2018.2.1.0, gluon: v2018.2.1 - v2018.1.4.2: site-ffhh: v2018.1.4.2, gluon: v2018.1.4 diff --git a/build.conf b/build.conf index 2d07aa1..8d8d870 100644 --- a/build.conf +++ b/build.conf @@ -1,5 +1,6 @@ -GLUON_RELEASE="v2023.2.5.0" -targets="ath79-generic ath79-nand ath79-mikrotik bcm27xx-bcm2708 bcm27xx-bcm2709 ipq40xx-generic ipq40xx-mikrotik ipq806x-generic lantiq-xrx200 lantiq-xway mediatek-filogic mediatek-mt7622 mpc85xx-p1010 mpc85xx-p1020 ramips-mt7620 ramips-mt7621 ramips-mt76x8 rockchip-armv8 sunxi-cortexa7 x86-generic x86-geode x86-legacy x86-64" +GLUON_RELEASE="v2018.2.3.0" +GLUON_BRANCH="stable" +targets="ar71xx-generic ar71xx-nand ar71xx-tiny brcm2708-bcm2708 brcm2708-bcm2709 mpc85xx-generic ramips-mt7620 ramips-mt7621 ramips-mt76x8 ramips-rt305x sunxi-cortexa7 x86-64 x86-generic x86-geode" broken_images=( '*dir*615*d*' ) diff --git a/build.sh b/build.sh index 5647ba5..72fe790 100755 --- a/build.sh +++ b/build.sh @@ -11,7 +11,6 @@ function usage () { echo " -a Automatically detect and build all targets." >&2 echo " -o OUT_PATH Path to the firmware output directory. Default: ${gluon_out}" >&2 echo " -s SIGNATURE Sign firmware with signature" >&2 - echo " -stable Set GLUON_AUTOUPDATER_BRANCH=stable" >&2 echo " -b BROKEN=1" >&2 echo " -v verbose" >&2 echo " -j JOBS Run build with -jJOBS. Default: ${proc}" >&2 @@ -41,9 +40,6 @@ while [ $# -gt 0 ]; do signature="$2" shift ;; - -stable) - export GLUON_AUTOUPDATER_BRANCH=stable - ;; -b) export BROKEN=1 ;; @@ -70,7 +66,7 @@ fi gluon_path=$(realpath "$gluon_path") gluon_out=$(realpath "$gluon_out") -site_path=$(realpath "$(dirname "${BASH_SOURCE[0]}")") +site_path=$(realpath "$(dirname "$BASH_SOURCE")") announce GLUON: "$gluon_path" >&2 announce FFHH SITE PATH: "$site_path" >&2 @@ -78,19 +74,16 @@ announce FFHH SITE PATH: "$site_path" >&2 pushd "$site_path" # shellcheck source=/dev/null . ./build.conf -GLUON_AUTOUPDATER_BRANCH="${GLUON_AUTOUPDATER_BRANCH:-experimental}" -[ "${GLUON_AUTOUPDATER_BRANCH}" = "experimental" ] && GLUON_RELEASE="${GLUON_RELEASE}~exp${BUILD_DATE:-$(date +%Y%m%d)}" +[ "${GLUON_BRANCH}" = "experimental" ] && GLUON_RELEASE="${GLUON_RELEASE}~exp$(date +%Y%m%d)" export GLUON_RELEASE -export GLUON_AUTOUPDATER_BRANCH +export GLUON_BRANCH export GLUON_SITEDIR="${site_path}" -export GLUON_OUTPUTDIR="${gluon_out}/${GLUON_RELEASE}/${GLUON_AUTOUPDATER_BRANCH}" +export GLUON_OUTPUTDIR="${gluon_out}/${GLUON_RELEASE}/${GLUON_BRANCH}" popd -announce GLUON Variables: -env | egrep '^GLUON' | sort - pushd "${gluon_path}" announce Starting make update... +rm -rf "${GLUON_OUTPUTDIR}" mkdir -p "${GLUON_OUTPUTDIR}" make update # Try to install patches. I wasn't able to figure out how patches in gluon/site/patches work. @@ -113,7 +106,7 @@ announce "The following targets will be generated: $targets" >&2 for t in $targets; do announce "Starting build for $t..." >&2 - make "-j$(nproc)" "GLUON_TARGET=$t" $verbose + make "-j$(nproc)" "GLUON_TARGET=$t" "$verbose" done # Remove known-broken images # shellcheck disable=SC2154 @@ -127,7 +120,7 @@ done announce Building manifest... make manifest if [ -n "${signature}" ]; then - if [ "$GLUON_AUTOUPDATER_BRANCH" == "experimental" ]; then + if [ "$GLUON_BRANCH" == "experimental" ]; then announce Signing... "${gluon_path}/contrib/sign.sh" "${signature}" "${GLUON_OUTPUTDIR}/images/sysupgrade/experimental.manifest" else diff --git a/domains/ffhh_nowe.conf b/domains/ffhh_nowe.conf index 4ecba48..90aed0c 100644 --- a/domains/ffhh_nowe.conf +++ b/domains/ffhh_nowe.conf @@ -33,9 +33,6 @@ mesh = { vxlan = false, - batman_adv = { - routing_algo = "BATMAN_IV", - }, }, mesh_vpn = { @@ -45,27 +42,27 @@ peers = { gateway01 = { remotes = { '"gw01-new.hamburg.freifunk.net" port 10007' }, - key = 'aa88fb5cc3e729c124589e3714b817a505d809f381d9b3494040c382edfd4f3b', + key = 'aa88fb5cc3e729c124589e3714b817a505d809f381d9b3494040c382edfd4f3b', }, gateway02 = { remotes = { '"gw02-new.hamburg.freifunk.net" port 10007' }, - key = '462b4e21ab5eb0f9de687efd97252880c895ba55cc9cc0755a75347b0965b6e0', + key = '462b4e21ab5eb0f9de687efd97252880c895ba55cc9cc0755a75347b0965b6e0', }, gateway03 = { remotes = { '"gw03-new.hamburg.freifunk.net" port 10007' }, - key = 'e15295b86138ac490d611e4100f847ccfb7052d5091ded4659f25940be2c0546', + key = 'e15295b86138ac490d611e4100f847ccfb7052d5091ded4659f25940be2c0546', }, gateway04 = { remotes = { '"gw04-new.hamburg.freifunk.net" port 10008' }, - key = 'a00e092c236c3b56043fb3b5d0b3da3da08d8325fb18e7bae6ed035d50d50669', + key = 'a00e092c236c3b56043fb3b5d0b3da3da08d8325fb18e7bae6ed035d50d50669', }, gateway05 = { remotes = { '"gw05-new.hamburg.freifunk.net" port 10008' }, - key = '291197d88a5ed510a62fec87f30d13315c1e031c62c927c23e1643a72796708f', + key = '291197d88a5ed510a62fec87f30d13315c1e031c62c927c23e1643a72796708f', }, gateway06 = { remotes = { '"gw06-new.hamburg.freifunk.net" port 10008' }, - key = '8d400e8a9db05b145c36583d46b4170f6b66d1e16177540f8a2f9f5ad0dc4c43', + key = '8d400e8a9db05b145c36583d46b4170f6b66d1e16177540f8a2f9f5ad0dc4c43', }, }, }, diff --git a/domains/ffhh_ost.conf b/domains/ffhh_ost.conf index 941b75d..7c2b948 100644 --- a/domains/ffhh_ost.conf +++ b/domains/ffhh_ost.conf @@ -33,9 +33,6 @@ mesh = { vxlan = false, - batman_adv = { - routing_algo = "BATMAN_IV", - }, }, mesh_vpn = { @@ -45,26 +42,26 @@ peers = { gateway01 = { remotes = { '"gw01-new.hamburg.freifunk.net" port 10009' }, - key = 'aa88fb5cc3e729c124589e3714b817a505d809f381d9b3494040c382edfd4f3b', + key = 'aa88fb5cc3e729c124589e3714b817a505d809f381d9b3494040c382edfd4f3b', }, gateway02 = { remotes = { '"gw02-new.hamburg.freifunk.net" port 10009' }, - key = '462b4e21ab5eb0f9de687efd97252880c895ba55cc9cc0755a75347b0965b6e0', + key = '462b4e21ab5eb0f9de687efd97252880c895ba55cc9cc0755a75347b0965b6e0', }, gateway03 = { remotes = { '"gw03-new.hamburg.freifunk.net" port 10009' }, - key = 'e15295b86138ac490d611e4100f847ccfb7052d5091ded4659f25940be2c0546', + key = 'e15295b86138ac490d611e4100f847ccfb7052d5091ded4659f25940be2c0546', }, gateway04 = { remotes = { '"gw04-new.hamburg.freifunk.net" port 10010' }, - key = 'a00e092c236c3b56043fb3b5d0b3da3da08d8325fb18e7bae6ed035d50d50669', + key = 'a00e092c236c3b56043fb3b5d0b3da3da08d8325fb18e7bae6ed035d50d50669', }, gateway05 = { remotes = { '"gw05-new.hamburg.freifunk.net" port 10010' }, - key = '291197d88a5ed510a62fec87f30d13315c1e031c62c927c23e1643a72796708f', + key = '291197d88a5ed510a62fec87f30d13315c1e031c62c927c23e1643a72796708f', }, gateway06 = { - key = '8d400e8a9db05b145c36583d46b4170f6b66d1e16177540f8a2f9f5ad0dc4c43', + key = '8d400e8a9db05b145c36583d46b4170f6b66d1e16177540f8a2f9f5ad0dc4c43', remotes = { '"gw06-new.hamburg.freifunk.net" port 10010' }, }, }, diff --git a/domains/ffhh_sued.conf b/domains/ffhh_sued.conf index 1a6f31f..42da4ca 100644 --- a/domains/ffhh_sued.conf +++ b/domains/ffhh_sued.conf @@ -33,9 +33,6 @@ mesh = { vxlan = false, - batman_adv = { - routing_algo = "BATMAN_IV", - }, }, mesh_vpn = { @@ -45,27 +42,27 @@ peers = { gateway01 = { remotes = { '"gw01-new.hamburg.freifunk.net" port 10003' }, - key = 'aa88fb5cc3e729c124589e3714b817a505d809f381d9b3494040c382edfd4f3b', + key = 'aa88fb5cc3e729c124589e3714b817a505d809f381d9b3494040c382edfd4f3b', }, gateway02 = { - key = '462b4e21ab5eb0f9de687efd97252880c895ba55cc9cc0755a75347b0965b6e0', + key = '462b4e21ab5eb0f9de687efd97252880c895ba55cc9cc0755a75347b0965b6e0', remotes = { '"gw02-new.hamburg.freifunk.net" port 10003' }, }, gateway03 = { remotes = { '"gw03-new.hamburg.freifunk.net" port 10003' }, - key = 'e15295b86138ac490d611e4100f847ccfb7052d5091ded4659f25940be2c0546', + key = 'e15295b86138ac490d611e4100f847ccfb7052d5091ded4659f25940be2c0546', }, gateway04 = { remotes = { '"gw04-new.hamburg.freifunk.net" port 10004' }, - key = 'a00e092c236c3b56043fb3b5d0b3da3da08d8325fb18e7bae6ed035d50d50669', + key = 'a00e092c236c3b56043fb3b5d0b3da3da08d8325fb18e7bae6ed035d50d50669', }, gateway05 = { remotes = { '"gw05-new.hamburg.freifunk.net" port 10004' }, - key = '291197d88a5ed510a62fec87f30d13315c1e031c62c927c23e1643a72796708f', + key = '291197d88a5ed510a62fec87f30d13315c1e031c62c927c23e1643a72796708f', }, gateway06 = { remotes = { '"gw06-new.hamburg.freifunk.net" port 10004' }, - key = '8d400e8a9db05b145c36583d46b4170f6b66d1e16177540f8a2f9f5ad0dc4c43', + key = '8d400e8a9db05b145c36583d46b4170f6b66d1e16177540f8a2f9f5ad0dc4c43', }, }, }, diff --git a/domains/ffhh_west.conf b/domains/ffhh_west.conf index ca3c22a..80c0c15 100644 --- a/domains/ffhh_west.conf +++ b/domains/ffhh_west.conf @@ -33,9 +33,6 @@ mesh = { vxlan = false, - batman_adv = { - routing_algo = "BATMAN_IV", - }, }, mesh_vpn = { @@ -45,27 +42,27 @@ peers = { gateway01 = { remotes = { '"gw01-new.hamburg.freifunk.net" port 10005' }, - key = 'aa88fb5cc3e729c124589e3714b817a505d809f381d9b3494040c382edfd4f3b', + key = 'aa88fb5cc3e729c124589e3714b817a505d809f381d9b3494040c382edfd4f3b', }, gateway02 = { - key = '462b4e21ab5eb0f9de687efd97252880c895ba55cc9cc0755a75347b0965b6e0', + key = '462b4e21ab5eb0f9de687efd97252880c895ba55cc9cc0755a75347b0965b6e0', remotes = { '"gw02-new.hamburg.freifunk.net" port 10005' }, }, gateway03 = { remotes = { '"gw03-new.hamburg.freifunk.net" port 10005' }, - key = 'e15295b86138ac490d611e4100f847ccfb7052d5091ded4659f25940be2c0546', + key = 'e15295b86138ac490d611e4100f847ccfb7052d5091ded4659f25940be2c0546', }, gateway04 = { remotes = { '"gw04-new.hamburg.freifunk.net" port 10006' }, - key = 'a00e092c236c3b56043fb3b5d0b3da3da08d8325fb18e7bae6ed035d50d50669', + key = 'a00e092c236c3b56043fb3b5d0b3da3da08d8325fb18e7bae6ed035d50d50669', }, gateway05 = { remotes = { '"gw05-new.hamburg.freifunk.net" port 10006' }, - key = '291197d88a5ed510a62fec87f30d13315c1e031c62c927c23e1643a72796708f', + key = '291197d88a5ed510a62fec87f30d13315c1e031c62c927c23e1643a72796708f', }, gateway06 = { remotes = { '"gw06-new.hamburg.freifunk.net" port 10006' }, - key = '8d400e8a9db05b145c36583d46b4170f6b66d1e16177540f8a2f9f5ad0dc4c43', + key = '8d400e8a9db05b145c36583d46b4170f6b66d1e16177540f8a2f9f5ad0dc4c43', }, }, }, diff --git a/image-customization.lua b/image-customization.lua deleted file mode 100644 index 34f6279..0000000 --- a/image-customization.lua +++ /dev/null @@ -1,37 +0,0 @@ -features({ - 'autoupdater', - 'config-mode-domain-select', - 'ebtables-filter-multicast', - 'ebtables-filter-ra-dhcp', - 'mesh-batman-adv-15', - 'mesh-vpn-fastd', - 'web-private-wifi', - 'radv-filterd', - 'respondd', - 'status-page', - 'web-advanced', - 'web-wizard', -}) - -if not device_class('tiny') then - features({ - 'wireless-encryption-wpa3', - }) -end - -packages({ - '-gluon-config-mode-geo-location', - '-gluon-config-mode-contact-info', - 'gluon-ebtables-source-filter', - 'gluon-upgrade-static-interface-ffhh', - 'gluon-web-mesh-vpn-fastd', - 'iwinfo', -}) - -if target('x86') then - packages({ - 'nano', - 'htop', - 'ethtool', - }) -end diff --git a/modules b/modules index 45f281f..6416262 100644 --- a/modules +++ b/modules @@ -1,4 +1,5 @@ GLUON_SITE_FEEDS='ffhh_packages' -PACKAGES_FFHH_PACKAGES_REPO=https://codeberg.org/freifunkhamburg/ffhh-packages.git -PACKAGES_FFHH_PACKAGES_COMMIT=eb99353a88b399583f46288485d05ca8d53cd1ac +PACKAGES_FFHH_PACKAGES_REPO=git://github.com/freifunkhamburg/ffhh-packages.git +PACKAGES_FFHH_PACKAGES_COMMIT=ef9fcc1222f74c3c045b1450537a4b8b80efb56c + diff --git a/site.conf b/site.conf index 04919a0..c8c0822 100644 --- a/site.conf +++ b/site.conf @@ -12,6 +12,7 @@ default_domain = 'ffhh_nowe', opkg = { + lede = 'http://lede.opkg.services.ffhh/snapshots/packages/%A', extra = { modules = 'http://updates.hamburg.freifunk.net/multi/archive/%GR/packages/gluon-%GS-%GR/%S', }, @@ -24,6 +25,9 @@ wifi24 = { channel = 1, + supported_rates = {6000, 9000, 12000, 18000, 24000, 36000, 48000, 54000}, + basic_rate = {6000, 9000, 18000, 36000, 54000}, + mesh = { mcast_rate = 12000, }, @@ -31,7 +35,6 @@ wifi5 = { channel = 44, - outdoor_chanlist = "100-140", mesh = { mcast_rate = 12000, }, @@ -39,9 +42,9 @@ mesh_vpn = { enabled = true, + mtu = 1312, fastd = { configurable = true, - mtu = 1312, methods = {'salsa2012+umac'}, groups = { backbone = { diff --git a/site.mk b/site.mk index 45aa428..76cc687 100644 --- a/site.mk +++ b/site.mk @@ -1,7 +1,44 @@ GLUON_MULTIDOMAIN := 1 -GLUON_DEPRECATED := upgrade -GLUON_AUTOUPDATER_ENABLED ?= 1 +GLUON_SITE_PACKAGES := -gluon-config-mode-geo-location \ + -gluon-config-mode-contact-info \ + gluon-ebtables-source-filter \ + gluon-web-mesh-vpn-fastd \ + haveged \ + iptables \ + iwinfo + +GLUON_FEATURES := \ + autoupdater \ + config-mode-domain-select \ + ebtables-filter-multicast \ + ebtables-filter-ra-dhcp \ + ebtables-limit-arp \ + mesh-batman-adv-15 \ + mesh-vpn-fastd \ + radvd \ + respondd \ + status-page \ + web-advanced \ + web-wizard + +# EXTRA_SOFTWARE_TOOLS_01 +EXTRA_SOFTWARE_TOOLS_01 := \ + nano \ + htop \ + ethtool + +# x86 +ifeq ($(GLUON_TARGET),x86-generic) +GLUON_SITE_PACKAGES += \ + $(EXTRA_SOFTWARE_TOOLS_01) +endif + +# x86-64 +ifeq ($(GLUON_TARGET),x86-64) +GLUON_SITE_PACKAGES += \ + $(EXTRA_SOFTWARE_TOOLS_01) +endif GLUON_PRIORITY ?= 7