libremesh / lime-sdk Goto Github PK
View Code? Open in Web Editor NEWLibreMesh software development kit
Home Page: http://libremesh.org/
License: GNU General Public License v3.0
LibreMesh software development kit
Home Page: http://libremesh.org/
License: GNU General Public License v3.0
get use of lede-trunk (instead of official release) is nicer for testing our testing firmware testings. (and buildin g testing firmwares for further tests
I am trying to cook a generic x86 image of Libremesh to run in VirtualBox. I execute:
./cooker -c x86/generic --profile=Generic --flavor=lime_default
And I get this error as a result:
[Long list of "Configuring ...." ]
Collected errors:
* opkg_install_cmd: Cannot install package lime-full.
Makefile:140: recipe for target 'package_install' failed
make[2]: *** [package_install] Error 255
make[2]: Leaving directory '/home/okupa/libremesh/lime-sdk/17.01.0/x86/generic/ib'
Makefile:110: recipe for target '_call_image' failed
make[1]: *** [_call_image] Error 2
make[1]: Leaving directory '/home/okupa/libremesh/lime-sdk/17.01.0/x86/generic/ib'
Makefile:196: fallo en las instrucciones para el objetivo 'image'
make: *** [image] Error 2
make: se sale del directorio '/home/okupa/libremesh/lime-sdk/17.01.0/x86/generic/ib'
When creating an image that is bigger than the available space, the command outputs an error, but at the end the command says it is successful.
This is the last part of the output, it says that it is too big by 158546 bytes:
root (0)
4801+1 records in
4801+1 records out
2458274 bytes (2.5 MB, 2.3 MiB) copied, 0.0076228 s, 322 MB/s
[mktplinkfw] kernel length aligned to 1369776
[mktplinkfw] *** error: images are too big by 158546 bytes
cp: cannot stat '/home/nicopace/projects/redlibre/altermundi/librestack/lime-sdk/lede/ar71xx/generic/ib/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/tmp/lede-lime-mini-ar71xx-generic-tl-mr3020-v1-squashfs-sysupgrade.bin': No such file or directory
4801+1 records in
4801+1 records out
2458274 bytes (2.5 MB, 2.3 MiB) copied, 0.008946 s, 275 MB/s
[mktplinkfw] kernel length aligned to 1369776
[mktplinkfw] *** error: images are too big by 158546 bytes
cp: cannot stat '/home/nicopace/projects/redlibre/altermundi/librestack/lime-sdk/lede/ar71xx/generic/ib/build_dir/target-mips_24kc_musl/linux-ar71xx_generic/tmp/lede-lime-mini-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin': No such file or directory
padding image to 00260000
padding image to 00259000
padding image to 0025a000
padding image to 0025c000
padding image to 00260000
padding image to 00280000
20+1 records in
21+0 records out
2752512 bytes (2.8 MB, 2.6 MiB) copied, 0.00204403 s, 1.3 GB/s
Calculating checksums...
make: Leaving directory '/home/nicopace/projects/redlibre/altermundi/librestack/lime-sdk/lede/ar71xx/generic/ib'
-> Firmware for target ar71xx/generic, profile PROFILE=tl-mr3020-v1 and flavor lime_mini cooked!
Find the binaries in /home/nicopace/projects/redlibre/altermundi/librestack/lime-sdk/output/ar71xx/generic/tl-mr3020-v1/lime_mini directory
(based on libremesh/lime-packages#194 (comment) and libremesh/lime-packages#194 (comment))
The service slowly becomes more stable so some people might like to use the online editor instead of setting up their own builder
Both --remote
and local appear to create firmware but the output
directory is empty. I can't find the prepared firmware anywhere.
[user@system lime-sdk]$ ./cooker -c ar71xx/generic --profile=tl-wdr4300-v1 --flavor=lime_default --remote
[... lots of stuff...]
-> Firmware for target ar71xx/generic, profile PROFILE=tl-wdr4300-v1 and flavor lime_default cooked!
Find the binaries in /run/media/user/linux-home/git-dev/LibreMesh-GitHub/lime-sdk/output/ar71xx/generic/tl-wdr4300-v1/lime_default directory
[user@system lime-sdk]$ ls output/ar71xx/generic/tl-wdr4300-v1/lime_default/ -alh
total 8.0K
drwxr-xr-x 2 user user 4.0K Jun 28 21:34 .
drwxr-xr-x 3 user user 4.0K Jun 28 21:34 ..
[user@system lime-sdk]$
local build:
[user@system lime-sdk]$ ./cooker -c ar71xx/generic --profile=tl-wdr3500-v1 --flavor=lime_default
[... lots of stuff ...]
-> Firmware for target ar71xx/generic, profile PROFILE=tl-wdr3500-v1 and flavor lime_default cooked!
Find the binaries in /run/media/user/linux-home/git-dev/LibreMesh-GitHub/lime-sdk/output/ar71xx/generic/tl-wdr3500-v1/lime_default directory
[user@system lime-sdk]$ ls output/ar71xx/generic/tl-wdr3500-v1/lime_default/ -alh
total 8.0K
drwxr-xr-x 2 user user 4.0K Jun 28 20:50 .
drwxr-xr-x 3 user user 4.0K Jun 28 20:50 ..
[user@system lime-sdk]$
Am I on the wrong branch?
[user@system lime-sdk]$ git status
On branch develop
Your branch is up to date with 'origin/develop'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
last-build.log
nothing added to commit but untracked files present (use "git add" to track)
Hi,
I have an environment to compile openwrt (so I hope all dependencie are OK). I'm experiencing problems running lime-sdk master branch latest commit eae9844 (I don't have previous experience building this for earlier commits)
git clone https://github.com/libremesh/lime-sdk.git
cd lime-sdk
./cooker -c x86/64 --profile=Generic --flavor=lime_bmx7
part of the output
make[3] -C /root/lime-sdk/feeds/libremesh/packages/ubus-lime-utils compile
make[3] -C /root/lime-sdk/feeds/libremesh/packages/lime-app clean-build
make[3] -C /root/lime-sdk/feeds/libremesh/packages/lime-app compile
make[3] -C /root/lime-sdk/feeds/libremesh/packages/lime-docs clean-build
make[3] -C /root/lime-sdk/feeds/libremesh/packages/lime-docs compile
make -r world: build failed. Please re-run make with -j1 V=s or V=sc for a higher verbosity level to see what's going on
make: *** [/root/lime-sdk/18.06.4/x86/64/sdk/include/toplevel.mk:211: world] Error 1
make: Leaving directory '/root/lime-sdk/18.06.4/x86/64/sdk'
-> Error compiling SDK
cp: cannot stat '18.06.4/x86/64/ib/repositories.sdk.conf': No such file or directory
-> Cooking x86/64/Generic
-> Cooking firmware image
--> Selected extra packages: lime-system lime-proto-wan lime-hwd-openwrt-wan lime-debug smonit lime-proto-bmx7 bmx7-auto-gw-mode luci luci-app-bmx7 bmx7-topology bmx7-j
son -dnsmasq dnsmasq-dhcpv6
make: Entering directory '/root/lime-sdk/18.06.4/x86/64/ib'
make[1]: Entering directory '/root/lime-sdk/18.06.4/x86/64/ib'
make[1]: Leaving directory '/root/lime-sdk/18.06.4/x86/64/ib'
Checking 'working-make'... ok.
Checking 'case-sensitive-fs'... ok.
Checking 'proper-umask'... ok.
Checking 'gcc'... ok.
Checking 'working-gcc'... ok.
Checking 'g++'... ok.
Checking 'working-g++'... ok.
(...)
Installing libsmartcols (2.32-2) to root...
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/x86_64/base/libsmartcols_2.32-2_x86_64.ipk
Installing ppp (2.4.7-12) to root...
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/x86_64/base/ppp_2.4.7-12_x86_64.ipk
Installing kmod-lib-crc-ccitt (4.14.131-1) to root...
DoCollected errors:
* opkg_install_cmd: Cannot install package lime-system.
* opkg_install_cmd: Cannot install package lime-proto-wan.
* opkg_install_cmd: Cannot install package lime-hwd-openwrt-wan.
* opkg_install_cmd: Cannot install package lime-debug.
* opkg_install_cmd: Cannot install package smonit.
* opkg_install_cmd: Cannot install package lime-proto-bmx7.
* opkg_install_cmd: Cannot install package bmx7-auto-gw-mode.
wnloading file:packages/kmod-lib-crc-ccitt_4.14.131-1_x86_64.ipk
Installing kmod-slhc (4.14.131-1) to root...
Downloading file:packages/kmod-slhc_4.14.131-1_x86_64.ipk
Installing kmod-ppp (4.14.131-1) to root...
Downloading file:packages/kmod-ppp_4.14.131-1_x86_64.ipk
Installing ppp-mod-pppoe (2.4.7-12) to root...
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/x86_64/base/ppp-mod-pppoe_2.4.7-12_x86_64.ipk
Installing kmod-pppox (4.14.131-1) to root...
Downloading file:packages/kmod-pppox_4.14.131-1_x86_64.ipk
Installing kmod-pppoe (4.14.131-1) to root...
Downloading file:packages/kmod-pppoe_4.14.131-1_x86_64.ipk
Installing uci (2019-05-17-f199b961-1) to root...
Downloading http://downloads.openwrt.org/releases/18.06.4/packages/x86_64/base/uci_2019-05-17-f199b961-1_x86_64.ipk
Package uclient-fetch (2018-11-24-3ba74ebc-1) installed in root is up to date.
Configuring zlib.
Configuring libmbedtls.
Configuring libnl-tiny.
Configuring libubox.
Configuring libuci.
Configuring libubus.
Configuring libiwinfo.
Configuring bmx7.
Configuring luci-lib-json.
Configuring liblua.
Configuring lua.
Configuring luci-lib-nixio.
Configuring luci-lib-ip.
Configuring libjson-c.
Configuring libblobmsg-json.
Configuring rpcd.
Configuring libubus-lua.
Configuring luci-lib-jsonc.
Configuring liblucihttp.
Configuring liblucihttp-lua.
Configuring luci-base.
Configuring luci-mod-admin-full.
Configuring bmx7-json.
Configuring luci-app-bmx7.
Configuring libpthread.
Configuring librt.
Configuring libuuid.
Configuring libf2fs.
Configuring mkf2fs.
Configuring dnsmasq-dhcpv6.
Configuring libuclient.
Configuring uclient-fetch.
Configuring opkg.
Configuring ubusd.
Configuring ubus.
Configuring busybox.
Configuring kmod-nf-reject6.
Configuring libiwinfo-lua.
Configuring kmod-nf-conntrack.
Configuring kmod-nf-flow.
Configuring kmod-lib-crc-ccitt.
Configuring r8169-firmware.
Configuring luci-theme-bootstrap.
Configuring kmod-slhc.
Configuring kmod-ppp.
Configuring kmod-pppox.
Configuring kmod-pppoe.
Configuring kmod-nf-reject.
Configuring kmod-nf-ipt.
Configuring kmod-ipt-core.
Configuring kmod-ipt-conntrack.
Configuring jshn.
Configuring netifd.
Configuring libjson-script.
Configuring ubox.
Configuring procd.
Configuring jsonfilter.
Configuring usign.
Configuring openwrt-keyring.
Configuring fstools.
Configuring fwtool.
Configuring base-files.
Configuring kmod-nf-nat.
Configuring kmod-input-core.
Configuring libblkid.
Configuring libsmartcols.
Configuring partx-utils.
Configuring kmod-mii.
Configuring kmod-r8169.
Configuring kmod-i2c-core.
Configuring libxtables.
Configuring libip4tc.
Configuring libip6tc.
Configuring kmod-nf-conntrack6.
Configuring kmod-ipt-nat.
Configuring firewall.
Configuring luci-app-firewall.
Configuring libcomerr.
Configuring kmod-nf-ipt6.
Configuring kmod-ip6tables.
Configuring odhcp6c.
Configuring uci.
Configuring dropbear.
Configuring kmod-hwmon-core.
Configuring mtd.
Configuring odhcpd-ipv6only.
Configuring luci-proto-ppp.
Configuring ppp.
Configuring logd.
Configuring libss.
Configuring luci-proto-ipv6.
Configuring iptables.
Configuring libext2fs.
Configuring e2fsprogs.
Configuring kmod-e1000.
Configuring kmod-pps.
Configuring uhttpd.
Configuring ip6tables.
Configuring kmod-ptp.
Configuring rpcd-mod-rrdns.
Configuring luci.
Configuring bmx7-topology.
Configuring kmod-e1000e.
Configuring kmod-button-hotplug.
Configuring kmod-i2c-algo-bit.
Configuring kmod-igb.
Configuring kmod-ipt-offload.
Configuring ppp-mod-pppoe.
make[2]: *** [Makefile:153: package_install] Error 255
make[1]: *** [Makefile:114: _call_image] Error 2
make: *** [Makefile:193: image] Error 2
make: Leaving directory '/root/lime-sdk/18.06.4/x86/64/ib'
-> Firmware for target x86/64, profile PROFILE=Generic and flavor lime_bmx7 cooked!
Find the binaries in /root/lime-sdk/output/x86/64/Generic/lime_bmx7 directory
root@cooker2:~/lime-sdk# ./cooker -c x86/64 --profile=Generic --flavor=lime_bmx7
Hi,
I'm trying to build lime_default ( ./cooker -c ar71xx/generic --flavor=lime_default
) and it fails because of missing luac dependency. I've looked into 17.01.4/ar71xx/generic/sdk/.config and it's not selected. After changing defconfig
to menuconfig
in https://github.com/libremesh/lime-sdk/blob/master/cooker#L217 and selecting luac it still fails on building libremap-agent/luasrc.
What should I do with it? I'm fimilar with Buildroot but not cooker so it makes things a bit less transparent until i use cooker a bit more.
Every since I started using LiMe, any client on the lan thinks the network is IPv6 enabled, even though the only gateway in the network is IPv4 only. This happens across every LiMe deployment I have.
root@ubuntu:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1350 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:92:14:5a brd ff:ff:ff:ff:ff:ff
inet 10.42.127.114/16 brd 10.42.255.255 scope global dynamic noprefixroute ens33
valid_lft 2898sec preferred_lft 2898sec
inet6 2a00:1508:a42:2400:65a1:d08b:f4f0:c0b0/64 scope global temporary dynamic
valid_lft 85694sec preferred_lft 85268sec
inet6 2a00:1508:a42:2400:a74c:b3c1:31c7:10cd/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 85694sec preferred_lft 85694sec
inet6 fe80::31f8:75e3:9044:a458/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Therefore anytime a hostname has an IPv6 record associated in DNS, some clients, such as android devices, try using the IPv6 address, and of course connections fail.
I've noticed that an IPv6 range is generated in lime-defaults, why do those look like global addresses?
Thanks
I wonder but it is happening!
./cooker -c ar71xx/tiny --flavor=lime_mini --profile=tl-wr841-v8 --remote
Collected errors:
* check_data_file_clashes: Package dnsmasq-lease-share wants to install file ~/lime-sdk/18.06.4/ar71xx/tiny/ib/build_dir/target-mips_24kc_musl/root-ar71xx/etc/uci-defaults/90_dnsmasq-lease-share
But that file is already provided by package * shared-state-dnsmasq_leases
* check_data_file_clashes: Package dnsmasq-lease-share wants to install file ~/lime-sdk/18.06.4/ar71xx/tiny/ib/build_dir/target-mips_24kc_musl/root-ar71xx/usr/bin/dnsmasq-lease-share.sh
But that file is already provided by package * shared-state-dnsmasq_leases
* opkg_install_cmd: Cannot install package lime-basic.
The only what I did that changed the feeds.conf.default because of my provider blocks git.openwrt.org
src-git base https://github.com/openwrt/openwrt.git;v18.06.4
src-git packages https://github.com/openwrt/packages.git;openwrt-18.06
src-git luci https://github.com/openwrt/luci.git;openwrt-18.06
src-git routing https://github.com/openwrt-routing/packages.git;openwrt-18.06
src-git telephony https://github.com/openwrt/telephony.git;openwrt-18.06
src-git libremesh https://github.com/libremesh/lime-packages.git;master
src-git libremap https://github.com/libremap/libremap-agent-openwrt.git;master
src-git limeui https://github.com/libremesh/lime-packages-ui.git;master
when using --remote option in cooker remote libremesh repository's return "not found"
output from shell:
Downloading http://repo.libremesh.org/current/packages/mips_24kc/libremesh/Packages.gz
*** Failed to download the package list from http://repo.libremesh.org/current/packages/mips_24kc/libremesh/Packages.gz
Downloading http://repo.libremesh.org/current/packages/mips_24kc/libremap/Packages.gz
*** Failed to download the package list from http://repo.libremesh.org/current/packages/mips_24kc/libremap/Packages.gz
Downloading http://repo.libremesh.org/current/packages/mips_24kc/limeui/Packages.gz
*** Failed to download the package list from http://repo.libremesh.org/current/packages/mips_24kc/limeui/Packages.gz
Downloading http://repo.libremesh.org/current/packages/mips_24kc/routing/Packages.gz
*** Failed to download the package list from http://repo.libremesh.org/current/packages/mips_24kc/routing/Packages.gz
Downloading http://repo.libremesh.org/network-profiles//Packages.gz
*** Failed to download the package list from http://repo.libremesh.org/network-profiles//Packages.gz
Collected errors:
An easy to use wizard might be used for adding a custom feed repository into the SDK. That might help developers to test their software.
Hi
I have a private repository with few custom packages which I have been using across Lede/OpenWRT builds. I'm struggling to add them while following https://github.com/libremesh/lime-sdk#add-your-own-feed-repository instructions. It seems to be ok as the custom repo is checked out, it is in the custom target definition but i still don't see it when running menuconfig and the build generally fails with 'opkg_install_cmd: Cannot install package X'.
Tried few things but still the result is the same. Is there something else which is not covered in the lime-sdk instructions? I'm pretty sure that the package is correct and builds under as other OpenWRT packages
The new web interface developed by @gmarcos87 is based on LuCI2 and is located here:
https://github.com/libremesh/lime-packages-ui
and here:
https://github.com/libremesh/lime-app/
We need a branch for compiling an updated 17.01.4 LEDE with the new UI, it will be something like this old branch:
https://github.com/libremesh/lime-sdk/compare/luci2
Some notes:
how to reproduce:
it will say that couldn't cook the image.
If I have a lime-sdk in use, already with its feeds downloaded and updated and I want to add a new one it is not enough to add it in feed.conf and run --update-feeds.
For lime-sdk to take the new packages I must force the feeds with --force. This results in you having to download all the feeds again, and in contexts like mine of low connectivity, it is often impossible.
Is that normal behavior? Did anyone else get sick to this situation? I must do something different or there is a workaround?
There is a small bug when cooking an individual package. The cooker indicates a different path than it actually is.
$ J=1 V=s ./cooker -b ar71xx/generic --package=lime-app
..........
make[2]: Leaving directory '/home/okupa/libremesh/lime-sdk/feeds/limeui/lime-app'
make[1]: Leaving directory '/home/okupa/libremesh/lime-sdk/17.01.2/ar71xx/generic/sdk'
make: se sale del directorio '/home/okupa/libremesh/lime-sdk/17.01.2/ar71xx/generic/sdk'
-> Build of lime-app successful
-> You can find it on _/home/okupa/libremesh/lime-sdk/output/packages/17.01.2/ar71xx/generic/sdk/bin/packages/mips_24kc/limeui/lime-app_0.0.1-1_mips_24kc.ipk_
But the file is locate in /home/okupa/libremesh/lime-sdk/output/packages/lime-app_0.0.1-1_mips_24kc.ipk
The line that prints the output is
Line 238 in 6b6d031
When I cook a bmx7 firmware with this command everything runs fine:
./cooker -c ar71xx/generic --profile=tl-wdr3500-v1 --flavor=lime_bmx7 --remote
If I try any other flavor like lime_default, lime_mini etc, it won't create the files. Build log
last-build.log
is attached.
#cp -rf ${myfiles}/* ${ib_files}/ 2>/dev/null
cp -rf ${ib_files}/* ${myfiles}/ 2>/dev/null
I had a problem with files from community not being in files_dir.
the first, or commented line is original code that was in the cooker file I simply switched places of files_dir and tmp_dir variables and now it works(code from the second line)
The TP-Link CP510 (having only 5G) creates a mesh over the 5G (encrypted) and we can see him with bmx6 (orin the other setup with bmx7), but he is not in the configured subnet (10.5*.*) instead he uses the ip 192.168.1.1.
So it is not possible to use the router as Gateway.
We want to use this router as a bridge for longer distances and to offer net over wdr4300 or the TP-Link CP210.
We tried with bmx6 and bmx7
Packages used:
Our configuration lime_defaults:
config lime system
option hostname '%M4%M5%M6'
option domain 'mesh.camp.local'
option keep_on_upgrade 'libremesh base-files-essential /etc/sysupgrade.conf'
config lime network
option primary_interface eth0
option main_ipv4_address '10.5.0.0/21'
option main_ipv6_address '2801:01e8:2::/64'
option bmx6_mtu '1500'
list protocols ieee80211s
list protocols lan
list protocols anygw
list protocols batadv:%N1
list protocols bmx6:13
list protocols olsr:14
list protocols olsr6:15
list protocols olsr2:16
list resolvers 8.8.8.8
list resolvers 4.2.2.2 # b.resolvers.Level3.net
list resolvers 141.1.1.1 # cns1.cw.net
list resolvers 2001:470:20::2 # ordns.he.net
option bmx6_over_batman false
option bmx6_pref_gw none
option bmx6_publish_ownip true
option anygw_mac "aa:aa:aa:%N1:%N2:aa"
config lime wifi
option channel_2ghz '1'
list modes 'ap'
list modes 'ieee80211s'
option ap_ssid 'CAMP'
option ap_encryption 'psk2+ccmp'
option ap_key 'PASSWORD'
Do we need a special Package config to get the Setup working with Hardware with Single Radio?
thank you for your good support!
no matter if you add the --no-update flag or not, it tries to download the Packages.gz file.
lime-full
metapackage has been removed months ago (libremesh/lime-packages#513) but it is still included in the lime_default flavor for the default lime-sdk branch (which is develop).
It has to be replaced with lime-basic
+ a list of packages.
In the master branch I already fixed this with #99
I'm doing a training for a new developer to step up and contribute to the project, and we found out that a lot of dependencies are required to have lime-sdk work.
We should be testing it on a bare installation of at least ubuntu and debian to ensure that it works.
The required packages can be found here: https://lede-project.org/docs/guide-developer/install-buildsystem
Support for MT7621 is missing in cooker, despite being supported much better than MT7628 and MT7688. I believe it should be added as well.
Let's say someone else is mantaining my profle.
Is there any way I can call to update the community profiles from github?
like doing the 'git pull'
It could be useful to set to be installed packages via command line as well define a custom flavor name.
./cooker -c ar71xx/generic --profile=tl-wdr3600-v1 --packages "luci-ssl -kmod-usb-core" --flavor-name=gateway-foobar
the image would be created at lime-sdk/output/ar71xx/generic/tl-wdr3600-v1/gateway-foobar/
Mostly solved by #48
LEDE is still mentioned in this repository here:
https://github.com/libremesh/lime-sdk/search?q=lede
Hello,
how can we add lime-smart-wifi to the packagebuild.
we tried:
in flavors.local:
lime_camp="lime-basic-no-ui lime-debug -dnsmasq -wpad-mini wpad-mesh lime-smart-wifi"
and in the
feeds.config:
src-git libremesh https://github.com/libremesh/lime-packages.git
The Cooker comand is:
./cooker -c ar71xx/generic --flavor=lime_camp --profile=tl-wdr4300-v1 --community=camp/cpublic ( --extra-pkg="lime-smart-wifi")
with and without the --extra-pkg="lime-smart-wifi" option.
Collected errors:
what we do wrong?
thank you!
In my opinion cooker should update the feeds (--update-feeds
) by default, and having a --no-update-feeds
required for avoiding this.
This would limit situations where users compile broken formware like here.
What about having OpenWrt/LEDE repositories additionally to our own packages repositories configured in libremesh.repositories.conf? As we're using the IB and SDK the packages will be compatible.
This would allow one to use cooker with remote packages download (--remote option) and adding packages not present in our repositories (--extra-pkg="pkg1 pkg2" option).
How can we assure that in case of name conflict (e.g. bmx6 package being present both in our and OpenWrt repository) the newest version or our version of the two is going to be used?
There have been a couple of security upgrades within the last weeks. Cooker currently still uses 17.01.2.
In https://wiki.openwrt.org/doc/devel/feeds openwrt sdk and ib support multiple feed fetching methods.
Giving support to at list src-link or src-spy will allow to have local repositories integrated within lime-sdk.
This happens with:
https://github.com/lede-project/source.git;v17.01.1
because v17.01.1 is a tag,
and does not happen with
src-git libremesh https://github.com/libremesh/lime-packages.git;develop
That is a branch.
The issue comes because for each feeds.conf line you are doing git pull without checking if it is a tag or branch here: https://github.com/libremesh/lime-sdk/blob/master/cooker#L213
You can check the available tags by using git tag -l
After two years I'm trying to build once again for a project, I'm getting:
Collected errors:
* opkg_download: Failed to download http://snapshots.libremesh.org/packages/Packages.gz, wget returned 8.
* opkg_download: Failed to download http://chef.libremesh.org/network-profiles//Packages.gz, wget returned 8.
I used to use branch develop, but I see others are having trouble. I've tried with master, same results.
I also get:
Build dependency: Please install the GNU C Compiler (gcc) 4.8 or later
Build dependency: Please install the GNU C++ Compiler (g++) 4.8 or later
Build dependency: Please install Python 2.x
on Ubuntu 20 although I have the first two installed [for the third instead, is python2 still really required?]
Also, the new chef.libremesh.org doesn't support communities, right?
Thanks!
This is caused by "return 1" in this line being executed both when failing and when succeeding.
A problem caused by this is continuous integration failing even if the cooking was ok.
How do you recommend that I write a script or can I tell the cooker to build, for example, all the firmware for the Ubiquiti and Tp-Link models?
I've been thinking about doing a cascade script that launches the process one by one, but I think it can be quite slow.
Currently lime-sdk default branch (which is develop) is looking for the LibreMesh code on the lime-packages/develop branch that has been deleted long time ago.
We could point to lime-packages/master branch but, considering that lime-sdk is getting less and less supported, I would keep this tool available just for compiling LibreMesh 17.06, so it should point to lime-packages/17.06 (as it currently happens for lime-sdk/master branch) and make the lime-sdk/master branch the default one.
Or should we just discontinue it?
@p4u
Hello,
I'm trying to add few standard packages from OpenWRT package repository and I see that they are being downloaded into packages directory but when I try running cooker with modification to shoe menuconfig instead of defconfig I can't select or find them.
What is the want to add the following:
I don't get the fill cooker flow yet, could someone please help me out with it? I've added my own custom repository and packages without problems but these are proving to be more difficult.
As a package developer I need to be able to run the compilation step of my package many times and as fast as possible.
Right now, with the lime-sdk I need to wait for all the image to build... this can take ~1 minute, while building the package directly using openwrt-sdk takes 2 seconds.
Would be great to bypass the building of all but one package, and then optionally be able to create an image with that new packge.
Some conversation about this topic here: f53d738#commitcomment-22994952
Lime-sdk allows to config a feeds.conf file where you can specify the feeds.
For those added from a VCS you can specify a hash reference, a tag or a branch.
The feeds.conf defines the building environment parameters... so if you have a build environment that requires a different set of feeds, a different version of a feed, or a different source of a feed, you need to clone another env, and it is not persisted anywhere.
It would be great if we can add a FEEDS and RELEASE file in the root of a community profile that acts as a replacement of the feeds.conf base file and the release variable in the options.conf file.
If that exists, it will build an environment based on those specs.
This could also help for reproducibility, because it will allow to generate exactly the same binary.
Hi,
Pulled the git. Followed the instructions and tried to built and image but got the following error.
Collected errors:
* opkg_install_cmd: Cannot install package lime-full.
Makefile:140: recipe for target 'package_install' failed
make[2]: *** [package_install] Error 255
make[2]: Leaving directory '/usr/src/git/lime-sdk/17.01.2/ar71xx/generic/ib'
Makefile:110: recipe for target '_call_image' failed
make[1]: *** [_call_image] Error 2
make[1]: Leaving directory '/usr/src/git/lime-sdk/17.01.2/ar71xx/generic/ib'
Makefile:196: recipe for target 'image' failed
make: *** [image] Error 2
make: Leaving directory '/usr/src/git/lime-sdk/17.01.2/ar71xx/generic/ib'
-> Firmware not cooked, something wrong happened on the ImageBuilder compilation process
even running with
J=1 V=s ./cooker -c ar71xx/generic --profile=tl-wr940n-v4 --flavor=lime_default
Not sure where to go now?
Hello,
I'm trying to figure one thing out and can't wrap my head around it - maybe someone could help me with it.
I create a small mesh network (2-7 devices) and it works fine initially. I connect with my PC to it and can ssh/ping and open LuCi over IPv4 and IPv6 addresses in IPv6 fd66:66:66:7:c693:ff: subnet (which is shown in LuCi under http://thisnode.info/cgi-bin/luci/status/bmx6/Nodes ) and 2a00:1508:ac6:d000:: (which is my option main_ipv6_address '2a00:1508:0a%N1:%N200::/64'
in /etc/config/lime).
After around an hour of working the fd66:66:66:7:c693:ff: address become's unavailable and only 2a00:1508:ac6:d000:: works. This only fixes after I reconnect to the Mesh Wifi network from my PC.
I'm totally ok with using main_ipv6_address but LuCi bmx6/nodes shows only addresses from fd66:66:66:7:c693:ff: subnet which makes it very hard for end user to know what is the actual address of specific device (not to mention obtaining it's IPv4 address). Is there a way around this, eg. forcing Luci to show only the 2a00:1508:ac6:d000:: address or how to make fd66:66:66:7:c693:ff: not disappear after a while?
For solving #13, the pull request #15 took exit code from cooking process and returned it at the output of cooker.
The exit code is forced to zero for the other tasks. For example, for downloading the SDK and IB the exit code will be always zero even when a failure happened (related discussion on #12).
Error code 0 when running ./cooker -d ar71xx/generic
Error code 1.
Output here: https://travis-ci.org/libremesh/lime-packages/builds/253444589#L623
I cannot successfully compile Target profiles for the ar71xx/generic target=Archer-C59-V1 or Ramips/7620 target=EX3700-3800
I have tried several environment variables and a clean git clone using the Development branch as both of these profiles are not found in the master branch. Strangely enough I have a working archer c59 firwmare image that UFO built in April which is partially working without the latest patch that resolves wan port and switch port 1 ( http://gadow.freifunk.net:8004/srv2/libremesh/develop-dev-brunch/lime-sdk/output/ar71xx/generic/Default/lime_default/ )
Both seem to return the same compile error below:
./cooker -b ramips/mt7620 creates the following compile error.
package/Makefile:105: recipe for target '/home/tiger/lime-sdk/snapshots/ramips/mt7620/sdk/staging_dir/target-mipsel_24kc_musl/stamp/.package_compile' failed
make[1]: *** [/home/tiger/lime-sdk/snapshots/ramips/mt7620/sdk/staging_dir/target-mipsel_24kc_musl/stamp/.package_compile] Error 2
make[1]: Leaving directory '/home/tiger/lime-sdk/snapshots/ramips/mt7620/sdk'
/home/tiger/lime-sdk/snapshots/ramips/mt7620/sdk/include/toplevel.mk:200: recipe for target 'world' failed
make: *** [world] Error 2
make: Leaving directory '/home/tiger/lime-sdk/snapshots/ramips/mt7620/sdk'
Currently packages are passed to the ImageBuilder by simply appending the string coming from flavours.conf with the PKG environment variable. This is insufficient in case of the user wanting to install a package via PKG variable which is masked by a -
character in front of the package. In such a case (such as firewall
) the package cannot be installed via the PKG variable at all.
I'm trying to compile using the master branch that uses openwrt 18.04 but I have an error that I couldn't debug.
I'm using the command:
J=1 V=s ./cooker -c ar71xx/generic --flavor=lime_default --profile=ubnt-nano-m-xw --community=NuestraRed.org/hacklime
The error I get is the following:
Configuring lime-debug.
Configuring ppp-mod-pppoe.
make[2]: *** [Makefile:153: package_install] Error 255
make[1]: *** [Makefile:114: _call_image] Error 2
make: *** [Makefile:193: image] Error 2
make: Leaving directory '/home/kleper/lime18/18.06.4/ar71xx/generic/ib'
I have already checked that I have all the necessary packages to be able to compile in my operating system, in fact I have in this same operating system a sdk configured with version 17 of OpenWRT and another SDK of OpenWRT Snapshot and with these the compilation works well for me.
This is the log of my last compilation:
https://pastebin.com/FtQpQdwb
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.