424 Commits

Author SHA1 Message Date
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
Tianling Shen
c5048f245b
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-02-04 15:56:19 +08:00
Felix Fietkau
e772b75d5d broadcom-wl: remove package
Also remove remaining wireless extension support, since this package
was the only in-tree user of it

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-02-03 16:16:36 +01:00
Tianling Shen
3db6161c85
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-01-20 13:01:37 +08:00
Cedric DOURLENT
869f8b21e7 build: add option for building with stack-protector-all
The GCC option -fstack-protector-all is a security feature used to protect against stack-smashing attacks.
This option enhances the stack-smashing protection provided by -fstack-protector-strong.
-fstack-protector-all option applies stack protection to all functions, regardless of their characteristics.
While this offers the most comprehensive protection against stack-smashing attacks, it can significantly impact
the performance of the program because every function call includes additional checks for stack integrity.
This option can incur a performance penalty because of the extra checks added to every function call,
but it significantly enhances security, making it harder for attackers to exploit buffer overflows to execute arbitrary code.
It's particularly useful in scenarios where security is paramount and performance trade-offs are acceptable.

Signed-off-by: Cedric DOURLENT <cedric.dourlent@softathome.com>
2024-01-19 21:27:14 +01:00
Tianling Shen
a97a7d4575
qualcommax: disable BTF by default
The newly added device Linksys MX4200, however, has limited kernel
partition and it's too small to place BTF kernel there.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2024-01-11 10:40:42 +08:00
Tianling Shen
43d8ab5600
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-11-30 17:22:48 +08:00
Hauke Mehrtens
4211eab085 target: Make TARGET_SERIAL independent of GRUB configuration
GRUB_SERIAL is also used for the default serial on the target and not
only in grub. When no grub was build it was not available and the build
fails.

Rename GRUB_SERIAL to TARGET_SERIAL and make it always available on x86
and armsr targets.

Fixes: #14063
Fixes: b10768476f9d ("x86,armsr: interpolate GRUB_SERIAL into /etc/inittab")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2023-11-29 23:43:01 +01:00
Tianling Shen
31f2c18a35
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-11-10 13:02:09 +08:00
Rafał Miłecki
4fb8e68bc4 kernel: provide better control & help for SLUB configuration
Allow selecting KERNEL_SLUB_DEBUG and KERNEL_SLUB_DEBUG_ON manually and
provide detailed help for both.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-11-09 21:23:01 +01:00
Tianling Shen
2f82b4d83f
Config-kernel: enable BTF for ipq806x/chromium by default
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-11-03 19:04:25 +08:00
Tianling Shen
3f9bf2c41b
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-11-02 12:47:23 +08:00
Petr Štetiar
d604a07225
build: add CycloneDX SBOM JSON support
CycloneDX is an open source standard developed by the OWASP foundation.
It supports a wide range of development ecosystems, a comprehensive set
of use cases, and focuses on automation, ease of adoption, and
progressive enhancement of SBOMs (Software Bill Of Materials) throughout
build pipelines.

So lets add support for CycloneDX SBOM for packages and images
manifests.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2023-11-01 11:14:41 +00:00
Tianling Shen
3077a06278
kernel: xdp-sockets-diag: adjust dependency
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-08-17 21:31:54 +08:00
Tianling Shen
a37b79d082
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-08-16 14:36:05 +08:00
Mathew McBride
76d4a7c84a kernel: default ARM_PMU on for armsr/armv8
CONFIG_ARM_PMU (Arm Performance Monitor Unit) is a requirement
to use KVM (virtualization) from Linux 5.11+, as the virtualised
guest has virtualized PMU access.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
2023-08-15 15:55:00 +02:00
Tianling Shen
772e135630
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-08-11 08:33:22 +08:00
Zhen XIN
d2af5ab850 build: Add option KERNEL_KASAN_SW_TAGS and HW_TAGS
Currently KASAN is supported but only the generic one. SW-tag and HW-tag
based KASAN have less impact on memory footprint or performance, and are
worth supporting.

Add choice menu for software and hardware Tag-Based KASAN, in addition
to the generic one.

Signed-off-by: Zhen XIN <zhen.xin@nokia-sbell.com>
[Restructure commit message]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2023-08-10 23:09:37 +02:00
Tianling Shen
1abf539b41
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-07-08 16:21:58 +08:00
Tianling Shen
06e64f9b36 kernel: modules: add xdp-sockets-diag support
Support for PF_XDP sockets monitoring interface used by the ss tool.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-07-05 20:02:12 +02:00
Tianling Shen
94812e90ec
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-07-05 20:40:39 +08:00
Andre Heider
65a716bb95
config: add a knob to use the mold linker for packages
Building it requires gcc >= 10.2 or clang >= 12.

Using sstrip with its -z argument can produce non-working binaries, like
a segfaulting `getrandom`, so don't allow that combination.

Signed-off-by: Andre Heider <a.heider@gmail.com>
2023-07-04 20:25:40 +02:00
Andre Heider
d026b19cdc
build: replace SSTRIP_ARGS with SSTRIP_DISCARD_TRAILING_ZEROES
sstrip only has one functional arg. Make that a bool option, which can
easily depend on other knobs then.

This is required to be disabled for the mold linker.

Signed-off-by: Andre Heider <a.heider@gmail.com>
2023-07-04 20:25:40 +02:00
Petr Štetiar
ce8c639a6c
kernel: introduce KERNEL_WERROR config option
In commit b2d1eb717b65 ("generic: 5.15: enable Werror by default for
kernel compile") CONFIG_WERROR=y was enabled and all warnings/errors
reported with GCC 12 were fixed.

Keeping this in sync with past/future GCC versions is going to be uphill
battle, so lets introduce new KERNEL_WERROR config option, enable it by
default only for tested/known working combinations and on buildbots.

References: #12687
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2023-07-04 07:14:22 +02:00
Tianling Shen
c47fe16af0
kernel: disable BTF for sifiveu and 32bit x86 by default
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-06-27 16:01:37 +08:00
Tianling Shen
b0063446b8
Merge Official Source
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-06-17 14:19:10 +08:00
Robert Marko
f02f6aaa8d
ipq807x: rename target to qualcommax
Currently, ipq807x only covers Qualcomm IPQ807x SoC-s.
However, Qualcomm also has IPQ60xx and IPQ50xx SoC-s under the AX WiSoC-s
and they share a lot of stuff with IPQ807x, especially IPQ60xx so to avoid
duplicating kernel patches and everything lets make a common target with
per SoC subtargets.

Start doing that by renaming ipq807x to qualcommax so that dependencies
on ipq807x target can be updated.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2023-06-16 11:11:08 +02:00