Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

readme: expanded instructions on ImageBuilder #1028

Merged
merged 1 commit into from
Aug 31, 2023

Conversation

ilario
Copy link
Member

@ilario ilario commented May 28, 2023

In #1015, @aparcar created an excellent documentation about using the ImageBuilder for building LibreMesh on OpenWrt 22.03 (not yet supported!!).
In #1015 (comment) I suggested a few edits, here I implemented those and many others.

@ilario
Copy link
Member Author

ilario commented Jun 8, 2023

Pls, this is just an expansion of @aparcar's #1015... Can anyone review?
@spiccinini @G10h4ck @selankon

@a-gave
Copy link
Contributor

a-gave commented Jun 19, 2023

I encountered a small issue with imagebuilder about batman-adv. I report it here in the meantime:
If i build libremesh selecting lime-proto-batadv, batctl-tiny is selected instead of batctl-default.

In this situation, the batctl commands listed under 'debug tables' are not available [0], and instead return the help message.
I noticed it by trying to run batctl n and batctl o.

Output of `batctl n` ``` root@falena:~# batctl n Error - no valid command or debug table/JSON specified: n Usage: batctl [options] command|debug table|debug json [parameters] options: -h print this help (or 'batctl -h' for the parameter help) -v print version

commands:
meshif aggregation|ag [0|1] display or modify aggregation setting
meshif ap_isolation|ap [0|1] display or modify ap_isolation setting
vlan ap_isolation|ap [0|1] display or modify ap_isolation setting for vlan device or id
meshif vid ap_isolation|ap [0|1] display or modify ap_isolation setting for vlan device or id
meshif bonding|b [0|1] display or modify bonding setting
meshif bridge_loop_avoidance|bl [0|1] display or modify bridge_loop_avoidance setting
meshif distributed_arp_table|dat [0|1] display or modify distributed_arp_table setting
hardif elp_interval|et [interval] display or modify elp_interval setting
meshif fragmentation|f [0|1] display or modify fragmentation setting
meshif gw_mode|gw [mode] display or modify the gateway mode
meshif hop_penalty|hp [penalty] display or modify hop_penalty setting
hardif hop_penalty|hp [penalty] display or modify hop_penalty setting
meshif interface|if [add|del iface(s)] display or modify the interface settings
meshif isolation_mark|mark [mark] display or modify isolation_mark setting
meshif loglevel|ll [level] display or modify the log level
meshif multicast_fanout|mo [fanout] display or modify multicast_fanout setting
meshif multicast_forceflood|mff [0|1] display or modify multicast_forceflood setting
meshif network_coding|nc [0|1] display or modify network_coding setting
meshif orig_interval|it [interval] display or modify orig_interval setting
routing_algo|ra [mode] display or modify the routing algorithm
hardif throughput_override|to [mbit] display or modify throughput_override setting

debug tables: display the corresponding debug table

JSON queries: display results of netlink query as JSON

</details>

@ilario
Copy link
Member Author

ilario commented Jun 19, 2023

Oooh, right!
Maybe it never happened to me as I was selecting ubus-lime-batman-adv manually, but this package is not needed, so we should not assume that people select it.

I found an old comment pointing out that this problem was likely going to appear:
libremesh/libremesh.github.io#103 (comment)

Do you think that we should include it by default (including +batctl as a dependency in the Makefile of lime-proto-batadv)? I mean, it is a debug tool, but a very useful one. Otherwise we can suggest it between the optional packages in the compilation guide of the website.

@a-gave
Copy link
Contributor

a-gave commented Jun 19, 2023

I found an old comment pointing out that this problem was likely going to appear:
libremesh/libremesh.github.io#103 (comment)

About this comment I would add that the batctl package is still splitted into tiny and default with openwrt 22.03.5, at least with ath79_generic. They are visible here for instance https://downloads.openwrt.org/releases/22.03.5/packages/mips_24kc/routing/

Do you think that we should include it by default (including +batctl as a dependency in the Makefile of lime-proto-batadv)?

As in the previous link from openwrt the difference in size is just 31KB.
It seems to me that the devices work fine with batctl-tiny, but I think for those installing lime for the first, not finding the debug tables can be confusing.
A solution could be to add batctl-default in the compilation guide of the site, and in the Makefile of suggested-packages https://github.com/libremesh/network-profiles/tree/master/libremesh/suggested-packages. Maybe creating another suggested-packages-small-flash-size-whatever without it, or clearly specifying the tiny version.
I would prefere this solution, but only because it is reversible ..instead of adding it in the Makefile lime-proto-batadv, also if the v22.03.5 and so the current libremesh master branch are intended for device with at least 8MB of flash so 31KB should could not be a problem..

In both cases I think it should be defined as the full '+batctl-default' or '+batctl-tiny', instead of '+batctl' , but I haven't tested it!
from https://openwrt.org/docs/guide-user/network/wifi/mesh/batman#installation

if batctl isn't available, install batctl-default.

@ilario
Copy link
Member Author

ilario commented Jun 19, 2023

Do you think that we should include it by default (including +batctl as a dependency in the Makefile of lime-proto-batadv)?

As in the previous link from openwrt the difference in size is just 31KB. It seems to me that the devices work fine with batctl-tiny, but I think for those installing lime for the first, not finding the debug tables can be confusing. A solution could be to add batctl-default in the compilation guide of the site, and in the Makefile of suggested-packages https://github.com/libremesh/network-profiles/tree/master/libremesh/suggested-packages. Maybe creating another suggested-packages-small-flash-size-whatever without it, or clearly specifying the tiny version. I would prefere this solution, but only because it is reversible ..instead of adding it in the Makefile lime-proto-batadv, also if the v22.03.5 and so the current libremesh master branch are intended for device with at least 8MB of flash so 31KB should could not be a problem..

I agree, let's add batctl-default this to the compilation guide (between the optional packages, where also lime-debug is) and to the "suggested-packages".
Can you make a pull request on that?

For the mini version, it would be great also.
Whatever we add as a network profile, could also be used for expanding this paragraph:
https://github.com/libremesh/libremesh.github.io/blob/d2aa01410c7fb5d8728351edff081dd1a1d7b82a/development.txt#L132

In both cases I think it should be defined as the full '+batctl-default' or '+batctl-tiny', instead of '+batctl' , but I haven't tested it!

OK, better.

@ilario ilario merged commit e6f4774 into libremesh:master Aug 31, 2023
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants