aboutsummaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* build: switch VERSION_REPO to HTTPSPaul Spooren2020-08-311-1/+1
| | | | | | | | | | | The variable VERSION_REPO is used by opkg to download package(list)s. Now that the default installation support encrypted HTTP opkg should make use of it. Suggested-by: Petr Štetiar <ynezz@true.cz> Suggested-by: Baptiste Jonglez <baptiste@bitsofnetworks.org> Signed-off-by: Paul Spooren <mail@aparcar.org> Acked-by: Baptiste Jonglez <baptiste@bitsofnetworks.org>
* build: sort default packages and split by newlinesPaul Spooren2020-08-311-3/+32
| | | | | | | | The line of default packages became very long and it is easier to read one package per line, therefore split it by newlines and sort it alphabetically. Signed-off-by: Paul Spooren <mail@aparcar.org>
* build: add libustream and certs to default pkgsPaul Spooren2020-08-311-1/+1
| | | | | | | | | | | | | To allow HTTPS usage on a router it requires both certificates (ca-bundle) and a fitting libustream library (libustream-wolfssl) By adding both, uclient-fetch and wget can connect to encrypted HTTP. This allows opkg to update package lists in a more secure fashion. Suggested-by: Petr Štetiar <ynezz@true.cz> Suggested-by: Baptiste Jonglez <baptiste@bitsofnetworks.org> Signed-off-by: Paul Spooren <mail@aparcar.org>
* build: store SourceDateEpoch in manifestPaul Spooren2020-08-311-0/+1
| | | | | | | | The usage of granular `SOURCE_DATE_EPOCH` for packages is an incrementing integer which could be useful for downstream tooling, therefore add it to the packages manifest. Signed-off-by: Paul Spooren <mail@aparcar.org>
* build: store granular timestamps in packagesPaul Spooren2020-08-311-0/+1
| | | | | | | | | | | | | | With the new `SOURCE` argument of `get_source_date_epoch` it is possible to set package timestamps based on actual package changes rather thane $TOPDIR changes. This commit adds a new variable PKG_SOURCE_DATE_EPOCH which is used by the `ipkg` build script. As a fallback the existing SOURCE_DATE_EPOCH is used or as last resort the current time. The redundant checks for `.git/` and `.svn/` are removed. Signed-off-by: Paul Spooren <mail@aparcar.org>
* build: ipkg-build use fakeroot with PKG_FILE_MODESPaul Spooren2020-08-311-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `ipkg-build` script converts a folder into a `opkg` installable package. Until now it would use root:root for all packages and try to preserve file modes. This has the two drawbacks of packages want to add non-root files or add SUID files, like the `sudo` package does. To give more flexibility regarding file modes and avoid init script hacks, a new variable called `PKG_FILE_MODES`. The variable contains a list of files modes in the format `path:owner:group:mode`. An example for the `sudo` package below: ``` PKG_FILE_MODES:=\ /usr/bin/sudo:root:root:4755 \ /etc/sudoers:root:root:0440 ``` The `ipkg-build` now runs within a fakeroot environment to set any mode and directly store it in the resulting `ipk` package archive. Both options `-o` and `-g` are no longer required due to the introduction of the more flexible `-m` options, which takes the `PKG_FILE_MODES` as input. Lastly the option `-c` is removed as it's unused within the script. Signed-off-by: Paul Spooren <mail@aparcar.org>
* build: add support for SELinux to include/image.mkThomas Petazzoni2020-08-311-1/+18
| | | | | | | | | This allows the build process to prepare a squashfs filesystem for use with SELinux. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> [rebase, add commit message] Signed-off-by: W. Michael Petullo <mike@flyn.org>
* kernel: bump 5.4 to 5.4.61John Audia2020-08-301-2/+2
| | | | | | | | | | | | | | | | | | | Manually merged: backport-5.4 011-kbuild-export-SUBARCH.patch layerscape 701-net-0262-net-dsa-ocelot-add-tagger-for-Ocelot-Felix-switches.patch All other modifications made by update_kernel.sh Build-tested: x86/64, lantiq/xrx200, ramips/mt7621 Run-tested: ipq806x (R7800), lantiq/xrx200, x86/64, ramips (RT-AC57U) No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> [minor commit message adjustments] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* cmake: Disable use of package registriesJeffery To2020-08-241-0/+12
| | | | | | | | | | | | | | | | | CMake provides a user package registry (stored in ~/.cmake/packages) and a system package registry (not available on non-Windows platforms). The "export(PACKAGE)" command may store information in the user package registry, and the "find_package()" command may search both user and system package registries for information. This sets various variables to disable the use of these package registries (both saving and retrieval of package information). This also sets deprecated variables that perform similar functions, in case external toolchains include older versions of CMake. Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* kernel: bump 5.4 to 5.4.60Adrian Schmutzler2020-08-241-2/+2
| | | | | | | | | | | | | | | | | | | | Deleted upstream patches: generic: 041-genirq-affinity-Make-affinity-setting-if-activated-o.patch ipq806x: 093-5-v5.8-ipq806x-PCI-qcom-Define-some-PARF-params-needed-for-ipq8064-SoC.patch 093-6-v5.8-ipq806x-PCI-qcom-Add-support-for-tx-term-offset-for-rev-2_1_0.patch Merged manually: ipq806x: 093-4-v5.8-ipq806x-PCI-qcom-Use-bulk-clk-api-and-assert-on-error.patch layerscape: 804-crypto-0016-MLKU-114-1-crypto-caam-reduce-page-0-regs-access-to-.patch Build-tested: ath79/generic, ipq806x, layerscape/armv7, layerscape/armv8_64b Run-tested: ipq806x (R7800) Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 5.4 to 5.4.59Adrian Schmutzler2020-08-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | Removed since added upstream: bcm27xx: 950-0428-staging-vchiq_arm-Add-a-matching-unregister-call.patch lantiq: 0800-spi-lantiq-ssc-Fix-warning-by-using-WQ_MEM_RECLAI.patch Manually adjusted patches: layerscape: 801-audio-0005-Revert-ASoC-fsl_sai-Add-support-for-SAI-new-version.patch Build-tested: ath79/generic, ramips, lantiq/xrx200, lantiq/xway, mvebu/cortexa9, sunxi/a53 Run-tested: ipq806x (R7800), layerscape (LS1012A-FRDM, LS1046A-RDB) Building on layerscape is only possible with workaround from PR #3179. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-By: John Audia <graysky@archlinux.us> [ipq806x] Tested-by: Pawel Dembicki <paweldembicki@gmail.com> [layerscape]
* kernel: bump 5.4 to 5.4.58John Audia2020-08-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This PR is a blend of several kernel bumps authored by ldir taken from his staging tree w/ some further adjustments made by me and update_kernel.sh Summary: Deleted upstreamed patches: generic: 742-v5.5-net-sfp-add-support-for-module-quirks.patch 743-v5.5-net-sfp-add-some-quirks-for-GPON-modules.patch bcm63xx: 022-v5.8-mtd-rawnand-brcmnand-correctly-verify-erased-pages.patch 024-v5.8-mtd-rawnand-brcmnand-fix-CS0-layout.patch mediatek: 0402-net-ethernet-mtk_eth_soc-Always-call-mtk_gmac0_rgmii.patch Deleted patches applied differently upstream: generic: 641-sch_cake-fix-IP-protocol-handling-in-the-presence-of.patch Manually merged patches: generic: 395-v5.8-net-sch_cake-Take-advantage-of-skb-hash-where-appropriate.patch bcm27xx: 950-0132-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch layerscape: 701-net-0231-enetc-Use-DT-protocol-information-to-set-up-the-port.patch Build system: x86_64 Build-tested: ath79/generic, bcm27xx/bcm2708, bcm27xx/bcm2711, imx6, mvebu/cortexa9, sunxi/a53 Run-tested: Netgear R7800 (ipq806x) No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> Tested-By: Lucian Cristian <Lucian.cristian@gmail.com> [mvebu] Tested-By: Curtis Deptuck <curtdept@me.com> [x86/64] [do not remove 395-v5.8-net-sch_cake-Take-advantage-... patch, adjust and refresh patches, adjust commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-By: John Audia <graysky@archlinux.us> [ipq806x]
* build: fix README.md reference after renameAdrian Schmutzler2020-08-121-1/+1
| | | | | | | | | | | | The README file is displayed on "make help", but updating the command has been overlooked during the README -> README.md rename. Fix it. Fixes: d0113711a31f ("README: port to 21st century") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: replace `which` with `command -v`Paul Spooren2020-08-121-3/+3
| | | | | | | | | | | | | | | | | Fix shellcheck SC2230 > which is non-standard. Use builtin 'command -v' instead. Using `command -v` is POSIX compliant while `which` is not. Also to mention, `command -v` is a shell builtin whereas `which` is a separate busybox applet. Once applied to everything concerning OpenWrt we can disable the busybox feature `which` and save 3.8kB. Acked-by: Stijn Tintel <stijn@linux-ipv6.be> Signed-off-by: Paul Spooren <mail@aparcar.org> [also replace cases in zram-swap] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: Update kernel 4.14 to version 4.14.193Hauke Mehrtens2020-08-101-2/+2
| | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Update kernel 4.19 to version 4.19.138Hauke Mehrtens2020-08-101-2/+2
| | | | | | Compile and run tested on lantiq/xrx200 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* build: improve message for incompatible image on "legacy" devicesAdrian Schmutzler2020-08-081-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It has been reported that the current message displayed during upgrade with compat_version change is misleading for "legacy" devices, i.e. those without the "new" fwtool. This is partially caused by the fact that we need to exploit the supported_devices string to get some message text displayed for these devices. This patch modifies the message to make it more helpful and include additional information, e.g. Device linksys,wrt3200acm not supported by this image Supported devices: linksys,wrt3200acm linksys-whateverelse - Image version mismatch: image 1.1, device 1.0. Please wipe config during upgrade (force required) or reinstall. Reason: Config cannot be migrated from swconfig to DSA Note that the line breaks (except the one before Supported devices) are added manually here, I hesitate to hack \n into the supported_devices as well. The "Reason:" will only be displayed if DEVICE_COMPAT_MESSAGE is set for the device, otherwise "Please check documentation ..." will be shown instead. While at it, also rearrange the code in image-commands.mk to make lines shorter and remove the double filter-out command. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* hostapd: add wpad-basic-wolfssl variantPetr Štetiar2020-08-071-1/+1
| | | | | | | | | Add package which provides size optimized wpad with support for just WPA-PSK, SAE (WPA3-Personal), 802.11r and 802.11w. Signed-off-by: Petr Štetiar <ynezz@true.cz> [adapt to recent changes, add dependency for WPA_WOLFSSL config] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* build: set up host command for egrepFelix Fietkau2020-08-061-0/+4
| | | | | | It is used for the kernel build and uses GNU specific features Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: image: return sizes if check-size failsAdrian Schmutzler2020-08-031-2/+4
| | | | | | | | | | | | | Instead of just printing a warning that an image is too big, also print both actual size and limit in the string: WARNING: Image file somename.bin is too big: 2096101 > 1048576 Since the kernel size is checked via the same function (if KERNEL_SIZE is specified), this will also apply to the kernel image size check. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* build: image: drop unused check-kernel-size recipeAdrian Schmutzler2020-08-021-7/+0
| | | | | | | | | | The recipe check-kernel-size is not used in the entire tree. Instead, we already check the size of the kernel image in Device/Build/kernel in image.mk via check-size function if KERNEL_SIZE is defined. Therefore, drop the function. Using it would be redundant anyway. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* base-files: fwtool: make compat_version backward compatibleAdrian Schmutzler2020-07-311-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far, the compatibility mechanism only works if both device and image are already updated to the new routines. This patch extends the sysupgrade metadata and fwtool_check_image() to account for "older" images as well: The basic mechanism for older devices to check for image compatibility is the supported_devices entry. This can be exploited by putting a custom message into this variable of the metadata, so older FW will produce a mismatch and print the message as it thinks it's the list of supported devices. So, we have two cases: device 1.0, image 1.0: The metadata will just contain supported_devices as before. device 1.0, image 1.1: The metadata will contain: "new_supported_devices":["device_string1", "device_string2", ...], "supported_devices":["Image version 1.1 incompatible to device: ..."] If the device is "legacy", i.e. does not have the updated fwtool.sh, it will just fail with image check and print the content of supported_devices. If DEVICE_COMPAT_MESSAGE is set, this will be printed on old devices as well through the same mechanism. Otherwise a generic "Please check documentation ..." is appended. Upgrade can still be performed with -F like when SUPPORTED_DEVICES has been removed to prevent bricking. If the device has updated fwtool.sh (but is 1.0), it will just use the new_supported_devices instead, and work as intended (flashing with -n will work, flashing without will print the appropriate warning). This mechanism should provide a fair tradeoff between simplicity and functionality. Since we touched a lot of fields in metadata, this also bumps metadata_version to 1.1. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* build: add DEVICE_COMPAT_VERSION and DEVICE_COMPAT_MESSAGEAdrian Schmutzler2020-07-312-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We regularly encounter the situation that devices are subject to changes that will make them incompatible to previous versions. Removing SUPPORTED_DEVICES will not really be helpful in most of these cases, as this only helps after a rename. To solve this situation, this patchset introduces a compatibility version for devices. It will be implemented via a per-device Make variable DEVICE_COMPAT_VERSION, which will be set to 1.0 globally by default and then can be overwritten as needed. Furthermore, a variable DEVICE_COMPAT_MESSAGE is added, where a message to be displayed during sysupgrade may be specified optionally. This patch only implements the build variables and adds them to the sysupgrade metadata, the evaluation will be addressed in a subsequent patch. To set it, one would just need to add the following to a device node: define Device/somedevice ... DEVICE_COMPAT_VERSION := 1.1 DEVICE_COMPAT_MESSAGE := Config cannot be migrated from swconfig to DSA endef Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* build: add option to mark devices as BROKENAdrian Schmutzler2020-07-301-0/+2
| | | | | | | | | | | By specifying "BROKEN := 1" or "BROKEN := y" for a device, it will be hidden (and deselected) by default. By that, it provides a stronger option to "disable" a device beyond just using DEFAULT := n. To make these devices visible, just enable the BROKEN option in developer settings as already implemented for targets and packages. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 5.4 to 5.4.52John Audia2020-07-171-2/+2
| | | | | | | | | update_kernel.sh refreshed all patches, no human interaction was needed Build system: x86_64 Run-tested: Netgear R7800 (ipq806x) Signed-off-by: John Audia <graysky@archlinux.us>
* build: improve ccache supportRoman Yeryomin2020-07-113-3/+7
| | | | | | | | | | | | | | | | | | Set CCACHE_DIR to $(TOPDIR)/.ccache and CCACHE_BASEDIR to $(TOPDIR). This allows to do clean and dirclean. Cache hit rate for test build after dirclean is ~65%. If CCACHE is enabled stats are printed out at the end of building process. CCACHE_DIR config variable allows to override default, which could be useful when sharing cache with many builds. cacheclean make target allows to clean the cache. Changes from v1: - remove ccache directory using CCACHE_DIR variable - remove ccache leftovers from sdk and toolchain make files - introduce CONFIG_CCACHE_DIR variable - introduce cacheclean make target Signed-off-by: Roman Yeryomin <roman@advem.lv>
* build: reduce number of files passed to ipk-removeEneas U de Queiroz2020-07-111-11/+8
| | | | | | | | | | | | | | | | | | | | Instead of using xargs to pass a huge number of files to script/ipkg-remove, which will usually pick only one, use a more restrictive wildcard so that, currently, at the most 325 files are examined, instead of up to over 2,300. The 325-file package is python, which is picking up python3* ipks. It is about to be removed. Runner-up is ddns-scripts with 7 files. This makes a second run of make package/luci/compile go from real 16.40s; user 17.42s; sys 2.73s to real 10.71s; user 9.51s; sys 1.27s There is a caveat though: if one were to remove the ABI_VERSION of a package that ends in a digit [0-9], then the old package ipk will not be removed from the bin directory by make package/abc2/clean. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* build: call ipkg-remove using xargs if #args>=512Eneas U de Queiroz2020-07-111-1/+11
| | | | | | | | | | | | | The wildcard call to clean up luci package (luci*) can pick up over 2,300 files when the full tree is built. Running make package/luci/clean or a second run of make package/luci/compile would fail with an 'Argument list too long' error. To avoid that, a maybe_use_xargs function was created that runs the command straight as usual if the number of arguments is < 512, or saves the list in a temporary file and feeds it to xargs otherwise. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* build: package-ipkg: avoid calling wildcard twiceEneas U de Queiroz2020-07-111-2/+8
| | | | | | | | Instead of calling $(wildcard) to check if the removal list is empty, then calling it again to actually remove the files, define a function so that the arguments are expanded only once when it gets called. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* kernel: bump 5.4 to 5.4.51John Audia2020-07-111-2/+2
| | | | | | | | | | | | | | | | | | | | | update via update_kernel.sh -v -u 5.4 Removed upstreamed patches: 350-MIPS-Add-missing-EHB-in-mtc0-mfc0-sequence-for-DSPen.patch Script refreshed patches: 902-debloat_proc.patch 904-debloat_dma_buf.patch Attempted merge conflict in following patches: 0024-MIPS-lantiq-revert-DSA-switch-driver-PMU-clock-chang.patch Build system: x86_64 Build tested: ipq806x (Netgear R7800) Signed-off-by: John Audia <graysky@archlinux.us> [fixed sha256sum of the tarball] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* target.mk: change i386 CPU type to pentium-mmxRosen Penev2020-07-081-2/+2
| | | | | | | | | | | | f4f8f4a180366ee90fd8e153213db2cb746ca361 broke ffmpeg compilation with x86 The reason is that ffmpeg's x86 assembly requires at least MMX, which the pentium CPU_TYPE was preventing. Fixes ffmpeg compilation on x86_legacy and x86_geode. Ref: https://github.com/openwrt/openwrt/pull/3061 Signed-off-by: Rosen Penev <rosenp@gmail.com>
* build: add 'make kernel_xconfig' commandSergio E. Nemirowski2020-07-082-1/+5
| | | | | | This adds the kernel_xconfig make target. Signed-off-by: Sergio E. Nemirowski <sergio@outerface.net>
* build: add nconfigSergio E. Nemirowski2020-07-071-0/+7
| | | | | | | | Add support for make target nconfig (ncurses) Reviewed-by: Eneas U de Queiroz <cotequeiroz@gmail.com> Signed-off-by: Sergio E. Nemirowski <sergio@outerface.net> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* build: conditionally enable testing-kernel featureDavid Bauer2020-07-071-1/+3
| | | | | | | | | | | Only enable the testing-kernel feature for the target when the testing kernel version does not match the stable kernel version. This way, the option for building the testing kernel in the build config menu is only exposed when there's a testing kernel available. Signed-off-by: David Bauer <mail@david-bauer.net> Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: Update kernel 5.4 to version 5.4.50Hauke Mehrtens2020-07-041-2/+2
| | | | | | | Run tested: ath79, ipq40xx Build tested: ath79, ipq40xx Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Update kernel 4.19 to version 4.19.131Hauke Mehrtens2020-07-041-2/+2
| | | | | | | | | | | | | Fixes: - CVE-2020-10757 The "mtd: rawnand: Pass a nand_chip object to nand_release()" commit was backported which needed some adaptations to other code. Run tested: ath79 Build tested: ath79 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: Update kernel 4.14 to version 4.14.187Hauke Mehrtens2020-07-041-2/+2
| | | | | | | | | | | | Fixes: - CVE-2020-10757 The "mtd: rawnand: Pass a nand_chip object to nand_release()" commit was backported which needed some adaptations to other code. Build tested: ramips Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* build: store default/device packages in JSONPaul Spooren2020-06-301-0/+1
| | | | | | | | | | | | With this commit the `profiles.json` contain both the target specific `default_packages` as well as the device specific `device_packages` as a array of strings. This information is required for downstream projects like the various web-based interactive firmware generators. Signed-off-by: Daniel Golle <daniel@makrotopia.org> Signed-off-by: Paul Spooren <mail@aparcar.org>
* kernel: bump 5.4 to 5.4.48Petr Štetiar2020-06-221-2/+2
| | | | | | | | | | | | | | | | Resolved merge conflict in the following patches: layerscape: 701-net-0213-dpaa2-eth-Add-CEETM-qdisc-support.patch ramips: 0013-owrt-hack-fix-mt7688-cache-issue.patch Refreshed patches, removed upstreamed patch: bcm63xx: 020-v5.8-mtd-rawnand-brcmnand-fix-hamming-oob-layout.patch Run tested: qemu-x86-64 Build tested: x86/64 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* toolchain: remove gcc libssp and use libc variantIan Cooper2020-06-171-1/+1
| | | | | | | | | | | | | | | Removes the standalone implementation of stack smashing protection in gcc's libssp in favour of the native implementation available in glibc and uclibc. Musl libc already uses its native ssp, so this patch does not affect musl-based toolchains. Stack smashing protection configuration options are now uniform across all supported libc variants. This also makes kernel-level stack smashing protection available for x86_64 and i386 builds using non-musl libc. Signed-off-by: Ian Cooper <iancooper@hotmail.com>
* kernel: bump 5.4 to 5.4.46Petr Štetiar2020-06-161-2/+2
| | | | | | | | | Refreshed patches. Run tested: qemu-x86-64, wrt3200acm Build tested: x86/64, imx6, mvebu/cortexa9, sunxi/a53 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* kernel: bump 5.4 to 5.4.45Petr Štetiar2020-06-091-2/+2
| | | | | | | | | | | | | | | | | | | Fixes CVE-2020-10757 via upstream commit df4988aa1c96 ("mm: Fix mremap not considering huge pmd devmap"). Resolved merge conflict in the following patches: bcm27xx: 950-0128-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch Refreshed patches, removed upstreamed patch: generic: 751-v5.8-net-dsa-mt7530-set-CPU-port-to-fallback-mode.patch generic: 754-v5.7-net-dsa-mt7530-fix-roaming-from-DSA-user-ports.patch Run tested: qemu-x86-64 Build tested: x86/64, imx6, sunxi/a53 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* build, imagebuilder: Do not require libncurses-devPaul Spooren2020-06-031-0/+2
| | | | | | | | | | The buildroot and SDK both require `libncurses-dev` to be installed on the system, however the ImageBuilder uses precompiled binaries. This patch changes the prerequirements checks to skip the `libncurses-dev` part if running as ImageBuilder. Signed-off-by: Paul Spooren <mail@aparcar.org>
* prereq-build: test for perl's Data::DumperRosen Penev2020-06-031-0/+4
| | | | | | | | | | | | | | | | | | | | | | Required for installation of autoconf: make[5]: Entering directory `/openwrt/build_dir/host/autoconf-2.69' Making all in bin make[6]: Entering directory `/openwrt/build_dir/host/autoconf-2.69/bin' autom4te_perllibdir='..'/lib AUTOM4TE_CFG='../lib/autom4te.cfg' ../bin/autom4te -B '..'/lib -B '..'/lib --language M4sh --cache '' --melt ./autoconf.as -o autoconf.in Can't locate Data/Dumper.pm in @INC (@INC contains: ../lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at ../lib/Autom4te/C4che.pm line 33. BEGIN failed--compilation aborted at ../lib/Autom4te/C4che.pm line 33. Compilation failed in require at ../bin/autom4te line 40. BEGIN failed--compilation aborted at ../bin/autom4te line 40. make[6]: *** [autoconf.in] Error 2 Signed-off-by: Rosen Penev <rosenp@gmail.com>
* treewide: provide consistent basic DEVICE_TYPEAdrian Schmutzler2020-06-031-1/+2
| | | | | | | | | | | | | | | | | | | | | While the effective "default" based on frequent use is "router", the DEVICE_TYPE variable actually provides a "basic" configuration without selecting any additional packages. This is currently set up with the identifier "bootloader", which seems to be not used at all. However, the only targets not using "router" or "nas" are actually archs38 and arc770, which use their own value "developerboard" for DEVICE_TYPE which seems to have been invented when these targets where added. The latter is not implemented in target.mk, though, and will fall back to the "basic" set of packages then. So, to clean this up and make it more readable, let's just define a DEVICE_TYPE "basic" and use it for the aforementioned cases. Cc: Christian Lamparter <chunkeey@gmail.com> Cc: Sungbo Eo <mans0n@gorani.run> Cc: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 5.4 to 5.4.43Petr Štetiar2020-06-021-2/+2
| | | | | | | | | | | Refreshed patches, removed upstreamed patch: bcm27xx: 950-0642-component-Silence-bind-error-on-EPROBE_DEFER.patch Run tested: qemu-x86-64 Build tested: x86/64, imx6, sunxi/a53 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* build: compress kernel debuginfo using zstdMatthias Schiffer2020-05-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | zstd with its default settings (compression level -3) compresses better than bzip2 -9 (which is the default setting), and is an order of magnitude faster. I made the following measurements for the most common compression tools (all standard Debian Buster versions, default flags unless noted otherwise), using the debug information of a large x86-64 kernel with ALL_KMODS: * kernel-debug.tar: 376M * kernel-debug.tar.gz: 101M, compressed in ~12s * kernel-debug.tar.bz2: 91M, compressed in ~15s * kernel-debug.tar.xz: 57M, compressed in ~101s * kernel-debug.tar.zst: 86M, compressed in ~1s With zstd, there is still some room for improvement by increasing the compression, but the slight increase in compression ratio (22.83% -> 19.46%) does not justify the significant increase in compression time (about 5 times on my machine) in my opinion. Note that multithreaded compression (-T argument) does not affect reproducibility with zstd. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* build: add zstd support to pack/unpack functionsMatthias Schiffer2020-05-312-0/+5
| | | | Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* build: add option to treat recursive deps as errorEneas U de Queiroz2020-05-201-5/+8
| | | | | | | | Running make with RECURSIVE_DEP_IS_ERROR=1 will cause a hard failure when a recursive dependency is detected. This is useful to apply stricter Ci tests, for example. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* build: show make output in scripts/config when V=sEneas U de Queiroz2020-05-201-1/+2
| | | | | | This should make debugging build errors in scripts/config a bit easier. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>