298 Commits
Author SHA1 Message Date
Tianling Shen 2abf273729 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-05-11 14:58:54 +08:00
Andre HeiderandRobert Marko e3271a6786 treewide: remove unused archs leftovers
These are all unused by the current targets, clean up and stop
irritating the user with irrelevant grep results.

Signed-off-by: Andre Heider <a.heider@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23240
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-05-07 10:58:47 +02:00
Tianling Shen 7d2599cc6e Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-03-05 17:04:21 +08:00
Robert Marko 17139e35b1 targets: add REGULATOR_SUPPORT auto-feature
Not all targets need regulator support, so they dont enable it as its
disabled in the generic config by default.

So, in order to allow kernel modules to depend on regulator support lets
add a new feature flag "regulator" and set it automatically if target
kernel config enables CONFIG_REGULATOR.

Link: https://github.com/openwrt/openwrt/pull/22172
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-03-01 10:59:19 +01:00
Tianling Shen 9ebbd6be97 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2026-01-27 18:12:15 +08:00
George SapkinandRobert Marko 87b72fefcb build: purge DESCRIPTION
DESCRIPTION field has been deprecated since 2007, yet internal exporting
causes intermittent package build failures due to the deprecation check,
even with packages that don't have that fields set. Replace all
DESCRIPTION exports with alternative variables defined through shexport
and shvar helpers and remove the check.

Fixes: 547b127d ("make kernel module packaging code reusable and use it in madwifi")
Fixes: 7558f028 ("DESCRIPTION:= is obselete, so complain if it is used and use TITLE if no description is set")
Fixes: cc435322 ("build: optimize target metadata dump")
Fixes: d081edf7 ("build: clean up and optimize ipkg control generator code")
Signed-off-by: George Sapkin <george@sapk.in>
Link: https://github.com/openwrt/openwrt/pull/21668
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-01-24 11:03:40 +01:00
Tianling Shen 65b90c2f89 target: remove luci-compat and kmod-nf-nathelper-extra from default packages
kmod-nf-nathelper-extra seems conflict with some network applications.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-29 15:42:37 +08:00
Tianling Shen 7bbb3b3611 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-09-28 16:33:23 +08:00
Hauke Mehrtens 878f31c210 build: remove iwinfo dependency
Do not always try to include iwinfo in the images when wpa supplicant or
Broadcom nas is also included. iwinfo is incompatible with current
default configuration.

iwinfo is only build when CONFIG_WIFI_SCRIPTS_UCODE is not set. If
CONFIG_WIFI_SCRIPTS_UCODE is not set kmod-cfg80211 depends on iwinfo,
so it should be included in all images with wifi drivers.

The CONFIG_WIFI_SCRIPTS_UCODE option was recently changed to be active
by default.

This should fix the current buildbot build failures.

