summaryrefslogtreecommitdiffstats
path: root/config
Commit message (Collapse)AuthorAgeFilesLines
* config: kernel: remove KASAN_EXTRAQingfang Deng2024-06-071-10/+0
| | | | | | The option has been removed from the kernel since 5.1. Signed-off-by: Qingfang Deng <dqfext@gmail.com>
* build: add option KERNEL_DEBUG_INFO_BTF_MODULESTony Ambardar2024-05-311-2/+5
| | | | | | | | | | | | 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>
* build: add APK package build capabilitiesPaul Spooren2024-05-171-0/+3
| | | | | | | | | 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>
* config: build: dont allow STRIP_KERNEL_EXPORTS on kernel 6.6Robert Marko2024-05-161-0/+1
| | | | | | | | | | | | 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>
* config: add ARM PMUv3 for kernel 6.6Robert Marko2024-05-141-0/+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>
* loongarch64: new targetWeijie Gao2024-05-041-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* mediatek: increase size of the sdcard image to 512 MiBDaniel Golle2024-05-021-0/+1
| | | | | | | | | | | | | | | | | | | | | 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>
* config: select KERNEL_WERROR if building with default GCC versionDaniel Golle2024-04-081-2/+0
| | | | | | | | | | | | | | | | 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>
* config: Enable ext4 journaling by default.Jordan Woyak2024-03-291-0/+1
| | | | | | | | | | 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>
* kernel: support RISC-V PMUQingfang Deng2024-03-231-0/+10
| | | | | | Add RISC-V PMU config symbols and enable them for riscv64. Signed-off-by: Qingfang Deng <dqfext@gmail.com>
* kernel: enable KASAN option for more architecturesQingfang Deng2024-03-081-1/+1
| | | | | | | 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>
* broadcom-wl: remove packageFelix Fietkau2024-02-031-15/+0
| | | | | | | 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>
* build: add option for building with stack-protector-allCedric DOURLENT2024-01-191-0/+2
| | | | | | | | | | | | | 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>
* target: Make TARGET_SERIAL independent of GRUB configurationHauke Mehrtens2023-11-291-6/+7
| | | | | | | | | | | | | 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>
* kernel: provide better control & help for SLUB configurationRafał Miłecki2023-11-091-2/+15
| | | | | | | 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>
* build: add CycloneDX SBOM JSON supportPetr Štetiar2023-11-011-0/+8
| | | | | | | | | | | | | 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>
* kernel: default ARM_PMU on for armsr/armv8Mathew McBride2023-08-151-0/+1
| | | | | | | | 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>
* build: Add option KERNEL_KASAN_SW_TAGS and HW_TAGSZhen XIN2023-08-101-4/+61
| | | | | | | | | | | | | 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>
* kernel: modules: add xdp-sockets-diag supportTianling Shen2023-07-051-0/+6
| | | | | | Support for PF_XDP sockets monitoring interface used by the ss tool. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* config: add a knob to use the mold linker for packagesAndre Heider2023-07-042-1/+26
| | | | | | | | | 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>
* build: replace SSTRIP_ARGS with SSTRIP_DISCARD_TRAILING_ZEROESAndre Heider2023-07-041-6/+4
| | | | | | | | | 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>
* kernel: introduce KERNEL_WERROR config optionPetr Štetiar2023-07-041-0/+16
| | | | | | | | | | | | | 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>
* ipq807x: rename target to qualcommaxRobert Marko2023-06-161-1/+1
| | | | | | | | | | | | | 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>
* config: change references from armvirt to armsrMathew McBride2023-06-101-5/+5
| | | | | | | armvirt target has been renamed to armsr (Arm SystemReady), so the config defaults need to be changed as well. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* build: enable vmdk/vmware images for arm64 targetMathew McBride2023-06-021-1/+1
| | | | | | This is useful for VMware's ARM64 products, e.g Fusion for M1/ARM Macs. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* build: use 128MiB as the boot/kernel partition size on armvirt targetMathew McBride2023-06-021-0/+1
| | | | | | | | | | | | | | | | The nominal partition type for EFI boot partitions is FAT32, which has a minimum size of 32MiB on a 512-byte-sector block device. To ensure that the boot partition is created as FAT32 set a size well above this minimum. A useful discussion about EFI partition sizes can be found here: https://superuser.com/questions/1310927/what-is-the-absolute-minimum-size-a-uefi-system-partition-can-be I have found 128MiB works pretty consistently across both tools (mkfs.fat) and firmwares (EDKII) Signed-off-by: Mathew McBride <matt@traverse.com.au>
* grub2: enable EFI for armvirtMathew McBride2023-06-021-4/+5
| | | | | | | | | | | This adds a separate package for EFI on Arm SystemReady compatible machines. 32-bit Arm UEFI is supported as well. It is very similar to x86-64 EFI setup, without the need for BIOS backward compatibility and slightly different default modules. Signed-off-by: Mathew McBride <matt@traverse.com.au>
* kernel: Set CONFIG_FRAME_WARN depending on targetHauke Mehrtens2023-06-021-0/+11
| | | | | | | | This set the CONFIG_FRAME_WARN option depending on some target settings. It will use the default from the upstream kernel and not the hard coded value of 1024 now. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: add MODULE_ALLOW_BTF_MISMATCH optionTianling Shen2023-05-181-0/+10
| | | | | | | | | | | BTF mismatch can occur for a separately-built module even when the ABI is otherwise compatible and nothing else would prevent successfully loading. Add a new config to control how mismatches are handled. By default, preserve the current behavior of refusing to load the module. If MODULE_ALLOW_BTF_MISMATCH is enabled, load the module but ignore its BTF information. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
* treewide: cleanup kernel symbol referencesNick Hainke2023-05-121-1/+0
| | | | | | | | | | | | | | | We only use 5.15 kernel. So remove all those unnecessary symbols referencing 5.10 or 5.15 kernel. Can be found with: git grep -E 'LINUX_5_1(0|5)' Note that we remove the dependency from "sound-soc-chipdip-dac" instead of removing the complete kernel package. The 5.15 version bump forgot to delete the "@LINUX_5_10" dependency. The kernel package is still needed in 5.15 kernel. Signed-off-by: Nick Hainke <vincent@systemli.org>
* kernel: improve handling of CONFIG_IO_URINGTony Ambardar2023-05-031-1/+2
| | | | | | | | | | | | | | | | | | | | | | Kernel setting CONFIG_IO_URING supports high-performance I/O for file access and servers, generally for more performant platforms, and adds ~45 KB to kernel sizes. The need for this on less "beefy" devices is questionable, as is the size cost considering many platforms have kernel size limits which require tricky repartitioning if outgrown. The size cost is also large relative to the ~180 KB bump expected between major OpenWRT kernel releases. No OpenWrt packages have hard dependencies on this; samba4 and mariadb can take advantage if available (+KERNEL_IO_URING:liburing) but otherwise build and work fine. Since CONFIG_IO_URING is already managed via the KERNEL_IO_URING setting in Config-kernel.in (default Y), remove it from those target configs which unconditionally enable it, and update the defaults to enable it conditionally only on more powerful 64-bit x86 and arm devices. It may still be manually enabled as needed for high-performance custom builds. Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* build: add a config knob to enable LTO for all packagesAndre Heider2023-03-211-0/+7
| | | | | | This enables LTO for all packages which haven't opted-out. Signed-off-by: Andre Heider <a.heider@gmail.com>
* build: add a config knob to enable gc-sections for all packagesAndre Heider2023-03-211-0/+8
| | | | | | | This enables the linker's garbage collection for all packages which haven't opted-out. Signed-off-by: Andre Heider <a.heider@gmail.com>
* kernel: Add CONFIG_KERNEL_HARDLOCKUP_DETECTORHauke Mehrtens2023-03-191-0/+12
| | | | | | | Make it possible to change the kernel configuration option CONFIG_HARDLOCKUP_DETECTOR from OpenWrt. Signed-off-by: Hauke Mehrtens <hmehrtens@maxlinear.com>
* kernel: set default for KERNEL_BPF_KPROBE_OVERRIDEStijn Tintel2023-03-051-0/+1
| | | | | | | | | Without the default value this still causes a missing symbol. Disable by default as it depends on FUNCTION_ERROR_INJECTION, which is disabled in the generic config and we don't have a build symbol to enable that. Fixes: 500c37c56ff6 ("kernel: add missing symbol") Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* build: fix for sourcing targets image config installed via feedsPrasun Maiti2023-02-261-0/+1
| | | | | | | | Sourcing of image/Config.in will not happen When a target is installed from target/linux/feeds/ Signed-off-by: Prasun Maiti <prasunmaiti87@gmail.com> Acked-by: Petr Štetiar <ynezz@true.cz>
* kernel: set default values for ARM low level debugging symbolsRobert Marko2023-02-081-0/+6
| | | | | | | | | | | | | | | | | | | | | Set default values for KERNEL_DEBUG_LL and KERNEL_DEBUG_LL_UART_NONE again as both of these symbols are non visible if KERNEL_EARLY_PRINTK is not selected and KConfig wont write their value to .config. This usually is the intended behaviour, but in OpenWrt we are relying on the KConfig to set these and disable the debug console settings that multiple targets like mvebu have set in their kernel config. This was the behaviour before removing all of the "default n" settings as KConfig by default considers symbols disabled but they are not visible anymore and thus their value is not set in .config and build system then later does not override the values from target kernel config. So, to restore the behaviour to the previous one lets a default value for KERNEL_DEBUG_LL and KERNEL_DEBUG_LL_UART_NONE. Fixes: 8bc72ea7be39 ("treewide: strip useless default n Kconfig lines") Tested-by: Georgi Valkov <gvalkov@gmail.com> Signed-off-by: Robert Marko <robimarko@gmail.com>
* treewide: strip useless `default n` Kconfig linesTony Butler2023-02-034-67/+0
| | | | | | | | | | Kconfig docs say: > The default value deliberately defaults to 'n' in order to avoid > bloating the build. Apply this rule everywhere, to avoid more cloning of bad examples Signed-off-by: Tony Butler <spudz76@gmail.com>
* kernel: make it possible for packages to select page pool supportFelix Fietkau2023-01-291-0/+7
| | | | | | Will be used by the next mt76 update Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: fix incomplete initramfs compression optionsTony Butler2023-01-171-2/+0
| | | | | | | | | | | | Requires: tools/lz4, tools/lzop complete the wiring so that these options work: * `CONFIG_KERNEL_INITRAMFS_COMPRESSION_LZO` * `CONFIG_KERNEL_INITRAMFS_COMPRESSION_LZ4` Signed-off-by: Tony Butler <spudz76@gmail.com> [remove blocking dependencies for separate ramdisk, fix lzop options] Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* ipq807x: add Qualcomm Atheros IPQ807x targetRobert Marko2023-01-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qualcomm Atheros IPQ807x is a modern WiSoC featuring: * Quad Core ARMv8 Cortex A-53 * @ 2.2 GHz (IPQ8072A/4A/6A/8A) Codename Hawkeye * @ 1.4 GHz (IPQ8070A/1A) Codename Acorn * Dual Band simultaneaous IEEE 802.11ax * 5G: 8x8/80 or 4x4/160MHz (IPQ8074A/8A) * 5G: 4x4/80 or 2x2/160MHz (IPQ8071A/2A/6A) * 5G: 2x2/80MHz (IPQ8070A) * 2G: 4x4/40MHz (IPQ8072A/4A/6A/8A) * 2G: 2x2/40MHz (IPQ8070A/1A) * 1x PSGMII via QCA8072/5 (Max 5x 1GbE ports) * 2x SGMII/USXGMII (1/2.5/5/10 GbE) on Hawkeye * 2x SGMII/USXGMII (1/2.5/5 GbE) on Acorn * DDR3L/4 32/16 bit up to 2400MT/s * SDIO 3.0/SD card 3.0/eMMC 5.1 * Dual USB 3.0 * One PCIe Gen2.1 and one PCIe Gen3.0 port (Single lane) * Parallel NAND (ONFI)/LCD * 6x QUP BLSP SPI/I2C/UART * I2S, PCM, and TDMA * HW PWM * 1.8V configurable GPIO * Companion PMP8074 PMIC via SPMI (GPIOS, RTC etc) Note that only v2 SOC models aka the ones ending with A suffix are supported, v1 models do not comply to the final 802.11ax and have lower clocks, lack the Gen3 PCIe etc. SoC itself has two UBI32 cores for the NSS offloading system, however currently no offloading is supported. Signed-off-by: Robert Marko <robimarko@gmail.com>
* build: images: squashfs: add help, fix descriptionTony Butler2022-12-061-1/+4
| | | | | | | | | | | | | | | add help text for `TARGET_SQUASHFS_BLOCK_SIZE` to match the only valid settings accepted by `mksquashfs4` ("block size not power of two or not between 4096 and 1Mbyte") thus for this setting in "KB", the set: `4, 8, 16, 32, 64, 128, 256, 512, 1024` replace `squashfs-lzma` with `squashfs` in the description for `TARGET_ROOTFS_SQUASHFS` because it has various compressions, and not just lzma as it did in the past cosmetic change with no functional effect Signed-off-by: Tony Butler <spudz76@gmail.com>
* build: config: cleanup impossible dependency logicTony Butler2022-12-032-2/+1
| | | | | | | | | some config `depends on` lines contained outdated kernel version checks that can no longer happen and had become non-operational; clean them up cosmetic change with no functional effect Signed-off-by: Tony Butler <spudz76@gmail.com>
* Revert "build: fix for sourcing target image config a when target is being ↵Christian Marangi2022-11-091-1/+0
| | | | | | | | | | replaced" This reverts commit ce1346a8fc0ce9640a4ecbc37bc1686a25c1165d. Seems to cause buildbot compilation to fail and require more testing. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* build: fix for sourcing target image config a when target is being replacedPrasun Maiti2022-11-091-0/+1
| | | | | | | Sourcing of image/Config.in will not happen When a target is installed from target/linux/feeds/ Signed-off-by: Prasun Maiti <prasunmaiti87@gmail.com>
* scripts/download.pl: make the download tool configurableChristian Marangi2022-10-201-0/+14
| | | | | | | | | | | | | | | | | | | | | | Introduce a new option in the "Advanced configuration options" to configure a custom download tool. By declaring a string in "Use custom download tool" an user can force what command to use to download package. With the string empty the default tool used is curl, with wget as a fallback if not available. download.pl supports 3 tools officially aria2c, curl and wget. If one of the tool is used in this config, download.pl will use the default args to make use of them. If the provided string is different than aria2c, curl or wget, the command is used as is and the download url will be appended at the end of such command. While at it also tweak the tool selection logic and chose the tool only once when the script is called and move aria2c specific variables in the relevant section. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* tools: add option BUILD_ALL_HOST_TOOLS to compile all host toolsChristian Marangi2022-09-301-0/+7
| | | | | | | | Add option to compile all host tools even if not needed. This can be useful to prepare a universal precompiled host tools archive to use in another buildroot and speedup compilation. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* kernel: disable wireless extensions only when neededFelix Fietkau2022-09-221-0/+16
| | | | | | They are only needed by a few very old drivers Signed-off-by: Felix Fietkau <nbd@nbd.name>
* toolchain: Select USE_SSTRIP with external musl toolchainHauke Mehrtens2022-09-121-1/+0
| | | | | | | | | When we use the internal toolchain USE_SSTRIP will be selected by default for musl libc and USE_STRIP when glibc is used. Do the same when an external toolchain is used. USE_GLIBC will also be set for external toolchain builds based on the EXTERNAL_TOOLCHAIN_LIBC_USE_GLIBC setting. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* scripts: always check certificatesJosh Roys2022-09-101-0/+4
| | | | | | | | | | | | | | | Remove flags from wget and curl instructing them to ignore bad server certificates. Although other mechanisms can protect against malicious modifications of downloads, other vectors of attack may be available to an adversary. TLS certificate verification can be disabled by turning oof the "Enable TLS certificate verification during package download" option enabled by default in the "Global build settings" in "make menuconfig" Signed-off-by: Josh Roys <roysjosh@gmail.com> [ add additional info on how to disable this option ] Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>