Re: [lime] Easing the configuration [was: Notes on testing …

Delete this message

Reply to this message
Author: Ilario
Date:  
To: libremesh
Subject: Re: [lime] Easing the configuration [was: Notes on testing LibreMesh on OpenWrt 22.03]
On 12/10/22 19:09, gothos via LibreMesh wrote:
> ciao


Ciao!

> (I apologize for writing in italian)


If I recall correctly, some years ago we decided that any language was
welcomed on the project's mailing lists :)

> in merito agli aggiornamenti di openwrt/libremesh alla 22.03
> volevo raccontare, se può essere utile che avevo fatto alcuni ulteriori
> test ma poi ho avuto poco tempo per ricontrollare il tutto


Great!!!!

> nel dettaglio stiamo usando 2 patch al momento per buildare con openwrt
> 22.03 e sembrerebbe funzionare
>
> ## openwrt 21
> di fatto come notava ilario, inizializza le conf con la nuova sintassi
> per DSA
> https://github.com/libremesh/lime-packages/issues/951
> ```
> #!/bin/sh
>
> uci add_list "network.@device[0].ports=bat0"
> exit 0
> ```


Ok, this is very useful, I tried to adapt lime-system's proto/lan.lua to
do that, check out this pull request:
https://github.com/libremesh/lime-packages/pull/959
(the pull request is not ready for merging yet, there are things that
don't work, but they are related to adding interfaces into bat0, not to
add bat0 to the bridge that should be working)
In the pull request I tried to reproduce the behaviour of LibreMesh on
OpenWrt 19.07, but in some cases I am not sure it made sense, for
example we were adding the WAN port to bat0. For me this is a bit of
magic, but due to the lack of documentation it is not easy to understand
how it should work.

> ## openwrt 22
> Che sembra dovuta a una regressione di openwrt che se non specifichi una
> confdir in sintassi uci nella sezione 'dnsmasq'
> si imposta di default `/tmp/dnsmasq.d/` come confdir (anche se il modo
> di utilizzarlo di libremesh è in linea con il default di dnsmasq)
>
> https://github.com/openwrt/openwrt/blob/a75a7981621a14adb3a11d1af66b72320b13c5ef/package/network/services/dnsmasq/files/dnsmasq.init#L1109
>
>
> ```
> #!/bin/sh
>
> uci set "uci set dhcp.@dnsmasq[0].confdir=/etc/dnsmasq.d/"
> exit 0
>
> ```


This is interesting indeed, I still have to hit this issue.
When do you see it? What gets affected?

That directory is being set in lime-system:
https://github.com/libremesh/lime-packages/blob/2a702d3aeeb8d7dab9e3181c2af2715a509584a3/packages/lime-system/files/usr/lib/lua/lime/network.lua#L161

actually doing it with UCI as you did, seems much more clean than the
current implementation in lime-system, I think.
Do you think that that line in lime-system is not enough?
What should be changed?
Would it be ok to just use OpenWrt's default /tmp/dnsmasq.d? (I suppose
LibreMesh is writing stuff there?)

> Un'altra piccola patch per compilare togliendo il default udhcpd.user
> ```
> rm package/network/config/netifd/files/etc/udhcpc.user
> ```
> (there is a check if file is present in the default script)
> https://github.com/openwrt/openwrt/blob/e0bb4b7a780bf893277b14c8c397b2a52d397eea/package/network/config/netifd/files/usr/share/udhcpc/default.script#L55


Please test if this pull request works for you for fixing this:
https://github.com/libremesh/lime-packages/pull/950

> ## openwrt build system via ansible
> Volevo segnalare che come gruppo stiamo testando al momento l'inclusione
> dell'Openwrt Build System
> all'interno di un setup con ansible, in modo da provare a tener ordinati
> i ruoli/compiti principali di manutenzione, ecc.
> e con i files `/etc/config/lime-macaddress` che ci fanno da
> congiunzione, tra conf e dispositivo nel momento di build.
>
> https://git.lattuga.net/antennine/infra_public
>
>
> Al momento funziona 'quasi decentemente'
> l'ultima volta che c'ho messo mano stavo cercando di gestire molteplici
> builds una dopo l'altra, con targets diversi
>
> e mi sono reso conto che il sistema di appendere le config a `.config` e
> poi reinnescare `make defconfig` per espanderle consigliato da openwrt
> [0] come alternativa via cli al `make menuconfig` non va a utilizzare i
> DEFAULT_PACKAGES specificati nei targets
>
> nello specifico l'errore l'ho notato nel buildare per questo dispositivo
> e il pacchetto non aggiunto era rssileds [1], che compariva come
> deselezionato in bin/target/ath79/generic/config.buildinfo
>
> provando a debuggare i vari steps ho notato infatti che compare la
> direttiva
> `DEFAULT_PACKAGES_rssileds`
>
> ma nel file config finale non compare
> `CONFIG_PACKAGE_rssileds=y`
>
> ma viene buildato invece con
> `# CONFIG_PACKAGE_rssileds is not set`
>
> Questi pacchetti vengono invece aggiunti correttamente se selezionati a
> mano tramite il `make menuconfig`
>
> Quindi per il momento li sto aggiungendo a mano ai profili dei devices


Uh!
Some advanced stuff here!!!!
If you think this should be used by the community, could you make a
guide on that? You could write it directly on the website or here :)

> [0]
> https://openwrt.org/docs/guide-developer/toolchain/use-buildsystem#configure_using_config_diff_file
> [1]
> https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=target/linux/ath79/image/generic-tp-link.mk;h=fed572c884c75bd21081c7c22dd4652ecefdd993;hb=ea845f76ea2406a4c70d96141d6386b81bba5431#l348


Ciao and thankkksss!!!
Ilario


--
Ilario
iochesonome@???
ilario@???