450 Commits

Author SHA1 Message Date
Tianling Shen
d0c7cfe085
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-11-30 00:35:04 +08:00
Petr Štetiar
620a7ef47f
config: build: remove experimental warning from USE_APK option
apk package manager is default for some time, so lets remove the
EXPERIMENTAL warning from the related option.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:36:06 +00:00
Tianling Shen
64e0222000
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-11-25 17:33:14 +08:00
John Audia
eed39d45c2 kernel: enable pressure interface
PSI provides a canonical way to see resource pressure increases as
they develop, with pressure metrics for three major resources:
memory, CPU, and IO. PSI stats are like barometers that provide
fair warning of impending resource shortages, enabling users to
take more proactive, granular, and nuanced steps when resources
start becoming scarce.

References:
* https://www.kernel.org/doc/html/latest/accounting/psi.html
* https://lwn.net/Articles/759781/

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000
Run-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/13819
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-25 00:15:41 +01:00
Tianling Shen
c2cb2b26c7
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-11-24 23:35:44 +08:00
Robert Marko
a4bd42b790 config: dont select procd-seccomp via USE_SECCOMP
base-files is including procd-secccomp as a dependency when USE_SECCOMP
is selected, so there is no point in selecting the package directly here
as well.

Link: https://github.com/openwrt/openwrt/pull/17048
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-11-24 12:18:21 +01:00
Robert Marko
a48ec449cc config: rename SECCOMP to USE_SECCOMP
It seems that we have some kind of a symbol name conflict which causes
CONFIG_SECCOMP to always be read as y.

Unfortunatelly, I could not figure out what is causing this, but simply
renaming SECCOMP to USE_SECCOMP seems to properly work and leaves the
symbol unset unless arch dependencies are satisfied.

This fixes qoriq and others that dont support seccomp from failing due
to procd-seccomp package being selected to get included but it cannot be
built for them:
ERROR: unable to select packages:
  procd-seccomp (no such package):
    required by: base-files-1637~52b6c92479[procd-seccomp]

Fixes: 4c65359af49b ("build: fix including busybox, procd and apk/opkg in imagebuilder")
Link: https://github.com/openwrt/openwrt/pull/17048
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-11-24 12:18:21 +01:00
Tianling Shen
8e8882a231
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-11-11 20:04:56 +08:00
Paul Spooren
40b8fbaa97 config: Use APK as package manager by default
This commit comes after a long period of hard work, starting back in
early 2021 as a proof of concept.

Thanks to the Alpine Linux project for creating such a nice package
manager. Thanks to everyone involved; this is going to be great!

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-11-11 00:09:50 +01:00
Marius Dinu
cbf7be9fb3
menuconfig: add help description for Stack Smashing Protection options
Descriptions taken from:
https://wiki.osdev.org/Stack_Smashing_Protector

Signed-off-by: Marius Dinu <m95d+git@psihoexpert.ro>
Link: https://github.com/openwrt/openwrt/pull/16897
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-11-10 02:14:23 +01:00
Tianling Shen
4175867167
kernel: backport BPF-programmable network device support
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-11-04 16:16:06 +08:00
Tianling Shen
06a6df4340
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-11-03 15:08:19 +08:00
Paul Donald
2915cfb626 kernel: KERNEL_NET_L3_MASTER_DEV default to y if !SMALL_FLASH
Follow-up for 45d541bb409355f090b971d96ebebd8610ef84a7

This change allows features such as kmod-vrf

```
KERNEL_NET_L3_MASTER_DEV=n

x86_64 generic
	bzImage 6,927,360 bytes
aarch64 coretex-a53
	kernel  4,268,836 bytes

KERNEL_NET_L3_MASTER_DEV=y

x86_64 generic
	bzImage 6,931,456 bytes
aarch64 coretex-a53
	kernel  4,273,042 bytes

Delta:
x86_64 generic
	+4096 bytes
aarch64 coretex-a53
	+4206 bytes

x86_64 generic vrf.ko - 258,792 bytes
aarch64 coretex-a53 vrf.ko - 263,632 bytes
```

See:
https://forum.openwrt.org/t/vrf-support-testing-out-evpn-at-home/181108
https://forum.openwrt.org/t/please-enable-net-l3-master-dev-in-kernel-build-by-default/201825

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16819
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-11-01 11:49:09 +01:00
Tianling Shen
220a0983a5
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-10-31 16:34:58 +08:00
Daniel Golle
c8d5abd62b kernel: enable Multi-Path TCP for !SMALL_FLASH targets
Expose Kernel's CONFIG_MPTCP option and enable it by default for
!SMALL_FLASH targets.

The idea behind enabling it by default is to allow users of the binary
distribution to make use of MPTCP tunneling for link aggregation.

Using MPTCP for link aggregation is an often discussed topic in the
forum and there is even a whole OpenWrt fork (MPTCPRouter) just for that.

Enabling the kernel-side of the story by default will allow using MPTCP
on vanilla OpenWrt without having to build anything from source.