This reverts commit 6435b8bb27 ("build: include iwinfo by default
if nas or wpad(-mini) is selected")

Fixes: 04e9929c47 ("wifi-scripts: enable ucode scripts by default")
Link: https://github.com/openwrt/openwrt/pull/20211
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-09-27 22:04:57 +02:00
Tianling Shen 2242ee631d Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-07-31 13:23:20 +08:00
Sven WegenerandRobert Marko 2684fe31d0 build: use --no-print-directory for dumping subtargets
Or else we end up with "Entering directory" and "Leaving directory" from make in tmp/.targetinfo

Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
Link: https://github.com/openwrt/openwrt/pull/19326
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-07-30 23:31:26 +02:00
Tianling Shen 978f853779 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-07-22 21:39:13 +08:00
Daniel Golle 85f27367ea targets: add USES_PM auto-feature
Not all targets support power management, some older or more simple
targets don't have CONFIG_PM set. Allow kernel module packages to
depend on USES_PM to only be available on targets which got
CONFIG_PM=y in their kernel config.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-07-20 12:16:13 +01:00
Tianling Shen 4870b07ea6 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-07-20 16:30:44 +08:00
Daniel Golle 801529f725 targets: add PINCTRL_SUPPORT auto-feature
Not all targets have CONFIG_PINCTRL=y set in their kernel config.
Let's introduce a feature for that so kernel module packages which
select or depend on CONFIG_PINCTRL=y may depend on that, so we can
try to prevent leaking CONFIG_PINCTRL=y also into targets which do
not require it.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-07-19 13:54:22 +01:00
Tianling Shen 9691b5d1b2 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-04-23 17:17:35 +08:00
Mieczyslaw NalewajandFelix Fietkau 2c8fb6fa9f kernel: Fix patch folders setting for test kernel
Move kernel-version.mk include to proper place to properly set patch folders for test kernel.

Fixes: 8865dadea7

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
2025-04-23 10:29:14 +02:00
Christian Marangi 8865dadea7 kernel: move kernel version files to linux/generic directory
To further improve cleanup and maintenance usage, move the kernel
version files to target/linux/generic directory. This permits to self
contain any change to the specific generic directory instead of having
to bload the include directory of periodic changes.

In kernel-version.mk we now use GENERIC_PLATFORM_DIR provided by
target.mk. To make this work, we need to move the inclusion of
kernel-version.mk in target.mk right after GENERIC_PLATFORM_DIR is
defined.

This also comes to permit downstream project to provide a custom generic
directory and specify the kernel version complete of the hash and the
minor version without having to affect other feeds.

In such case both generic and the target directory are provided as feeds
and OpenWrt reference these specific one instead of the generic one.

For downstream it's still suggested and preferable to all match the
shipped generic kernel minor version but this change permits to at least
enforce good practice instead of having to bloat OpenWrt include file of
all kind of downstream changes (making porting to OpenWrt mainline even
more difficult)

Link: https://github.com/openwrt/openwrt/pull/18537
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-04-22 19:22:44 +02:00
Tianling Shen bec5211deb Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-04-14 14:41:22 +08:00
Zoltan HERPAI 143569c2ed include: move generic riscv64 ISA to rv64gc
The current CFLAGS (rv64imafdc) for the riscv64 targets do not contain
the full generic compute extension (g), as that also includes the
zicsr and zifencei extensions/instructions. Rename the default ISA to
'generic' to add distinction to the current binaries (although it's very
minimal), and use rv64gc for CFLAGS.

This is also a prep step for the upcoming gcv (vector-extension supporting)
targets like the Spacemit K1, and the thead-cores like the TH1520.

Compile-tested: all riscv64 targets
Runtime-tested:
 - SiFive Unleashed (FU540)
 - SiFive Unmatched (FU740)
 - Nezha D1 (D1)
 - VisionFive2 (JH7110)

Link: https://github.com/openwrt/openwrt/pull/18094
Tested-by: Chuanhong Guo <gch981213@gmail.com> # siflower target
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2025-04-13 16:43:31 +02:00
Tianling Shen 901823ec44 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2025-03-30 00:43:08 +08:00
Weikai KongandRobert Marko 2adc6293f4 target.mk: Fix features detection for PWM
kmod-leds-pwm depends on @PWM_SUPPORT, instead of adding pwm to the
features env for specific targets, use the existing detection method.

Signed-off-by: Weikai Kong <priv@pppig236.com>
Link: https://github.com/openwrt/openwrt/pull/18185
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-03-28 12:38:33 +01:00
Tianling Shen 08e44a6900 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-12-03 14:27:52 +08:00
John Crispin 5c12fe45b9 target/metadata: set OpenWrt One as the default menuconfig target/profile
Signed-off-by: John Crispin <john@phrozen.org>
2024-12-02 13:55:36 +01:00
Tianling Shen 6f07609c65 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-11-27 21:59:45 +08:00
Petr Štetiar 341cc047b9 Revert "target,base-files: unify handling of procd-ujail"
This reverts commit ac640718aa as it
removes base-files package when KERNEL_NAMESPACES is deselected, as
base-files depends on procd-ujail which needs KERNEL_NAMESPACES.

Fixes: #17075
Link: https://github.com/openwrt/openwrt/pull/17081
Link: https://github.com/openwrt/openwrt/pull/17081
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-26 05:07:33 +00:00
MkQtSandTianling Shen 572fa41dfb target.mk: rename luci-app-opkg to luci-app-package-manager 2024-11-21 17:45:44 +08:00
Tianling Shen bdcb4e7cf8 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-11-18 11:57:38 +08:00
Petr ŠtetiarandRobert Marko ac640718aa target,base-files: unify handling of procd-ujail
Remove the remaining special handling of procd-ujail in a same way as
the rest of the packages was handled in the commit 4c65359af4 ("build:
fix including busybox, procd and apk/opkg in imagebuilder").

Fixes: 44598c233d ("build: remove broken dependency of metadata on toplevel .config variables")
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Link: https://github.com/openwrt/openwrt/pull/16986
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-11-17 19:29:06 +01:00
Tianling Shen 1c8d86eb3a Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-11-13 14:24:28 +08:00
Sergey MatsievskiyandChristian Marangi a72c8c7705 build: add comments to makefiles
Add comments to build system makefile functions and variables to help
developers in understanding build system internals and ease the
development process.

This patch adds some documentation examples with proposed doxygen-like
syntax. Hopefully, this would start the discussion and result in
generation of the makefile documentation guidelines.

Signed-off-by: Sergey Matsievskiy <matsievskiysv@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16888
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-11-12 17:56:07 +01:00
Tianling Shen 4fa04343dd Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-11-12 12:29:27 +08:00
Felix Fietkau 44598c233d build: remove broken dependency of metadata on toplevel .config variables
Instead of relying on .config symbols for metadata, alter the DEFAULT
variable of affected packages. Fixes enabling opkg vs apk among others.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-11-11 19:53:43 +01:00
Tianling Shen da5b1e13f4 ipv6-helper: drop package
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-10-07 20:35:12 +08:00
Tianling Shen 18e245b0e6 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-07-18 22:47:25 +08:00
Martin Schiller 02488176b7 target.mk: init default configs if they are missing in the .config
The config options that are enabled by default and where other default
packages depends on should not only be set if there is no .config file,
but also if the .config exists but the config option (e.g.
CONFIG_SECCOMP) is missing in the file.

This is relevant, for example, if you are working with .config templates
and then want to complete the configuration using make defconfig.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2024-07-18 14:15:49 +02:00
Martin Schiller ed14add1ef target.mk: further improve handling of default enabled SECCOMP
The fix in commit 847fad476f ("target.mk: improve handling of default
enabled SECCOMP") unfortunately does not work for targets where the ARCH
variable is set in ./$(SUBTARGET)/target.mk.

To get this working, the ./$(SUBTARGET)/target.mk must be included
before the check.

Fixes: 847fad476f ("target.mk: improve handling of default enabled SECCOMP")
Signed-off-by: Martin Schiller <ms@dev.tdt.de>
2024-07-18 14:15:49 +02:00
Tianling Shen 9c9fb94772 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-07-04 14:10:18 +08:00
Lu jicongandChristian Marangi d55083fbca target.mk: fix arm architecture level detection
Now kernel configs of armv6k CPUs don't include CONFIG_CPU_V6.
So armv6k CPUs cannot be detected as arm_v6.
Fix this by adding detection for CONFIG_CPU_V6K.

Signed-off-by: Lu jicong <jiconglu58@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15855
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-07-03 13:09:47 +02:00
Tianling Shen db35b0ef9f Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-06-21 02:27:01 +08:00
Christian Marangi 847fad476f target.mk: improve handling of default enabled SECCOMP
Handling default packages selection is really problematic and error
prone. In all the changes, the SECCOMP config is enabled by default if
supported by the target.

This is problematic for the scenario of the first .config creation where
this option will be enabled by default but the package default are
already being parsed.

This cause the reparsing of the default package on the next command and
the "outdated config" error. To better handle this special case, add
additiona logic to match the dependency in the config and check if
CONFIG_SECCOMP should be enabled by default in the scenario where a
.config needs to be init and doesn't exist.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-06-19 16:19:10 +02:00
Tianling Shen 7141d24852 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-06-13 02:12:22 +08:00
Christian Marangi 9a52ec4fa0 toplevel.mk: implement logic to invalidate targetinfo with some config
Implement some logic to invalidate targetinfo files in tmp with the
changing of some config.

Some config might affect DEFAULT_PACKAGES list but DEFAULT_PACKAGES is
only evaluated once. This cause the interesting scenario where someone
install feeds packages, targetinfo is evaluated in tmp and then add some
config like CONFIG_USE_APK. Using make defconfig will still select OPKG
as default package as DEFAULT_PACKAGES in targetinfo has been already
evaluated in the feeds install and is never updated.

To handle this add some logic in toplevel.mk to cache the current state
of these special config and wipe targetinfo when these change.

This cause the targetinfo to be reevaluated and handle this REALLY
corner case.

Link: https://github.com/openwrt/openwrt/pull/15543
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-06-11 23:58:16 +02:00
Christian Marangi 98703bf458 target.mk: add support to early scan of default package configuration
There is currently a problem with how some option that modify default
package configuration are parsed.

When the DEFAULT_PACKAGES list is composed, DUMP is used. Using DUMP
disable the loading of .config to remove and modification done by the
user to prevent any kind of conflict or strange thing one creating all
the info for each target. Because of this, .config is never parsed and
any check to CONFIG doesn't work (for the first creation of .config).

Later image build will check what is set in .config and the default
package list won't be parsed anymore.

This is problematic for some config that are OK to parse, for example
SELINUX or USE_APK.

To better handle them add some logic when DUMP is used to selectively
parse these option if present in a to-be-init .config so that option are
correctly parsed and DEFAULT_PACKAGES is correctly set.

Link: https://github.com/openwrt/openwrt/pull/15543
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-06-11 23:58:16 +02:00
Paul SpoorenandChristian Marangi 2c769cff23 target: install apk-mbedtls by default
since the split of APK in mbedtls and openssl version, installing `apk`
as default package doesn't do the trick anymore. Instead specify
`apk-mbedtls` directly.

Signed-off-by: Paul Spooren <mail@aparcar.org>
Link: https://github.com/openwrt/openwrt/pull/15543
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-06-11 23:58:15 +02:00
Tianling Shen 7087c37522 Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-05-19 16:49:31 +08:00
Paul Spooren d788ab376f build: add APK package build capabilities
A new option called `USE_APK` is added which generated APK packages
(.apk) instead of OPKG packages (.ipk).

Some features like fstools `snapshot` command are not yet ported

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-05-17 23:21:26 +03:00
Tianling Shen 09c658642e Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-05-04 15:57:59 +08:00
Weijie GaoandChuanhong Guo 7fcb82665e loongarch64: new target
Add target for Loongson LoongArch64-based boards.

LoongArch is a new RISC ISA developed by Loongson. It's a bit like
MIPS or RISC-V. LoongArch includes both 32-bit and 64-bit versions
(LoongArch32/LoongArch64).

Loongson 3A5000 and 3A6000 are the two existing CPUs of LoongArch64
and is used for PC products. It's BIOS supports ACPI and UEFI-only
boot. These CPUs supports SMP and SMT.

At present only LoongArch64 is supported by linux kernel.

Toolchain requirement:
binutils >= 2.40
gcc >= 13.1

For details, please check the following links:
https://lwn.net/Articles/861951/
https://loongson.github.io/LoongArch-Documentation/README-EN.html

Signed-off-by: Weijie Gao <hackpascal@gmail.com>
2024-05-04 14:14:16 +08:00
Tianling Shen 5c56de05dd include/target: remove 'luci-lib-fs' from 'tweak' set
luci-app-filetransfer seems to be the only user of it, which got removed
earlier. Remove this package too.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-04-09 23:29:17 +08:00