Commit Graph

40 Commits

Author SHA1 Message Date
Matthias Schiffer b5db6435e5
build: pass GLUON_VERSION and GLUON_SITE_VERSION to build
A helper script is introduced to get the version from `git describe`.
2021-10-05 21:48:07 +02:00
David Bauer 4a75e0942e generic: drop BUSYBOX_CONFIG_FEATURE_PREFER_IPV4_ADDRESS
These config changes are not necessary anymore, as it's now the default
behavior.

Ref: https://github.com/freifunk-gluon/gluon/pull/2235#issuecomment-859654947
Signed-off-by: David Bauer <mail@david-bauer.net>
2021-06-26 00:12:28 +02:00
David Bauer 6ba58c9b17 generic: force per-device RootFS
All targets now use OpenWrt device abstraction. Thus, all targets now
can be built using a per-device RootFS.

Signed-off-by: David Bauer <mail@david-bauer.net>
2021-06-22 01:59:48 +02:00
David Bauer ddd0d35d2e generic: remove TLS packages
Signed-off-by: David Bauer <mail@david-bauer.net>
2021-06-22 01:59:48 +02:00
David Bauer 002e3a9c19 targets: remove wpad-basic-wolfssl by default 2021-06-21 16:28:15 +02:00
Matthias Schiffer e6d3d1584c
build: deprecate GLUON_BRANCH Make variable
GLUON_AUTOUPDATER_BRANCH and GLUON_AUTOUPDATER_ENABLED should be set
separately now.
2020-08-15 16:36:27 +02:00
Matthias Schiffer ee53357580
gluon-autoupdater: split CONFIG_GLUON_BRANCH into two separate options
The new options are CONFIG_GLUON_AUTOUPDATER_BRANCH and
CONFIG_GLUON_AUTOUPDATER_ENABLED and allow to control the default branch
and default enable status separately.