See also https://openwrt.org/docs/guide-user/network/mptcp

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-10-26 15:21:03 +01:00
Tianling Shen
e197182f1e
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-09-23 16:03:08 +08:00
Robert Marko
0556b3fdcb config: build: make STRIP_KERNEL_EXPORTS depend on BROKEN
STRIP_KERNEL_EXPORTS is currently broken on kernel 6.6 and since this
is the only kernel currently supported, we should rather make it depend
on BROKEN instead of a kernel version until its fixed.

Link: https://github.com/openwrt/openwrt/pull/16440
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-09-21 16:06:12 +02:00
Tianling Shen
0a4b5741a0
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-09-07 11:19:20 +08:00
Hauke Mehrtens
2a1dd184b7 kernel: Activate POSIX ACL for f2fs, jffs2 and tmpfs
When CONFIG_USE_FS_ACL_ATTR is set we will also activate POSIX ACL
support for the f2fs, jffs2 and tmpfs file system. This option is
activated on all targets with big flash.

Link: https://github.com/openwrt/openwrt/pull/16181
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-09-06 23:25:55 +02:00
Leo Barsky
b1435f0af8 kernel: activate *_FS_SECURITY and *_FS_ACL_ATTR options for all big flash targets
This patch activate *_FS_SECURITY and *_FS_ACL_ATTR options for all big flash memory targets.
Fixes docker error: "failed to register layer: lsetxattr security.capability /usr/bin/ping: operation not supported"
Forum discussion:
https://forum.openwrt.org/t/docker-pull-fails-failed-to-register-layer-operation-not-supported/138253

Signed-off-by: Leo Barsky <leobrsky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/16181
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-09-06 22:46:59 +02:00
Tianling Shen
288bb4facc
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-08-15 15:55:11 +08:00
Marek Behún
b51abacb5f config: kernel: Add support for configuring BTRFS to be built-in
Add the KERNEL_BTRFS_FS config option so that targets can select
whether BTRFS support must be built-in.

Select this option (alongside KERNEL_BTRFS_FS_POSIX_ACL) from the
layerscape/armv8_64b subtarget instead of enabling it in
target/linux/layerscape/armv8_64b/config-* files.

Move disabling of CONFIG_BTRFS_FS_CHECK_INTEGRITY into generic configs.

This makes it possible for OpenWRT to be built with built-in BTRFS
support on specific boards, instead of whole targets.

Signed-off-by: Marek Behún <kabel@kernel.org>
Link: https://github.com/openwrt/openwrt/pull/15990
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-08-15 00:35:17 +02:00
Tianling Shen
d7803c8d34
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-08-06 14:09:30 +08:00
Stijn Tintel
d604b2699b kernel: add missing symbol
Enabling KERNEL_DEBUG_INFO_BTF and KERNEL_KPROBE_EVENTS on 6.6 exposes
CONFIG_PROBE_EVENTS_BTF_ARGS in the kernel config. Add a build option
for it to fix build failures with KERNEL_DEBUG_INFO_BTF and
KERNEL_KPROBE_EVENTS enabled on targets using the 6.6 kernel.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2024-08-03 18:27:05 +03:00
Christian Marangi
2499c10d32
apk: limit CONFIG_IPK_FILES_CHECKSUMS config to OPKG
Limit CONFIG_IPK_FILES_CHECKSUMS config to OPKG as APK have different
way to validate package integrity (apk audit)

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-06-20 05:52:06 +02:00
Christian Marangi
cf2b689d03
Revert "apk: limit CONFIG_IPK_FILES_CHECKSUMS config to OPKG"
This reverts commit 25bbefcdd9424ed1b6ef35a39e84420fc4cce322.

Only the Config-build.in change needed to be merged and this contains
leftover from previous revision of the feature.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-06-20 05:52:05 +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
a77397e830
config: imply apk-mbedtls with USE_APK
On top of the fixup to select apk-mbedtls when USE_APK is enabled from a
new config, also imply the package when enabling the config to catch
.config that are already init.

(Having both opkg and apk installed in a system is not a problem but if
USE_APK is used, APK presence in the system is mandatory)

Link: https://github.com/openwrt/openwrt/pull/15543
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-06-11 23:58:19 +02:00
Christian Marangi
25bbefcdd9
apk: limit CONFIG_IPK_FILES_CHECKSUMS config to OPKG
Limit CONFIG_IPK_FILES_CHECKSUMS config to OPKG as APK have different
way to validate package integrity (apk audit)

Link: https://github.com/openwrt/openwrt/pull/15543
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-06-11 23:58:19 +02:00
Tianling Shen
6de93879c1
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-06-09 16:40:40 +08:00
Qingfang Deng
60ea3d6d46 config: kernel: remove KASAN_EXTRA
The option has been removed from the kernel since 5.1.

