Hi Daniel, it is great to see you here.
Find my comments in-line.
On 25/05/16 15:08, Gui Iribarren wrote:
On 25/05/16 09:55, Daniel Golle wrote:
Hi!
Thanks for building that great set of packages enabling (almost)
stateless autoconfiguration mesh routers! I hope to use all that in my
local freifunk environment; many people here are interested in LIME and
I'll help getting it to interoperate with our local legacy OLSRv1 mesh
and the way we use batman-adv... My main goal is to start collaboration
(software development, bug fixing, ...) beyond the local firmware
projects which are either half-abandonned or do not offer anything near
to how lime's webui is enabling new people to get into the story and of
course, none of them (meshkit, gluon, ...) are truely modular and/or
offer good support for more than the single routing protocol they were
originally written for. It should also be easy to have some
meta-packages in LIME which would select the packages needed for
typical freifunk OLSRv1 and/or batman-adv setups (expect pull-requests
for that to hit your github repo soon).
However, while preparing the switch to libremesh some questions and
oddities arrised.
I'm building from source, ie. enabled lime-packages and libremap feeds.
I can't use the binaries as most of the hardware I use is unsupported
or works really bad on BB.
Questions which came up for now:
* what's missing to run LibreMesh on more recent versions of OpenWrt?
A lot of hardware was added since BB and certainly won't waste time
backporting stuff to BB, but rather spend it on helping to get LIME
run on bleeding-edge LEDE or at least OpenWrt's CC release (as people
will still be backporting hardware support for CC for a while...)
try
https://github.com/libre-mesh/lime-build/tree/develop (it's based on
CC), that will turn into a release soon
*
http://chef.libre-mesh.org is unavailble...
what's supposed to be
there and how to bring it back?
mmh, dns is unset for some reason
anyway it points to
http://chef.altermundi.net
* lime-eb-ip-tables: why not use fw3?
personal preferences :P
in my case, i do install and use fw3, but other devs prefer not to
bundle the firewall, so we give the option
(i.e. if you install fw3 everything will work as well and be integrated
as expected)
* why redundantly create per-device images
instead of just using
OpenWrt/LEDE ImageBuilder? ie. the downloads here
http://downloads.libre-mesh.org/firmware/
are hard to understand for outsiders, also for long-term OpenWrt
hackers like myself. E.g. for which hw-revision is supported by the
image for the TL-WR841N(D)?
good point :)
currently, pau is the only one vouching for custom renaming,
i'm personally against, and Gio i think doesn't really care
If you scroll down you will see a directory named "ar71xx" which
contains the raw image output directory created by OpenWRT. So there you
find all the ar71xx images.
http://downloads.libre-mesh.org/firmware/ar71xx/
The idea behind taking a set of binaries and "simplify" the name is to
make it easier for the non-experienced people. AND to publish a list of
officially supported hardware (so only these devices which have been
tested). However your point about the different revisions of TL-WR841
makes sense. The problem is that almost no one is maintaining the list
of "officially" supported devices and hardware is changing so fast. So
maybe is a good idea to remove this feature from lime-build.
I had that
build-a-wrapper vs. use-OpenWrt-SDK-and-ImageBuilder
debate a bunch of times and I'm sure that most people building
wrappers just don't know what they are missing and/or how much extra
work they have to go through compared to just using OpenWrt/LEDE in
the way it was meant to be used...
totally agree, but doing a project together involves trying to reach
consensus, and when that's impossible, concessions :)
We have had this discussion many times and we had it just some months
ago. I find your answer, Gui, as if we would never discuss about this. A
bit disappointing sorry. However I will try to summarize it again:
We are using lime-build [1] because:
[1]
https://github.com/libre-mesh/lime-build
1) IT HELPS THE DEVELOPMENT:
We need a way to go all together. It means to be able to generate the
same EXACT binary. We are using several external repositories
(OpenWRT/LEDE, LuCI, OpenWRT-routing, libremap) and most of them are
changing very often.
Lime-build is a tool which help us to freeze a libre-mesh version
together with all the external repositories. So when we publish a new
release, for instance "lime 15.04", we create a new branch into
lime-build which compiles exactly what we are using at this very moment.
We also have a branch named "develop" which refers to the current
development environment. So we can all develop under the same
environment and we avoid the problem of fining new bugs because of some
modification in external repositories.
Giu said:
try
https://github.com/libre-mesh/lime-build/tree/develop (it's based
on CC), that will turn into a release soon
This is fun because this is EXACTLY the point for using it. No need of
saying "using lime-packages revision XX, with OpenWRT revision YY, with
Luci revision ZZ, etc..".
2) WE CAN PRECONFIGURE PROFILES:
You can understand lime-build as a concrete OpenWRT SDK version with a
concrete list of feeds. In addition we have some profiles which help the
compilation process. For instance "ar71xx-olsr1" might be a profile
which automatically selects all the required packages for using lime and
olsr1. Syntax would be something like "make T=ar71xx-olsr1" which would
select atheros target with olsr profile (profiles are defined in
configs/ directory and target.mk). Using the same technique you would be
able to create also profiles for specific communities. For instance
"freifunk-leipzig".
At the end the profiles thing is a way to document a set of packages
which have been tested together.
3) IT MAKES THINGS EASIER FOR THOSE WHO ARE NOT FAMILIARIZED WITH OPENWRT
Just cloning lime-build and executing "make T=ar71xx" is enough to
produce your own binary.
* How can I
reproduce the way the images on
downloads.libre-mesh.org
have been built (ImageBuilder? List of packages/files added/removed)?
it's supposed to be a simple "git clone lime-build ; cd lime-build ;
make", but Pau can clarify
Anyway, in the
libre-mesh.org web site we are offering three different
ways for producing a binary:
http://libre-mesh.org/getit.html
So using lime-build is up to who wants to use it. But of course it is
not the only way.
I'll
certainly have more questions soon :)
keep them coming! :D
>
> Cheers
>
>
> Daniel
>
--
./p4u