The `or ''` fallback in targets/generic is removed, as GLUON_ENV will
set all variables in GLUON_VARS, making previously non-existing
variables exist with an empty value.
2020-08-15 16:36:27 +02:00
Matthias Schiffer b3edfd292a
build: target_config_lib: do not build unused packages for targets without opkg (#2051)
Normally, we build all nonshared packages (which includes all kernel
modules) to generate an opkg feed for later package installations by
users. On targets without opkg, this just wastes time - disable it.
2020-06-11 02:16:49 +02:00
Chrissi^ (Chris Fiege) 1956696da5
openwrt: Store Kernel Debug-Info (#1971)
This change stores a Kernel with Debug-Symbols for the current
architecture in a new output directory '<outputdir>/debug'.
This allows a developer or operator of a network to store the kernel
along with the actual images. In case of a kernel oops the debug
information can be used with the script
'scripts/decode_stacktrace.sh' in the kernel source tree to get the
names to the symbols of the stack trace.

OpenWRT already provides the CONFIG_COLLECT_KERNEL_DEBUG -option that
creates a kernel with debug-symbols in the OpenWRT output directory.
This change enables this option and copies the generated kernel to the
gluon output directory.

Signed-off-by: Chrissi^ <chris@tinyhost.de>
2020-06-04 22:35:58 +02:00
Matthias Schiffer 3ce43329f5
build: remove now-unneeded function from target_config_lib.lua
target_config.lua and target_config_check.lua don't pass a table of
callbacks anymore, so target_config_lib.lua can by simplified by moving
all the code that was in the returned function to the toplevel.
2020-05-31 02:20:58 +02:00
Matthias Schiffer 9e23534ec3
build: rework config generation
So far, we were using a sort operation on the generated .config to
implement precedence of =y packages over =m, and =m over unset.
Unfortunately, this sort not only used for packages, but for all config
lines. This made it impossible to override settings from targets/generic
in a target config when the new setting was sorted before the generic
setting.

To fix this, track configurations by their keys, so we can properly
override config keys that were set before. Value-based precedence is
only preserved for package configuration.

The config() and try_config() calls always take key and value as
separate arguments now. Strings are quoted automatically; the values
true, nil and false map to y, m and unset for tristate options. config()
can take an optional third argument to override the error message to
display when the setting fails to apply.

All existing target configs generate the same .config with the old and the
new code. The new code is also a bit faster on targets with many devices.
2020-05-31 02:20:58 +02:00
Matthias Schiffer 7e8af99cf5 generic: reduce squashfs block size to 256KiB
In OpenWrt 19.07, the block size was increased to 1024KiB for "tiny"
devices by default to save flash. Unfortunately, this also significantly
increases the cache memory required by squashfs.

In my test, the increased block size reduced the image size by ~64KiB,
but increased the RAM usage by ~2.6MiB. As most tiny devices have only
32MiB of RAM, this is not a reasonable tradeoff.

The ar71xx-generic target already defines an even lower block size of
64KiB.
2020-05-28 19:40:29 +02:00
Matthias Schiffer 1cb97ad63e generic: remove kmod-ipt-offload
This is unused by Gluon.
2020-05-28 19:40:29 +02:00
Matthias Schiffer ab6596115a build: introduce GLUON_AUTOREMOVE flag 2020-05-13 15:48:06 +02:00
lemoer 57516fe4e7
Add GLUON_MINIFY flag to allow skipping the minification process (#1916) 2020-05-13 00:45:06 +02:00
Matthias Schiffer d7e724ada9
target_lib: replace envtrue with more intuitive istrue helper
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2020-03-14 16:51:43 +01:00
Matthias Schiffer af21f912b2
generic: fix GLUON_DEBUG on targets without configurable rootfs size
Fixes: c3435607e1 ("generic: increase RootFS size when GLUON_DEBUG is enabled")
2020-02-04 02:04:36 +01:00
David Bauer c3435607e1 generic: increase RootFS size when GLUON_DEBUG is enabled
This increases the size of the root filesystem when GLUON_DEBUG is
enabled. Otherwise, the filesystem is too small.

Closes #1907
2020-01-05 19:14:09 +01:00
David Bauer 09780191cb targets: remove wpad-basic by default
This is necessary, as wpad-basic conflicts with hostapd-mini.
2019-10-30 00:06:14 +01:00
Matthias Schiffer 071cf7b20f
Switch to Lua for target definitions
The old bash-based parsing code was way too complex. Replace it with Lua.
2019-06-15 23:34:07 +02:00
Matthias Schiffer 134a6460a7
build: move hostapd-mini package from generic target to Makefile
By passing the package name through merge_packages, it becomes possible to
override the package choice in GLUON_SITE_PACKAGES again, for example:

	GLUON_SITE_PACKAGES += -hostapd-mini hostapd
2019-04-19 13:53:09 +02:00
Matthias Schiffer 1e61e8e897
Disable build of kmod-jool again
kmod-jool build is broken with current kernel 4.14.y.
2018-09-30 19:09:23 +02:00
Matthias Schiffer 63c16c01a0
scripts: move DEFAULT_FEEDS definition to a separate file
modules.sh can't depend on openwrt/feeds.conf.default, otherwise the
initial update will fail.
2018-07-11 21:47:50 +02:00
Matthias Schiffer 210d97c53e
Switch to OpenWrt 18.06 branch 2018-07-10 22:57:40 +02:00
Matthias Schiffer d210cfcad9
generic: do not attempt to build kmod-usbip
kmod-usbip is broken since the last kernel update.
2018-04-10 20:25:38 +02:00
Matthias Schiffer 07dbfea617
gluon-site: disable multidomain support by default 2018-01-26 12:32:46 +01:00
Matthias Schiffer faceb3932c
config: check if GLUON_DEBUG is 1 rather than nonempty 2018-01-26 12:32:46 +01:00
Matthias Schiffer 08cbbf9925
build: move all generic config generation to targets/generic
As the default package list is now handled using the 'packages' directive,
explicit wpad-mini removals in target definitions can be dropped.
2017-09-07 03:21:42 +02:00
Matthias Schiffer 587c5016cb
build: handle generic and target-specific config in the same run of target_config{,_check}.sh
This, together with a new try_config directive, will allow checking the
generic config and make it more flexible.
2017-09-07 00:17:57 +02:00
Linus Lüssing 23a8947628
Revert "generic: batman-adv: disable multicast optimizations for now"
This reverts commit 819758f425.

A proper fix is now available, therefore reverting this workaround.
2017-08-07 22:07:14 +02:00
Matthias Schiffer 6e039911ab
generic: don't explicitly enable busybox sha256sum applet
LEDE has sha256sum enabled by default.
2017-07-03 03:49:03 +02:00
Matthias Schiffer 102f6a7244
Revert "generic: busybox: enable sha512sum to workaround segfault issue"
This reverts commit dcff68029e.
2017-07-03 01:45:21 +02:00
Matthias Schiffer 819758f425
generic: batman-adv: disable multicast optimizations for now
A bug in batman-adv can lead to a large amount of management traffic being
exchanged between nodes when the multicast optimizations are enabled,
effectively making the mesh unusable. It's safer to disable the feature
for now, until we have a real fix.
2017-06-26 14:37:13 +02:00
Matthias Schiffer dcff68029e
generic: busybox: enable sha512sum to workaround segfault issue
sha512sum doesn't add much code that is not also used by sha256sum, but the
change of the configuration hides the segfault issue described in:

  https://bugs.lede-project.org/index.php?do=details&task_id=822

While the issue only seemed to affect dhcpv6.script, it would clutter /tmp
with coredumps, eventually leading to OOM.
2017-06-23 13:12:46 +02:00
Matthias Schiffer 88f2e3e4e2
Revert "generic: revert to OpenWrt CC partition sizes on x86 and similar images for now"
This reverts commit fcce9e5295.

The x86-generic kernel does not fit into 4MB.
2017-06-01 21:10:01 +02:00
Matthias Schiffer fcce9e5295
generic: revert to OpenWrt CC partition sizes on x86 and similar images for now
This will allow upgrading using the broken sysupgrade scripts in OpenWrt
CC without losing the configuration.

Fixes #1010
2017-05-30 03:28:31 +02:00
Matthias Schiffer a70462ff18
Update Gluon packages
Switch sha512sum to sha256sum to match updated autoupdater.
2017-02-25 01:28:07 +01:00
Matthias Schiffer 31d3f08f25
treewide: convert all LuCI-based packages to gluon-web 2017-02-22 01:31:25 +01:00
Christof Schulze b40d94111e build: add GLUON_DEBUG flag, if enabled set CONFIG_DEBUG and do not strip binaries (#1028) 2017-02-11 23:33:07 +01:00
Matthias Schiffer 78b2775eec
Use LEDE as base for Gluon 2017-01-18 17:21:43 +01:00