Giter Site home page Giter Site logo

lime-sdk's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lime-sdk's Issues

use lede-trunk instead of lede-release

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

Check correct download of feeds

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'

Capture the "[mktplinkfw] *** error: images are too big" error when building an image

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))

Cook appears successful but no files are generated

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)

error compiling lime_bmx7 flavor with 18.06.4

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

luac missing

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.

LiMe networks trick clients into thinking IPv6 is available

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

dnsmasq-lease-share conflicts with shared-state-dnsmasq_leases

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

lime_build.txt

libremesh repos are not working lime-sdk/libremesh.repositories.conf

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:

Wizard for adding a feed

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.

Adding own repository and package

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

Branch for compiling with new web UI

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 add a new feed to a working lime-sdk

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?

Path error when cooking an individual package

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

lime-sdk/cooker

Line 238 in 6b6d031

echo "-> You can find it on $output_dir/$pkg_file"

the only flavor working seems to be bmx7

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.

files from community profile not in files_dir folder

#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)

Problem with configuration of single radio TP-Link CP510 with encrypted mesh

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:

  • lime-basic-no-ui hostapd-mini lime-debug -dnsmasq -wpad-mini wpad-mesh
    (For the bmx7 setup: bmx7 additional: lime-proto-bmx7 bmx7 bmx7-auto-gw-mode)

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!

ramips/mt7621 missing in cooker

Support for MT7621 is missing in cooker, despite being supported much better than MT7628 and MT7688. I believe it should be added as well.

args for custom packages and custom flavor name

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/

lime-smart-wifi

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:

  • opkg_install_cmd: Cannot install package lime-smart-wifi.

what we do wrong?

thank you!

--update-feeds by default?

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.

Including OpenWrt repositories in libremesh.repositories.conf

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?

Make cooker use 17.01.4

There have been a couple of security upgrades within the last weeks. Cooker currently still uses 17.01.2.

if feeds in feeds.conf references a tag instead of a branch cooker shows a git error that confuses the user

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

Project still active? opkg_download URLs offline

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!

Cook several firmware for different models.

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.

lime-packages/develop branch non-existent

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

Install OpenWRT kmod-usb-serial-ftdi package, tmux, screen

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:

  • kmod-usb-serial-ftdi
  • tmux
  • screen

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.

Build a single package

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

Have a per-community feeds.conf and release file

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.

Remove break after option --update-feeds

Currently cooker does not evaluate any option after "--update-feeds" because of break here.

case $1 in
[...]
    --update-feeds)
        update_feeds
        break

This can be fixed replacing it with shift. Is this correct @p4u?

Image build failing. Cannot install package lime-full

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?

fd66:66:66:7:c693 IPv6 unaccessble but 2a00:1508:ac6:d000:: works ok

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?

Have meaningful exit codes, not only for cooking

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).

Compile error

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'

consolidation of package

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.

Failure in compilation sdk branch master

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.