Skip to content

About

Set of profiles for the networks using LibreMesh

Topics

Resources

Stars

53 stars

Watchers

10 watching

Forks

Latest commit

 

History

584 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

network-profiles

Check out the full documentation on https://libremesh.org/development-network_profiles.html

Set of profiles for the networks using LibreMesh used by the firmware builder.

  • Each community profile goes into a directory named as the community.
  • Inside a community profile directory goes the devices profile, also split in directories
  • The files available into community/device/root/ will be copied to the output firmware binary

The expected files to be into this repository are:

  • Customized /etc/config/lime-community
  • Set of scripts to configure/fix/add small specific stuff on the system in /etc/uci-defaults/
  • SSH public keys from the community administrators in /etc/dropbear/authorized_keys
  • Any other stuff you need to customize your own community network firmware

A special file named Makefile have to be placed in the device directory community/device/Makefile, see this file as an example. This file can also be used to include a list of extra packages which will be included in the firmware.

Hacking (imagebuilder)

Add to your network profile a script that contains build instructions.
And that triggers a nested build with adjusted options if some packages weren't removed or some configs were missing.
This is done using a package preinst with opkg or a postinst with apk.

This hacks is meant to be sure to build saving firmware space and ram on 8/64 devices:

  • To prevent flashing a firmware that fit in the flash but cause the device to reboot for OOM
  • To simplify the removal of openwrt's default packages allowing one to build libremesh specifing a single package,
    i.e. make image profile-antennine.org-an-8-64

Supported options:

  • PKG_CONFIGS: Define a list of configs to be modified, i.e CONFIG_CLEAN_IPKG (opkg only).
  • PKG_CONFLICTS: Define a list of packages to be removed, i.e. -dnsmasq -odhcpd-ipv6only (apk and opkg).

Warnings:

  • Usable safely with ImageBuilder docker, since it will try to kill every pidof make.
  • To use it with ASU (online imagebuilder), the server must support this hack.
    Currently the ASU server https://sysupgrade-01.antennine.org supports it:
    • Do not return errors if the main build was killed after the nested build completes
    • Prepend packages that starts with profile- at the beginning of the packages list
      to speed up the build making the nested build happens as first preinst (opkg only),
      needed when using the firmware-selector that do request builds including all packages and using the ASU's diff_packages feature
    • Checking the manifest from a file printed in BIN_DIR/manifest instead from STDOUT (opkg only)

Usage:

Inside a network-profile add an include for ../../_hacks/index.mk before the inclusion of ../../profile.mk

include $(TOPDIR)/rules.mk

PROFILE_DESCRIPTION:=Generic libremesh metapackage
PKG_CONFIGS:=\
	CONFIG_CLEAN_IPKG=y
PKG_CONFLICTS:=\
	-dnsmasq \
	-odhcpd-ipv6only
PROFILE_DEPENDS:=\
	+profile-libremesh-suggested-packages

include ../../_hacks/index.mk
include ../../profile.mk

# call BuildPackage - OpenWrt buildroot signature

About

Set of profiles for the networks using LibreMesh

Topics

Resources

Stars

53 stars

Watchers

10 watching

Forks

Used by

Contributors

Languages