Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision

Target

Select target project
  • firmware/gluon
  • 0x4A6F/gluon
  • patrick/gluon
3 results
Select Git revision
Show changes
Showing
with 689 additions and 122 deletions
. targets/brcm2708.inc
device raspberry-pi-3 rpi-3
factory -ext4-factory .img.gz
sysupgrade -ext4-sysupgrade .img.gz
[ "$GLUON_SITEDIR" -a "$GLUON_RELEASE" -a "$BOARD" ] || exit 1
assert(env.GLUON_LANGS)
. scripts/modules.sh
. scripts/default_feeds.sh
config('GLUON_SITEDIR', env.GLUON_SITEDIR)
config('GLUON_VERSION', env.GLUON_VERSION)
config('GLUON_SITE_VERSION', env.GLUON_SITE_VERSION)
config('GLUON_RELEASE', env.GLUON_RELEASE)
try_config('GLUON_AUTOUPDATER_BRANCH', env.GLUON_AUTOUPDATER_BRANCH)
try_config('GLUON_AUTOUPDATER_ENABLED', istrue(env.GLUON_AUTOUPDATER_ENABLED))
config "CONFIG_GLUON_SITEDIR=\"$GLUON_SITEDIR\""
config "CONFIG_GLUON_RELEASE=\"$GLUON_RELEASE\""
try_config "CONFIG_GLUON_BRANCH=\"$GLUON_BRANCH\""
for lang in $GLUON_LANGS; do
try_config "CONFIG_GLUON_WEB_LANG_${lang}=y"
done
[ "$BOARD" ] && config "CONFIG_TARGET_${BOARD}=y"
[ -z "$SUBTARGET" ] || config "CONFIG_TARGET_${BOARD}_${SUBTARGET}=y"
# Disable non-default feeds in distfeeds.conf
for feed in gluon_base $(echo "$FEEDS" | grep -vxF "$DEFAULT_FEEDS"); do
config "# CONFIG_FEED_${feed} is not set"
done
config '# CONFIG_TARGET_ROOTFS_INITRAMFS is not set'
config 'CONFIG_ALL_NONSHARED=y'
config '# CONFIG_PACKAGE_usbip is not set' # fails to build
config 'CONFIG_BUSYBOX_CUSTOM=y'
config '# CONFIG_BUSYBOX_CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set'
config 'CONFIG_PACKAGE_ATH_DEBUG=y'
config '# CONFIG_KERNEL_IP_MROUTE is not set'
config '# CONFIG_KERNEL_IPV6_MROUTE is not set'
try_config 'CONFIG_TARGET_MULTI_PROFILE=y'
try_config 'CONFIG_TARGET_PER_DEVICE_ROOTFS=y'
if [ "$GLUON_MULTIDOMAIN" = 1 ]; then
config 'CONFIG_GLUON_MULTIDOMAIN=y'
fi
if [ "$GLUON_DEBUG" = 1 ]; then
config 'CONFIG_DEBUG=y'
config 'CONFIG_NO_STRIP=y'
config '# CONFIG_USE_STRIP is not set'
config '# CONFIG_USE_SSTRIP is not set'
fi
packages '-odhcpd-ipv6only' '-ppp' '-ppp-mod-pppoe' '-wpad-mini'
packages 'gluon-core' 'ip6tables' 'hostapd-mini'
for lang in string.gmatch(env.GLUON_LANGS, '%S+') do
try_config('GLUON_WEB_LANG_' .. lang, true)
end
config('TARGET_' .. env.BOARD, true)
if env.SUBTARGET ~= '' then
config(string.format('TARGET_%s_%s', env.BOARD, env.SUBTARGET), true)
end
-- Disable non-default feeds in distfeeds.conf
config('FEED_gluon_base', false)
local default_feeds = {}
for feed in string.gmatch(exec_capture_raw('. scripts/default_feeds.sh && echo "$DEFAULT_FEEDS"'), '%S+') do
default_feeds[feed] = true
end
for feed in string.gmatch(exec_capture_raw('. scripts/modules.sh && echo -n "$FEEDS"'), '%S+') do
if not default_feeds[feed] then
config('FEED_' .. feed, false)
end
end
config('TARGET_ROOTFS_INITRAMFS', false)
config('DEVEL', true)
config('ALL_NONSHARED', true)
config('BPF_TOOLCHAIN_HOST', true)
try_config('PACKAGE_usbip', false) -- fails to build
try_config('PACKAGE_coova-chilli', false) -- fails to build
try_config('PACKAGE_kmod-ipt-coova', false) -- fails to build
try_config('PACKAGE_libpfring', false) -- fails to build
try_config('PACKAGE_kmod-pf-ring', false) -- fails to build
try_config('PACKAGE_ATH_DEBUG', true)
try_config('PACKAGE_dnsmasq_full_dhcpv6', false)
try_config('PACKAGE_dnsmasq_full_auth', false)
try_config('PACKAGE_dnsmasq_full_ipset', false)
try_config('PACKAGE_dnsmasq_full_nftset', false)
try_config('PACKAGE_dnsmasq_full_conntrack', false)
try_config('PACKAGE_dnsmasq_full_noid', false)
try_config('PACKAGE_dnsmasq_full_broken_rtc', false)
try_config('PACKAGE_dnsmasq_full_rtc', false)
try_config('TARGET_SQUASHFS_BLOCK_SIZE', 256)
-- OpenWrt disables ed25519 keys on SMALL_FLASH targets
-- (e.g. ramips-mt76x8) by default.
config('DROPBEAR_ED25519', true)
config('KERNEL_PROC_STRIPPED', true)
config('KERNEL_AIO', false)
try_config('KERNEL_IO_URING', false)
config('KERNEL_FHANDLE', false)
config('KERNEL_FANOTIFY', false)
config('KERNEL_CGROUPS', false)
-- KERNEL_NAMESPACES is required for procd-ujail
-- This option is enabled by default on non small flash targets
config('KERNEL_NAMESPACES', true)
config('KERNEL_IP_MROUTE', false)
config('KERNEL_IPV6_MROUTE', false)
config('KERNEL_IPV6_SEG6_LWTUNNEL', false)
config('KERNEL_SWAP', false)
config('USE_SECCOMP', false)
config('KERNEL_SECCOMP', false)
-- kmod-mt7915e pulls in CONFIG_KERNEL_RELAY
-- use try_config, so enabling the package is still possible
try_config('PACKAGE_kmod-mt7915e', false)
try_config('OONF_GENERIC_HTTP', true)
config('COLLECT_KERNEL_DEBUG', true)
config('TARGET_MULTI_PROFILE', true)
config('TARGET_PER_DEVICE_ROOTFS', true)
config('GLUON_MULTIDOMAIN', istrue(env.GLUON_MULTIDOMAIN))
try_config('GRUB_TITLE', 'Gluon')
config('AUTOREMOVE', istrue(env.GLUON_AUTOREMOVE))
if (tonumber(env.GLUON_DEBUG) or 0) > 1 then
config('DEBUG', true)
config('NO_STRIP', true)
config('USE_STRIP', false)
config('USE_SSTRIP', false)
try_config('TARGET_ROOTFS_PARTSIZE', 500)
elseif istrue(env.GLUON_DEBUG) then
config('USE_STRIP', true)
config('USE_SSTRIP', false)
end
config('GLUON_MINIFY', istrue(env.GLUON_MINIFY))
packages {
'-ca-bundle',
'-dnsmasq',
'-kmod-ipt-offload',
'-kmod-nft-offload',
'-libustream-mbedtls',
'-libmbedtls',
'-nftables',
'-odhcpd-ipv6only',
'-ppp',
'-ppp-mod-pppoe',
'-wpad-mini',
'-wpad-basic',
'-wpad-basic-mbedtls',
'-firewall4',
'gluon-core',
'ip6tables-zz-legacy',
}
ATH10K_PACKAGES_IPQ40XX=
ATH10K_PACKAGES_QCA9888='ath10k-firmware-qca9888'
if [ "$GLUON_WLAN_MESH" = 'ibss' ]; then
ATH10K_PACKAGES_IPQ40XX='-kmod-ath10k kmod-ath10k-ct -ath10k-firmware-qca4019 ath10k-firmware-qca4019-ct'
ATH10K_PACKAGES_QCA9888='-ath10k-firmware-qca9888 ath10k-firmware-qca9888-ct'
fi
# AVM
device avm-fritz-box-4040 avm_fritzbox-4040
factory
extra_image -squashfs-eva -bootloader .bin
packages $ATH10K_PACKAGES_IPQ40XX
# GL.iNet
device gl.inet-gl-b1300 glinet_gl-b1300
factory
packages $ATH10K_PACKAGES_IPQ40XX
# NETGEAR
device netgear-ex6100v2 netgear_ex6100v2
factory .img
packages $ATH10K_PACKAGES_IPQ40XX
device netgear-ex6150v2 netgear_ex6150v2
factory .img
packages $ATH10K_PACKAGES_IPQ40XX
# OpenMesh
device openmesh-a42 openmesh_a42
packages $ATH10K_PACKAGES_IPQ40XX
device openmesh-a62 openmesh_a62
packages $ATH10K_PACKAGES_IPQ40XX $ATH10K_PACKAGES_QCA9888
# ZyXEL
device zyxel-wre6606 zyxel_wre6606
factory
packages $ATH10K_PACKAGES_IPQ40XX
local ATH10K_PACKAGES_IPQ40XX = {
'kmod-ath10k',
'-kmod-ath10k-ct',
'-kmod-ath10k-ct-smallbuffers',
'ath10k-firmware-qca4019',
'-ath10k-firmware-qca4019-ct',
}
local ATH10K_PACKAGES_IPQ40XX_QCA9888 = {
'kmod-ath10k',
'-kmod-ath10k-ct',
'-kmod-ath10k-ct-smallbuffers',
'ath10k-firmware-qca4019',
'-ath10k-firmware-qca4019-ct',
'ath10k-firmware-qca9888',
'-ath10k-firmware-qca9888-ct',
}
defaults {
packages = ATH10K_PACKAGES_IPQ40XX,
}
-- Aruba
device('aruba-ap-303', 'aruba_ap-303', {
factory = false,
aliases = {'aruba-instant-on-ap11'},
})
device('aruba-ap-303h', 'aruba_ap-303h', {
factory = false,
aliases = {'aruba-instant-on-ap11d'},
})
device('aruba-ap-365', 'aruba_ap-365', {
factory = false,
aliases = {'aruba-instant-on-ap17'},
})
-- AVM
device('avm-fritz-box-4040', 'avm_fritzbox-4040', {
factory = false,
extra_images = {
{'-squashfs-eva', '-bootloader', '.bin'},
},
})
device('avm-fritz-box-7530', 'avm_fritzbox-7530', {
factory = false,
aliases = {'avm-fritz-box-7520'},
packages = {
-- same as ATH10K_PACKAGES_IPQ40XX
'kmod-ath10k',
'-kmod-ath10k-ct',
'-kmod-ath10k-ct-smallbuffers',
'ath10k-firmware-qca4019',
'-ath10k-firmware-qca4019-ct',
-- VDSL modem
'ppp',
'kmod-ppp',
'ppp-mod-pppoe',
},
})
device('avm-fritz-repeater-1200', 'avm_fritzrepeater-1200', {
factory = false,
})
-- GL.iNet
device('gl.inet-gl-ap1300', 'glinet_gl-ap1300', {
factory_ext = '.ubi',
})
device('gl.inet-gl-b1300', 'glinet_gl-b1300', {
factory = false,
})
-- Linksys
device('linksys-ea6350v3', 'linksys_ea6350v3')
-- Meraki
device('meraki-mr33-access-point', 'meraki_mr33', {
packages = {
-- radio0 is monitoring radio - removed for now
-- the -ct firmware does not have working mesh
'-ath10k-firmware-qca9887-ct',
'-ath10k-board-qca9887',
},
factory = false,
broken = true,
-- case must be opened to install
-- the board also bricks the SoC on newer bootloader-versions which is irreversible
-- third radio not yet working
})
-- NETGEAR
device('netgear-ex6100v2', 'netgear_ex6100v2', {
factory_ext = '.img',
})
device('netgear-ex6150v2', 'netgear_ex6150v2', {
factory_ext = '.img',
})
-- OpenMesh
device('openmesh-a42', 'openmesh_a42')
device('openmesh-a62', 'openmesh_a62', {
packages = ATH10K_PACKAGES_IPQ40XX_QCA9888,
})
-- Plasma Cloud
device('plasma-cloud-pa1200', 'plasmacloud_pa1200')
device('plasma-cloud-pa2200', 'plasmacloud_pa2200', {
packages = ATH10K_PACKAGES_IPQ40XX_QCA9888,
})
-- ZTE
device('zte-mf289f', 'zte_mf289f', {
broken = true, -- case must be opened to install
factory = false,
})
-- Zyxel
device('zyxel-nbg6617', 'zyxel_nbg6617')
-- 8devices
device('8devices-jalapeno', '8dev_jalapeno', {
factory_ext = '.ubi',
})
-- Extreme Networks
device('extreme-networks-ws-ap3915i', 'extreme-networks_ws-ap3915i', {
factory = false,
})
include 'mikrotik.inc'
local ATH10K_PACKAGES_IPQ40XX_SMALLBUFFERS = {}
device('mikrotik-hap-ac2', 'mikrotik_hap-ac2', {
packages = ATH10K_PACKAGES_IPQ40XX_SMALLBUFFERS,
})
device('mikrotik-sxtsq-5-ac-rbsxtsqg-5acd', 'mikrotik_sxtsq-5-ac', {
factory = false,
aliases = {'mikrotik-discg-5acd'},
})
ATH10K_PACKAGES='-kmod-ath10k kmod-ath10k-ct -ath10k-firmware-qca99x0 ath10k-firmware-qca99x0-ct'
# TP-Link
device tp-link-archer-c2600 tplink_c2600
packages $ATH10K_PACKAGES
-- The QCA9980 was discontinued by Qualcomm. It didn't receive any firmware-update for over 4 years.
-- See https://github.com/kvalo/ath10k-firmware/tree/master/QCA99X0/hw2.0
-- 802.11s was never implemented for the chip's firmware. It will most likely be broken forever.
-- The QCA9984 on the other hand works fine for 11s meshes on both bands.
local QCA9980_PACKAGES = {'-kmod-ath10k', 'kmod-ath10k-ct', '-ath10k-firmware-qca99x0', 'ath10k-firmware-qca99x0-ct'}
local QCA9984_PACKAGES = {'kmod-ath10k', '-kmod-ath10k-ct', 'ath10k-firmware-qca9984', '-ath10k-firmware-qca9984-ct'}
--
-- QCA9980
--
-- TP-Link
device('tp-link-archer-c2600', 'tplink_c2600', {
packages = QCA9980_PACKAGES,
broken = true,
})
--
-- QCA9984
--
-- NETGEAR
device('netgear-nighthawk-x4s-r7800', 'netgear_r7800', {
factory_ext = '.img',
packages = QCA9984_PACKAGES,
})
-- Ubiquiti
device('ubiquiti-unifi-ac-hd', 'ubnt_unifi-ac-hd', {
packages = QCA9984_PACKAGES,
factory = false,
})
-- Linksys
device('linksys-e4200-v2-viper', 'linksys_e4200-v2', {
broken = true, -- no 802.11s support
})
device('linksys-ea4500-viper', 'linksys_ea4500', {
broken = true, -- no 802.11s support
})
packages {
'-ltq-vdsl-vr9-vectoring-fw-installer',
'-kmod-ltq-vdsl-vr9-mei',
'-kmod-ltq-vdsl-vr9',
'-kmod-ltq-atm-vr9',
'-kmod-ltq-ptm-vr9',
'-kmod-ltq-deu-vr9',
'-ltq-vdsl-vr9-app',
'-dsl-vrx200-firmware-xdsl-a',
'-dsl-vrx200-firmware-xdsl-b-patch',
'-ppp-mod-pppoa',
'-ltq-dsl-base',
}
-- AVM
device('avm-fritz-box-3370-rev-2-hynix-nand', 'avm_fritz3370-rev2-hynix', {
factory = false,
extra_images = {
{'-squashfs-eva-filesystem', '-eva-filesystem', '.bin'},
{'-squashfs-eva-kernel', '-eva-kernel', '.bin'},
},
broken = true, -- no button for setup mode; hw revision not visible on device
})
device('avm-fritz-box-3370-rev-2-micron-nand', 'avm_fritz3370-rev2-micron', {
factory = false,
extra_images = {
{'-squashfs-eva-filesystem', '-eva-filesystem', '.bin'},
{'-squashfs-eva-kernel', '-eva-kernel', '.bin'},
},
broken = true, -- no button for setup mode; hw revision not visible on device
})
device('avm-fritz-box-7360-sl', 'avm_fritz7360sl', {
factory = false,
aliases = {'avm-fritz-box-7360-v1'},
})
device('avm-fritz-box-7360-v2', 'avm_fritz7360-v2', {
factory = false,
})
device('avm-fritz-box-7362-sl', 'avm_fritz7362sl', {
factory = false,
})
device('avm-fritz-box-7412', 'avm_fritz7412', {
factory = false,
})
device('arcadyan-vgv7510kw22', 'arcadyan_vgv7510kw22-nor', {
factory = false,
aliases = {'o2-box-6431'},
})
packages {
'-ltq-vdsl-vr9-vectoring-fw-installer',
'-kmod-ltq-vdsl-vr9-mei',
'-kmod-ltq-vdsl-vr9',
'-kmod-ltq-atm-vr9',
'-kmod-ltq-ptm-vr9',
'-kmod-ltq-deu-vr9',
'-ltq-vdsl-vr9-app',
'-dsl-vrx200-firmware-xdsl-a',
'-dsl-vrx200-firmware-xdsl-b-patch',
'-ppp-mod-pppoa',
'-ltq-dsl-base',
}
-- TP-Link
-- CAVEAT: These devices don't have a dedicated WAN port.
-- All ethernet ports on the device are bridged and
-- used as WAN ports. Clients connected to these
-- ports will be connected to your private network.
device('tp-link-td-w8970', 'tplink_tdw8970', {
factory = false,
})
device('tp-link-td-w8980', 'tplink_tdw8980', {
factory = false,
aliases = {'tp-link-td-w9980'},
broken = true, -- 5GHz unsupported
})
packages {
'-kmod-ltq-adsl-ar9-mei',
'-kmod-ltq-adsl-ar9',
'-kmod-ltq-adsl-ar9-fw-b',
'-kmod-ltq-atm-ar9',
'-ltq-adsl-app',
'-ppp-mod-pppoa',
'-kmod-ltq-deu-ar9'
}
-- AVM
device('avm-fritz-box-7312', 'avm_fritz7312', {
factory = false,
})
-- NETGEAR
device('netgear-dgn3500b', 'netgear_dgn3500b', {
factory_ext = '.img',
})
config('TARGET_ROOTFS_INITRAMFS', true)
config('TARGET_INITRAMFS_COMPRESSION_LZMA', true)
-- ASUS
device('asus-rt-ax52', 'asus_rt-ax52', {
factory = false,
})
device('asus-tuf-ax4200', 'asus_tuf-ax4200', {
factory = false,
})
device('asus-tuf-ax6000', 'asus_tuf-ax6000', {
factory = false,
})
-- D-Link
device('d-link-aquila-pro-ai-m30-a1', 'dlink_aquila-pro-ai-m30-a1', {
factory = false,
extra_images = {
{'-squashfs-recovery', '-recovery', '.bin'}
},
})
device('d-link-aquila-pro-ai-m60-a1', 'dlink_aquila-pro-ai-m60-a1', {
factory = false,
extra_images = {
{'-squashfs-recovery', '-recovery', '.bin'}
},
})
-- Cudy
device('cudy-ap3000-outdoor-v1', 'cudy_ap3000outdoor-v1', {
factory = false,
})
device('cudy-tr3000-v1', 'cudy_tr3000-v1', {
factory = false,
})
device('cudy-wr3000-v1', 'cudy_wr3000-v1', {
factory = false,
})
-- GL.iNet
device('gl.inet-gl-mt2500', 'glinet_gl-mt2500', {
factory = false,
})
device('gl.inet-gl-mt3000', 'glinet_gl-mt3000', {
factory = false,
})
-- NETGEAR
device('netgear-wax220', 'netgear_wax220', {
factory_ext = '.img',
})
-- OpenWRT
device('openwrt-one', 'openwrt_one',{
factory = '-factory',
factory_ext = '.ubi',
sysupgrade_ext = '.itb',
})
-- Ubiquiti
device('ubiquiti-unifi-6-plus', 'ubnt_unifi-6-plus', {
factory = false,
})
-- Zyxel
device('zyxel-nwa50ax-pro', 'zyxel_nwa50ax-pro')
-- Linksys
device('linksys-e8450-ubi', 'linksys_e8450-ubi', {
factory = false,
sysupgrade_ext = '.itb',
})
-- Ubiquiti
device('ubiquiti-unifi-6-lr-v1', 'ubnt_unifi-6-lr-v1', {
factory = false,
manifest_aliases = {'ubiquiti-unifi-6-lr'}, -- Upgrade from OpenWrt 22.03
})
-- Mikrotik images are netbooted via TFTP, then persisted with sysupgrade
defaults {
factory = '-initramfs-kernel'
}
config('TARGET_ROOTFS_INITRAMFS', true)
config('TARGET_INITRAMFS_COMPRESSION_LZMA', true)
device tp-link-tl-wdr4900-v1 tl-wdr4900-v1
-- Enterasys
device('enterasys-ws-ap3715i', 'enterasys_ws-ap3715i', {
factory = false,
})
-- Sophos
device('sophos-red-15w-rev.1', 'sophos_red-15w-rev1', {
factory = false,
})
-- TP-Link
device('tp-link-tl-wdr4900-v1', 'tplink_tl-wdr4900-v1')
local ATH10K_PACKAGES_QCA9880 = {
'kmod-ath10k',
'-kmod-ath10k-ct',
'-kmod-ath10k-ct-smallbuffers',
'ath10k-firmware-qca988x',
'-ath10k-firmware-qca988x-ct',
}
-- Aerohive
device('aerohive-hiveap-330', 'aerohive_hiveap-330', {
factory = false,
})
-- Enterasys
device('enterasys-ws-ap3710i', 'enterasys_ws-ap3710i', {
factory = false,
})
-- Extreme Networks
device('extreme-networks-ws-ap3825i', 'extreme-networks_ws-ap3825i', {
factory = false,
packages = ATH10K_PACKAGES_QCA9880,
})
-- Hewlett-Packard
device('hewlett-packard-msm460', 'hpe_msm460')
-- OCEDO
device('ocedo-panda', 'ocedo_panda', {
factory = false,
})
device linksys-wrt1200ac linksys-wrt1200ac
factory .img
device('linksys-wrt1200ac', 'linksys_wrt1200ac', {
factory_ext = '.img',
})
# GL Innovations
device gl-mt300a gl-mt300a
factory
-- ASUS
device gl-mt300n gl-mt300n
factory
device('asus-rt-ac51u', 'asus_rt-ac51u', {
factory = false,
})
device gl-mt750 gl-mt750
factory
-- GL.iNet
device('gl-mt300a', 'glinet_gl-mt300a', {
factory = false,
})
device('gl-mt300n', 'glinet_gl-mt300n', {
factory = false,
})
device('gl-mt750', 'glinet_gl-mt750', {
factory = false,
})
-- NETGEAR
device('netgear-ex3700', 'netgear_ex3700', {
aliases = {
'netgear-ex3800',
},
manifest_aliases = {'netgear-ex3700-ex3800'},
factory_ext = '.chk',
})
device('netgear-ex6130', 'netgear_ex6130', {
factory_ext = '.chk',
})
-- Nexx
device('nexx-wt3020-8m', 'nexx_wt3020-8m', {
aliases = {
'nexx-wt3020ad',
'nexx-wt3020f',
'nexx-wt3020h',
},
})
-- TP-Link
local tplink_region_suffix = ''
if (env.GLUON_REGION or '') ~= '' then
tplink_region_suffix = '-' .. env.GLUON_REGION
end
device('tp-link-archer-c2-v1', 'tplink_archer-c2-v1', {
factory = false,
})
device('tp-link-archer-c20-v1', 'tplink_archer-c20-v1', {
factory = false,
})
device('tp-link-archer-c20i', 'tplink_archer-c20i')
device('tp-link-archer-c50-v1', 'tplink_archer-c50-v1', {
factory = '-squashfs-factory' .. tplink_region_suffix,
})
-- Xiaomi
device('xiaomi-miwifi-mini', 'xiaomi_miwifi-mini', {
factory = false,
})