Signed-off-by: Qingfang Deng <dqfext@gmail.com>
2024-06-07 12:04:04 +02:00
Tianling Shen
02395bbf84
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-06-01 15:30:19 +08:00
Tony Ambardar
ab9bb79d8e build: add option KERNEL_DEBUG_INFO_BTF_MODULES
The recent kernel v6.6.31 update broke BTF-enabled builds since upstream
Linux added a prompt for config option DEBUG_INFO_BTF_MODULES in commit
2166cb2e21 ("bpf, kconfig: Fix DEBUG_INFO_BTF_MODULES Kconfig definition").

Fix by updating Config-kernel.in to add the option, cleaning up a related
dependency and whitespace also.

Fixes: 10d77b9bc3 ("kernel: bump 6.6 to 6.6.31")
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2024-05-31 23:50:30 +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
42b663f584
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-05-17 17:49:25 +08:00
Robert Marko
ca1c7635b9 config: build: dont allow STRIP_KERNEL_EXPORTS on kernel 6.6
STRIP_KERNEL_EXPORTS is currently not working on kernel 6.6 as there
have been major changes in the upstream kernel.

I have looked at it, and I dont think we can adapt the current patch to
work so until this is fixed lets prevent STRIP_KERNEL_EXPORTS from
being selected on 6.6.

Link: https://github.com/openwrt/openwrt/pull/15498
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-05-16 15:12:53 +02:00
Robert Marko
4341901f05 config: add ARM PMUv3 for kernel 6.6
Kernel 6.6 has moved the ARM PMUv3 driver to drivers/perf and now once
KERNEL_ARM_PMU is selected trying to build the kernel will stop with:
ARM PMUv3 support (ARM_PMUV3) [N/y/?] (NEW)

So, lets enable ARM_PMUV3 for ARMv7 and ARMv8 architectures if
KERNEL_PERF_EVENTS is selected.

Fixes: #15466
Link: https://github.com/openwrt/openwrt/pull/15469
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-05-14 13:23:57 +02:00
Tianling Shen
09c658642e
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-05-04 15:57:59 +08:00
Weijie Gao
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
Daniel Golle
918d81a3ea mediatek: increase size of the sdcard image to 512 MiB
Increasing the size of the rootfs_data filesystem has become a ever
repeating discussion and seems to be the most important thing for
users of the MediaTek-based BananaPi boards.

Using the whole remaining size of a microSD or the eMMC for rootfs_data
doesn't make sense for many reasons, but neither does the current
default of 104 MiB for the 'rootfs' partition size.

Increase the 'rootfs' partition size to 448 MiB which will result in
the sdcard image being exactly 512 MiB. Finding a microSD card smaller
than 512 MiB and still working could anyway be difficult in 2024.

That will allow users to install even bloatware written in Go or other
space-hungry languages while still leaving most of the space unallocated
for additional partitions or volumes to be used for persistent user
data.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-05-02 14:58:31 +01:00
Daniel Golle
501ef81040 config: select KERNEL_WERROR if building with default GCC version
At the moment we have to manually follow the default GCC version
also in config/Config-kernel.in. This tends to be forgotten at GCC
version bumps (just happened when switching from version 12 to 13).
Instead, introduce a hidden Kconfig symbol which implies KERNEL_WERROR
in toolchain/gcc/Config.in where it is visible for developers changing
the default version.

Also remove the explicit default on BUILDBOT to avoid a circular
dependency and also because buildbots anyway implicitly always select
the default GCC version.

Reference: https://github.com/openwrt/openwrt/pull/15064
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-04-08 01:40:15 +01:00
Tianling Shen
acd9f15ee2
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-03-30 01:38:51 +08:00
Jordan Woyak
f9f2426e39 config: Enable ext4 journaling by default.
Not having a journal by default is a major "gotcha".

Because openwrt does not fsck on boot, a power loss without journaling
can result in a dirty filesystem that openwrt will mount as read-only
which requires intervention to restore the router to working order.

Signed-off-by: Jordan Woyak <jordan.woyak@gmail.com>
2024-03-29 17:49:53 +01:00
Tianling Shen
4d22a8a2c4
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-03-24 21:24:08 +08:00
Qingfang Deng
686cc58c10 kernel: support RISC-V PMU
Add RISC-V PMU config symbols and enable them for riscv64.

Signed-off-by: Qingfang Deng <dqfext@gmail.com>
2024-03-23 17:28:55 +01:00
Tianling Shen
3e82899a72
kernel: enable BTF by default only in buildbot
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-03-19 13:02:05 +08:00
Tianling Shen
f6a1194762
kernel: add missing Kconfig symbol
Signed-off-by: Tianling Shen <cnsztl@gmail.com>
2024-03-15 18:30:24 +08:00
Tianling Shen
01bf2bdda1
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@gmail.com>
2024-03-09 13:53:56 +08:00
Qingfang Deng
a646e4f697 kernel: enable KASAN option for more architectures
KASAN has supported more architectures, such as ARM, PPC32 and RISC-V 64.
Enable KASAN option for those architectures.

Signed-off-by: Qingfang Deng <dqfext@gmail.com>
2024-03-08 16:07:48 +08:00