Gluon Documentation Release 2021.1.1
Total Page:16
File Type:pdf, Size:1020Kb
Gluon Documentation Release 2021.1.1 Project Gluon Aug 14, 2021 User Documentation 1 Getting Started 3 1.1 Selecting the right version........................................3 1.2 Dependencies...............................................3 1.3 Building the images...........................................4 1.4 opkg repositories.............................................5 1.5 Make variables..............................................6 2 Site configuration 9 2.1 Configuration...............................................9 2.2 Build configuration............................................ 17 2.3 Config mode texts............................................ 18 2.4 Site modules............................................... 19 2.5 Examples................................................. 19 3 Supported Devices & Architectures 31 3.1 ar71xx-generic.............................................. 31 3.2 ar71xx-nand............................................... 34 3.3 ar71xx-tiny............................................... 34 3.4 ath79-generic............................................... 35 3.5 brcm2708-bcm2708........................................... 36 3.6 brcm2708-bcm2709........................................... 36 3.7 ipq40xx-generic............................................. 36 3.8 ipq806x-generic............................................. 37 3.9 lantiq-xrx200............................................... 37 3.10 lantiq-xway................................................ 37 3.11 mpc85xx-generic............................................. 37 3.12 mpc85xx-p1020............................................. 37 3.13 ramips-mt7620.............................................. 38 3.14 ramips-mt7621.............................................. 38 3.15 ramips-mt76x8.............................................. 39 3.16 ramips-rt305x.............................................. 39 3.17 sunxi-cortexa7.............................................. 39 3.18 x86-generic................................................ 40 3.19 x86-geode................................................ 40 3.20 x86-64.................................................. 40 3.21 Footnotes................................................. 40 i 4 x86 support 41 4.1 Targets.................................................. 41 5 Frequently Asked Questions 43 5.1 What hardware is supported?...................................... 43 5.2 Why does DNS not work on the nodes?................................. 43 5.3 What is a good MTU on the mesh-vpn?................................. 43 6 Config Mode 47 6.1 Activating Config Mode......................................... 47 6.2 Port Configuration............................................ 47 6.3 Accessing Config Mode......................................... 47 7 Autoupdater 49 7.1 Building Images............................................. 49 7.2 Manifest format............................................. 49 7.3 Automated nightly builds........................................ 50 7.4 Infrastructure............................................... 50 7.5 Command Line.............................................. 50 8 WLAN configuration 53 8.1 Upgrade behaviour............................................ 53 9 Private WLAN 55 10 Wired mesh (Mesh-on-WAN/LAN) 57 10.1 Wired mesh encapsulation........................................ 57 10.2 Configuration............................................... 58 11 DNS forwarder 59 12 Node monitoring 61 12.1 Format of collected data......................................... 61 12.2 Accessing Node Information....................................... 61 12.3 Adding a data provider.......................................... 63 13 Multidomain Support 65 13.1 Preamble................................................. 65 13.2 Overview................................................. 65 13.3 Switching the domain.......................................... 66 13.4 Allowed site variables.......................................... 67 13.5 Example config.............................................. 69 14 Adding SSH public keys 79 15 Roles 81 16 Mesh-VPN 83 16.1 fastd................................................... 83 17 Development Basics 85 17.1 Bug Tracker............................................... 85 17.2 IRC.................................................... 85 17.3 Working with repositories........................................ 85 17.4 Development Guidelines......................................... 86 ii 18 Adding support for new hardware 87 18.1 Hardware requirements......................................... 87 18.2 Device checklist............................................. 87 18.3 Device classes.............................................. 87 18.4 Adding profiles.............................................. 88 18.5 Adding support for new hardware targets................................ 89 19 Package development 91 19.1 Gluon package makefiles......................................... 91 19.2 Feature flags............................................... 92 20 Upgrade scripts 95 20.1 Basics................................................... 95 20.2 Best practices............................................... 95 20.3 Script ordering.............................................. 95 21 WAN support 97 21.1 Routing tables.............................................. 97 21.2 libpacketmark.............................................. 97 21.3 gluon-wan-dnsmasq........................................... 98 22 MAC addresses 99 23 gluon.site library 101 24 Build system 103 24.1 Feed management............................................ 103 24.2 Helper scripts............................................... 103 25 Debugging 105 25.1 Kernel Oops............................................... 105 26 Controllers 107 26.1 Dispatchers................................................ 107 26.2 The HTTP object............................................. 108 26.3 The template renderer.......................................... 108 26.4 Differences from LuCI.......................................... 108 27 Models 111 27.1 Classes and methods........................................... 112 27.2 Data types................................................ 113 27.3 Differences from LuCI.......................................... 113 28 Views 115 28.1 Variables and functions.......................................... 116 29 Internationalization support 117 29.1 General guidelines............................................ 117 29.2 i18n support in Gluon.......................................... 117 29.3 Adding translation templates to Gluon packages............................ 118 29.4 Adding translations............................................ 118 29.5 Adding support for new languages.................................... 119 30 Config Mode 121 30.1 Writing Config Mode modules...................................... 121 iii 31 gluon-client-bridge 123 31.1 site.conf................................................. 123 32 gluon-config-mode-domain-select 125 32.1 domains/*.conf.............................................. 125 33 gluon-ebtables-filter-multicast 127 34 gluon-ebtables-filter-ra-dhcp 129 35 gluon-ebtables-limit-arp 131 36 gluon-ebtables-source-filter 133 36.1 site.conf................................................. 133 37 gluon-hoodselector 135 37.1 Background information......................................... 135 37.2 Behaviour................................................. 135 37.3 Domain shapes.............................................. 137 37.4 site.conf................................................. 137 38 gluon-logging 139 38.1 site.conf................................................. 139 39 gluon-mesh-batman-adv 141 39.1 B.A.T.M.A.N. Routing Algorithms................................... 141 39.2 Node-Local Multicast Handling..................................... 142 39.3 Mesh-wide Multicast Handling..................................... 142 39.4 IGMP/MLD Domain Segmentation................................... 143 40 gluon-mesh-wireless-sae 145 40.1 site.conf................................................. 145 41 gluon-radv-filterd 147 41.1 Selected router.............................................. 147 41.2 Local routers............................................... 147 41.3 respondd module............................................. 148 41.4 site.conf................................................. 148 42 gluon-scheduled-domain-switch 149 42.1 site.conf................................................. 149 43 gluon-web-admin 151 43.1 site.conf................................................. 151 44 gluon-web-logging 153 45 Gluon 2021.1.1 155 45.1 Important notes.............................................. 155 45.2 Added hardware support......................................... 155 45.3 Bugfixes................................................. 155 45.4 Known issues............................................... 156 46 Gluon 2021.1 157 46.1 Important notes.............................................. 157 46.2 Added hardware support......................................... 157 iv 46.3 Major changes.............................................. 158 46.4 Other changes.............................................. 158 46.5 Bugfixes................................................. 159 46.6 Internal.................................................. 159 46.7 Known issues............................................... 159 47 Gluon 2020.2.3 161 47.1 Bugfixes................................................