libremesh.github.io
libremesh.github.io copied to clipboard
Update Development page to include packages selected in LibreRouter repository
In order to keep the Development page useful, it should be updated to the packages selected by the LibreMesh developers. Seems that they are working on the image compilation for LibreRouter and the packages selection is being made on: https://github.com/LibreRouterOrg/openwrt/blob/b536696f27b3803041dc7a2327157ef69a76e953/configs/default_config
comparing this file with what gets compiled following the instructions on the Development page, the following things seems to be missing from the development page or from the lime-packages packages dependencies:
CONFIG_PACKAGE_watchping=y
we don't use this anymore, no?
CONFIG_PACKAGE_kmod-tun=y
seems needed by Tinc, but we still are not including any Tinc stuff (e.g. https://github.com/libremesh/lime-packages/tree/master/packages/tinc, https://github.com/libremesh/lime-packages/issues/99, https://github.com/libremesh/lime-packages/issues/579) in the release, correct?
CONFIG_PACKAGE_kmod-iptunnel6=y
CONFIG_PACKAGE_kmod-ip6-tunnel=y
these looks related to BMX6 and BMX7, do we need them?
CONFIG_PACKAGE_fft-eval=y
we have to remember to add this to the page once OpenWrt 19.07 will be released
CONFIG_PACKAGE_deferable-reboot=y
should we consider to include this in the next release? (maybe increasing the time between reboot and reboot to a week)
CONFIG_PACKAGE_batctl=y
beware that with OpenWrt 19.07 the batctl package will split in batctl-tiny, batctl-default and batctl-full
CONFIG_BUSYBOX_CONFIG_DEVMEM=y
CONFIG_KMOD_BATMAN_ADV_DEBUGFS=y
CONFIG_PACKAGE_rpcd-mod-rrdns=y
CONFIG_PACKAGE_kmod-usb-ohci=y
What about these? Do we need them?
In order to keep the Development page useful, it should be updated to the packages selected by the LibreMesh developers. Seems that they are working on the image compilation for LibreRouter and the packages selection is being made on: https://github.com/LibreRouterOrg/openwrt/blob/b536696f27b3803041dc7a2327157ef69a76e953/configs/default_config
comparing this file with what gets compiled following the instructions on the Development page, the following things seems to be missing from the development page or from the lime-packages packages dependencies:
CONFIG_PACKAGE_watchping=y
we don't use this anymore, no?
Not sure but it is very handy.
CONFIG_PACKAGE_kmod-tun=y
seems needed by Tinc, but we still are not including any Tinc stuff (e.g. https://github.com/libremesh/lime-packages/tree/master/packages/tinc, libremesh/lime-packages#99, libremesh/lime-packages#579) in the release, correct?
No, we are not including tinc by default
CONFIG_PACKAGE_kmod-iptunnel6=y
CONFIG_PACKAGE_kmod-ip6-tunnel=y
these looks related to BMX6 and BMX7, do we need them?
I don't know.
CONFIG_PACKAGE_fft-eval=y
we have to remember to add this to the page once OpenWrt 19.07 will be released
CONFIG_PACKAGE_deferable-reboot=y
should we consider to include this in the next release? (maybe increasing the time between reboot and reboot to a week)
I think it should be enabled by default.
CONFIG_PACKAGE_batctl=y
beware that with OpenWrt 19.07 the batctl package will split in batctl-tiny, batctl-default and batctl-full
CONFIG_BUSYBOX_CONFIG_DEVMEM=y
CONFIG_KMOD_BATMAN_ADV_DEBUGFS=y
CONFIG_PACKAGE_rpcd-mod-rrdns=y
I think this is not used but I am not sure as luci.network is somewhat used
CONFIG_PACKAGE_kmod-usb-ohci=y
unneded (should be selected by selecting the correct board)
Ok, so basically there is nothing to be taken from the LibreRouterOS packages list, correct? The only exception being deferable-reboot.
And we'll have to explicitly (see https://github.com/libremesh/lime-packages/pull/673/commits/b8980c317f839a268dce3e92d2051ab5faaf78a6) specify batctl-default in the list and also fft-eval as soon as the compilation instructions will refer to OpenWrt 19.07.
3 years have passed and there is again some divergence between the standard packages in LibreRouterOS and the recommended ones on the LibreMesh website. We should check whether some of the LibreRouterOS project choices make sense also here: https://gitlab.com/librerouter/librerouteros/-/blob/librerouter-1.5/configs/default_config
Some info should be possible to extract from the comments in the commits:
https://gitlab.com/librerouter/librerouteros/-/blame/librerouter-1.5/configs/default_config
Let's discuss here which packages to support and include for the 2020.2 release. As a general principle for a headache-free release, I would avoid anything that was not included in the development page until now and that is not being used in LibreRouterOS (but if there are requests, let's test them!).
Looking at the LibreRouterOS list linked above, these are the packages that they include and that we are not currently recommending:
- [ ] deferable-reboot that reboots each router every 27 hours. I really hope we don't need that. I would be in favor of including it if by default it were deactivated or rebooting the system every n weeks or months (and not running in cron every minute).
- [ ] eupgrade that looks at an IP for newer versions of the firmware and then I don't know how it works. For including it we need at least to know where its documentation is, and where is the server's documentation also.
- [ ] first-boot-wizard currently only works on dual band routers https://github.com/libremesh/lime-packages/issues/661 and also works only for a very specific kind of community where you accept to use the same root password set in the neighboring nodes
- [ ] pirania opinions? There is only one tiny reported issue https://github.com/libremesh/lime-packages/issues/942 does it make sense to include it by default? Does it need a server application for generating the voucher? In this case, where is the documentation?
- [ ] pirania-app this does not exist anymore, seems that has been merged in pirania
- [ ] prometheus-node-push-influx push info to a "VistoriaMetrics" server
- [ ] miniserver-client same as above?
- [ ] prometheus-node-exporter-lua instead of pushing, allows the pull?
- [ ] prometheus-node-exporter-lua-openwrt
- [ ] prometheus-node-exporter-lua-wifi_stations
- [ ] prometheus-node-exporter-lua-wifi-stations-extra
- [ ] prometheus-node-exporter-lua-wifi-survey
- [ ] prometheus-node-exporter-lua-wifi-params
- [ ] prometheus-node-exporter-lua-location-latlon
I missed the safe-reboot package:
- [ ] safe-reboot but it would require fixing this issue https://github.com/libremesh/lime-packages/issues/909
Looking at these:
- [ ] prometheus-node-exporter-lua-wifi-stations-extra
- [ ] prometheus-node-exporter-lua-wifi-survey
- [ ] prometheus-node-exporter-lua-wifi-params
- [ ] prometheus-node-exporter-lua-location-latlon
In our CN we haven't tried these yet but we will (these should basically add some new parameters in prometheus format, useful for debugging and visualization of metrics). I think they could be added as default for 2020.2, but probably not all devices can have them due to limited flash/ram space. Not only 4/32 devices but also with others i.e. ath79_generic_tplink_cpe510-v3 if I add those packages the resulting image is too big.
Maybe it could be clearer if the Development page
mentions the different set of recommended packages with a general section (as it already is with all the recommended packages), but also with subsections, or another page, specific for 4MB flash, 8MB flash, with the packages to deselect.
For example like Openwrt does in this page:
Saving firmware space and RAM
https://openwrt.org/docs/guide-user/additional-software/saving_space
Currently on the site the packages listed as safely deselectable are:
- check-date-http (Keep local date under NTP too far away skew)
- lime-docs (LibreMesh full documentation)
- lime-hwd-ground-routing (Manage 802.1q VLANs for ground routing)
- lime-debug (libremesh debug utils)
Thanks for the link! I included it in the "development" page: https://github.com/libremesh/libremesh.github.io/commit/8941fbca5f668aa07831d58894a5d1d53a1d836f
Let us know which Prometheus packages you would suggest, please! Which ones are you using now?