aboutsummaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* build: use config-1 instead of config@1 as defaultRobert Marko2021-03-052-2/+2
| | | | | | | | | | U-boot will reject all nodes with @ since commit: https://gitlab.denx.de/u-boot/u-boot/-/commit/79af75f7776fc20b0d7eb6afe1e27c00fdb4b9b4 This will cause the OpenWrt images to fail booting, to rectify use the config-1 as default. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
* kernel-5.4: bump to 5.4.102 and refresh patchesJason A. Donenfeld2021-03-041-2/+2
| | | | | | | | | | | | | | 5.4.102 backported a lot of stuff that our WireGuard backport already did, in addition to other patches we had, so those patches were removed from that part of the series. In the process other patches were refreshed or reworked to account for upstream changes. This commit involved `update_kernel.sh -v -u 5.4`. Cc: John Audia <graysky@archlinux.us> Cc: David Bauer <mail@david-bauer.net> Cc: Petr Štetiar <ynezz@true.cz> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* build: add which command to build requirementsPetr Štetiar2021-03-031-0/+3
| | | | | | | | | | | | | | | | | | | `which` utility is not shipped by default for example on recent Arch Linux and then any steps relying on its presence fails, like for example following Python3 prereq build check: $ python3 --version Python 3.9.1 $ make /bin/sh: line 1: which: command not found ... Checking 'python3'... failed. So make `which` utility host build requirement. References: PR#3820 FS#3525 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* Revert "build: replace which with Bash command built-in"Clemens Fruhwirth2021-03-032-3/+3
| | | | | | | | | | | This reverts commit c7aec47e5e3a3ff7b5fdaa11cd1e62cae6746acb. The original commit replaces 'which' with 'command'. Sadly most of them are not equivalent and for 'which -a', there is no easy replacements that would not reimplement PATH parsing logic. Hence revert. Keeping a dependency on which is absolutely fine. Signed-off-by: Clemens Fruhwirth <clemens@endorphin.org>
* build: fix checks for GCC11Petr Štetiar2021-03-031-4/+4
| | | | | | | Fedora 34 already uses GCC11. Reported-by: Marcin Juszkiewicz <marcin-openwrt@juszkiewicz.com.pl> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* build: make GCC version 6+ minimal host build requirementPetr Štetiar2021-03-031-7/+7
| | | | | | | | Currently minimal GNU supported GCC version is 7 (from May 2, 2017), buildbots are using default GCC version 6 on Debian 9 (old stable), current Debian stable has GCC version 8.3.0. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* build: use numeric uid/gid on cpio callsFelix Fietkau2021-03-032-2/+2
| | | | | | | There are systems that don't have the 'root' group, so don't rely on host specific user/group names Signed-off-by: Felix Fietkau <nbd@nbd.name>
* Revert "build: use config.site generated by autoconf-lean, drop hardcoded ↵Daniel Golle2021-03-0219-1/+529
| | | | | | | | sitefiles" This reverts commit f439e291304a93b982e912dc91b80ca950a594f3. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: mt7622: make sure image generation can run in parallelDaniel Golle2021-03-021-4/+0
| | | | | | | | The previous approach of referencing artifacts in follow-up artifacts can't work with parallel builds in the current way image.mk is built. Refactor things so this is not needed. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: mt7622: bpi-r64: simplify eMMC install procedureDaniel Golle2021-03-011-0/+4
| | | | | | | | Write everything needed for eMMC install into the gaps between partitions on SD card. In that way, installation to eMMC only needs the SD card, no additional files need to be loaded via TFTP any more. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* build: prevent dupes in autotools.mkSebastian Kemper2021-03-011-5/+6
| | | | | | | | | | | | | | | | | | | | autotools.mk does not have any protection currently that would prevent it from being sourced multiple times. Note that both package.mk and host-build.mk source autotools.mk. So any package Makefile that includes both will cause hooks to be added twice (at least twice). This is fixed by declaring a new variable, __autotools_inc, and only continuing if this variable doesn't equal 1. The same is done by rules.mk already. Also, this commit does away with an ifneq that checks PKG_FIXUP (instead of HOST_FIXUP) for patch-libtool before adding to the host pre-configure hook. This does not make sense. The second ifneq is amended. The current one manually does what the define patch_libtool_host is already doing. It can just use the define. Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
* treewide: fix spelling 'seperate' -> 'separate'Daniel Golle2021-02-282-4/+4
| | | | | | | This popular spelling mistake was also introduced by myself lately. Fix it everywhere. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* build: use config.site generated by autoconf-lean, drop hardcoded sitefilesFelix Fietkau2021-02-2819-529/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* include: use cpio from staging dirDavid Bauer2021-02-283-3/+3
| | | | | | | As we built our own CPIO now, use this version instead of whatever the host may or may not provide. Signed-off-by: David Bauer <mail@david-bauer.net>
* kernel: bump 5.4 to 5.4.101John Audia2021-02-271-2/+2
| | | | | | | | | | | | Ran update_kernel.sh in a fresh clone without any existing toolchains. Build system: x86_64 Build-tested: ipq806x/R7800 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional. Signed-off-by: John Audia <graysky@archlinux.us>
* download: add mirror alias for DebianDavid Bauer2021-02-261-1/+1
| | | | | | | Add an alias for Debian packages and download them from the Debian mirror redirector. Signed-off-by: David Bauer <mail@david-bauer.net>
* treewide: rename IMAGE_PREFIX/IMAGE_NAME to DEVICE_IMG_*Adrian Schmutzler2021-02-251-21/+21
| | | | | | | | | | | | | | We so far had two variables IMG_PREFIX and IMAGE_PREFIX with different content. Since these names are obviously quite confusing, this patch renames the latter to DEVICE_IMG_PREFIX, as it's a device-dependent variable, while IMG_PREFIX is only (sub)target-dependent. For consistency, also rename IMAGE_NAME to DEVICE_IMG_NAME, as that's a device-dependent variable as well. Cc: Paul Spooren <mail@aparcar.org> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* image: remove bogus mkimage commandDaniel Golle2021-02-251-16/+0
| | | | | | | | That was a left-over from testing and should not have made it into the tree. Remove it. Fixes: 330bd380e8 ("image: allow building FIT and uImage with ramdisk") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: bump 5.4 to 5.4.100John Audia2021-02-251-2/+2
| | | | | | | | | | | | | | Ran update_kernel.sh in a fresh clone without any existing toolchains. Build system: x86_64 Build-tested: ipq806x/R7800 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> [refresh again] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* build: avoid generating JSON info on missing imageDavid Bauer2021-02-241-2/+2
| | | | | | | | | | | Previously, build would fail for targets containing devices with not initramfs image (such as mpc85xx-p1010). Only generate the JSON image info for the initramfs image when we have one to avoid breaking the builds. Fixes commit d3140d052964 ("build/json: generate json file for initramfs") Signed-off-by: David Bauer <mail@david-bauer.net>
* kernel: bump version 5.10 to 5.10.18Kabuli Chana2021-02-241-2/+2
| | | | | | | | update kernel version, refresh current patchset Signed-off-by: Kabuli Chana <newtownBuild@gmail.com> [rebase/refresh] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* image: allow building FIT and uImage with ramdiskDaniel Golle2021-02-242-0/+53
| | | | | | | | | | | | | Instead of embedding the initrd cpio archive into the kernel, allow for having an external ramdisk added to the FIT or uImage. This is useful to overcome kernel size limitations present in many stock bootloaders, as the ramdisk is then loaded seperately and doesn't add to the kernel size. Hence we can have larger ramdisks to host ie. installers with all binaries to flash included (or a web-based firmware selector). In terms of performance and total size the differences are neglectible. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* image: add support for building FIT image with filesystemDaniel Golle2021-02-241-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow for single (external-data) FIT image to hold kernel, dtb and squashfs. In that way, the bootloader verifies the system integrity including the rootfs, because what's the point of checking that the hash of the kernel is correct if it won't boot in case of squashfs being corrupted? Better allow bootloader to check everything needed to make it at least up to failsafe mode. As a positive side effect this change also makes the sysupgrade process on nand potentially much easier as it is now. In short: mkimage has a parameter '-E' which allows generating FIT images with 'external' data rather than embedding the data into the device-tree blob itself. In this way, the FIT structure itself remains small and can be parsed easily (rather than having to page around megabytes of image content). This patch makes use of that and adds support for adding sub-images of type 'filesystem' which are used to store the squashfs. Now U-Boot can verify the whole OS and the new partition parsers added in the Linux kernel can detect the filesystem sub-images, create partitions for them, and select the active rootfs volume based on the configuration in FIT (passing configuration via device tree could be implemented easily at a later stage). This new FIT partition parser works for NOR flash (on top of mtdblock), NAND flash (on top of ubiblock) as well as classic block devices (ie. eMMC, SDcard, SATA, NVME, ...). It could even be used to mount such FIT images via `losetup -P` on a user PC if this patch gets included in Linux upstream one day ;) Signed-off-by: John Crispin <john@phrozen.org> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* autotools.mk: fix gettext fixupRosen Penev2021-02-231-1/+1
| | | | | | | | The update to gettext 0.21 broke packages that use autotools and gettext because the sed line was failing with the new version. Fix with a better sed expression. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* image: add ModelNameLimit16Álvaro Fernández Rojas2021-02-221-0/+4
| | | | | | This script returns the model name limited to 16 characters. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* build/json: generate json file for initramfsMoritz Warning2021-02-211-1/+34
| | | | | | | | The initramfs images are missing from the profiles.json files. Signed-off-by: Moritz Warning <moritzwarning@web.de> [fix code by exporting device variables] Signed-off-by: Paul Spooren <mail@aparcar.org>
* toplevel.mk: remove legacy packages feed from 'make distclean'Michael Pratt2021-02-201-1/+1
| | | | | | | | package/openwrt-packages is left over from what is now a legacy repository and has no other reference in the build tree Signed-off-by: Michael Pratt <mcpratt@pm.me>
* mediatek: more clean solution for out-of-tree DTSDaniel Golle2021-02-191-2/+2
| | | | | | | | | | | Use approach suggested by Adrian Schmutzler instead of introducing another device variable. Also revert the unnecessary white-space changes accidentally introduced by the previous commit. Fixed: c067b1e79b ("mediatek: move out-of-tree DTS files to dedicated dts folder") Suggested-by: Adrian Schmutzler <mail@adrianschmutzler.de> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: move out-of-tree DTS files to dedicated dts folderDaniel Golle2021-02-191-2/+2
| | | | | | | | | | | Use dedicated dts folder like on ramips to store device tree source files for boards not already supported in vanilla Linux. Doing so instead of having them in files-* has several advantages: * we don't need to duplicate them for several kernel versions * changes to a device tree don't trigger a complete kernel rebuild * the files are more obvious to find Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: bump 5.4 to 5.4.99John Audia2021-02-181-2/+2
| | | | | | | | | | Ran update_kernel.sh in a fresh clone without any existing toolchains. No manual changes needed. Build system: x86_64 Build-tested: bcm27xx/bcm2711 Signed-off-by: John Audia <graysky@archlinux.us>
* build: fix ABI version for PROVIDES symbolsFelix Fietkau2021-02-181-1/+1
| | | | | | | | GetABISuffix does not work for intra-package ABI version of provided symbols, since ABIV_$(provided) is not set. Fix ABI version by using $(ABIV_$(1)) directly Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: update kernel 5.10 to 5.10.16Daniel Golle2021-02-171-2/+2
| | | | | | Compile and runtime-tested on mediatek/mt7622 Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* build: fix build with CONFIG_STRIP_KERNEL_EXPORTSFelix Fietkau2021-02-171-3/+3
| | | | | | Only use symtab.h on the final kernel link Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: add linux 5.10 supportFelix Fietkau2021-02-161-0/+2
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: make zstd initramfs selectableFelix Fietkau2021-02-161-1/+1
| | | | | | fix typo in kernel initramfs zstd compression option Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: build kernel image before building modules/packagesFelix Fietkau2021-02-161-3/+3
| | | | | | | This is needed for linux 5.10, where modules.builtin is generated from vmlinux.o Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: IS_TTY is now set according to GNU Make's MAKE_TERMOUTR. Diez2021-02-151-1/+1
| | | | | | | | | | | | | | | The sender domain has a DMARC Reject/Quarantine policy which disallows sending mailing list messages using the original "From" header. To mitigate this problem, the original message has been wrapped automatically by the mailing list software. Fixes: FS#2086 The logic for IS_TTY was broken, because it was testing stdin instead of stdout. MAKE_TERMOUT was introduced in GNU Make version 4.1 (05 Oct 2014), so it should be available everywhere nowadays. Signed-off-by: R. Diez <rdiezmail-openwrt@yahoo.com>
* build/prereq: require make 4.1 or laterPaul Spooren2021-02-151-2/+2
| | | | | | | | | | | | FS#2086 "IS_TTY in the makefile is broken" reports flawed detection of stdout piping to a file. The issue describes how e.g. terminal color codes and up in log files if running make like `make > log.txt`. The proposed solution uses the make variable "MAKE_TERMOUT", which was introduced in make 4.1. All major distributions seem to updated to 4.1 or later, so this ideally dosen't break anything. Signed-off-by: Paul Spooren <mail@aparcar.org>
* build: fix getting ABI version for binary packages from the same source packageFelix Fietkau2021-02-151-1/+1
| | | | | | | We can't rely on the .version file being created yet, so use package variables to get it Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: filter out own packages on package version checkFelix Fietkau2021-02-151-2/+2
| | | | | | | This was accidentally dropped in 27a4a71c2408 ("metadata: handle ABI version rebuild tracking for transient dependencies") Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: only overwrite ABI version for provided packages when base version ↵Felix Fietkau2021-02-151-5/+5
| | | | | | | | changed Should avoid some spurious rebuilds Signed-off-by: Felix Fietkau <nbd@nbd.name>
* Mostly revert "build: add support for fixing up library soname"Felix Fietkau2021-02-152-7/+0
| | | | | | | | | This reverts commit b12288fa69b171f7c9405518c9bed3581a06f7ce. The patchelf approach is too fragile, and the only users of this have been converted to make patching unnecessary Leave the abi_version_str variable in place in rules.mk Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: add support for patching libtool to include ABI version in sonameFelix Fietkau2021-02-151-0/+10
| | | | | | Use the version from PKG_ABI_VERSION Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: drop ABI version from metadataFelix Fietkau2021-02-143-5/+9
| | | | | | | Preparation for supporting dynamic ABI versions that depend on the runtime configuration. Read the suffix from the staging dir pkginfo version files. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: add support for fixing up library sonameFelix Fietkau2021-02-142-0/+7
| | | | | | | | | | This makes it possible to declare a package ABI_VERSION independent from the upstream soname by setting PKG_ABI_VERSION in the package makefile. The library filename is fixed up for files installed to packages and to the staging dir. References to the original from executables within the same package are also fixed up Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: fix ABI version rebuild dependencyFelix Fietkau2021-02-141-1/+1
| | | | | | | A stray comma was being appended to the last package version dependency, causing it to be missed for ABI version checks Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: bump 5.4 to 5.4.98John Audia2021-02-141-2/+2
| | | | | | | | | | | | | | | | | | | | Ran update_kernel.sh in a fresh clone without any existing toolchains. No manual changes needed. Build system: x86_64 Build-tested: bcm27xx/bcm2711, ipq806x/R7800 Run-tested: ipq806x/R7800 Compile-tested [*]: ath79/{generic,tiny}, ipq40xx, octeon, realtek, ramips/{mt7620,mt7621}, x86/64 Run-tested [*]: ath79/{generic,tiny}: WNDR3700v2 / TL-WR841N v7 octeon: EdgeRouter Lite ramips/{mt7620,mt7621}: Archer C2 v1 / DIR-878 A1, EAP235-Wall, R6800, RT-AC57U v1 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us> Tested-by: Stijn Segers <foss@volatilesystems.org> [*]
* trusted-firmware-a: fix project name spellingDaniel Golle2021-02-131-1/+1
| | | | | | | The version string generated for ARM Trusted-Firmware-A was stated as "OpenWRT". Fix that by changing it to the exact spelling "OpenWrt" Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: bump 5.4 to 5.4.97John Audia2021-02-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Ran update_kernel.sh in a fresh clone without any existing toolchains. Manually rebased: bcm27xx 950-0267-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch bcm53xx 180-usb-xhci-add-support-for-performing-fake-doorbell.patch layerscape 302-dts-0008-arm64-dts-ls1046a-accumulated-change-to-ls1046a-boar.patch 820-usb-0016-MLK-16735-usb-host-add-XHCI_CDNS_HOST-flag.patch 820-usb-0018-MLK-18794-1-usb-host-xhci-add-.bus_suspend-override.patch Build system: x86_64 Build-tested: bcm27xx/bcm2711, ipq806x/R7800 Run-tested: ipq806x/R7800 No dmesg regressions/everything functional. Signed-off-by: John Audia <graysky@archlinux.us> [remove quilt comment, fix/adjust 820-usb-* layerscape patches] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: bump 5.4 to 5.4.96John Audia2021-02-081-2/+2
| | | | | | | | | | | | Ran update_kernel.sh in a fresh clone without any existing toolchains. Build system: x86_64 Build-tested: ipq806x/R7800, bcm27xx/bcm2711 Run-tested: ipq806x/R7800 Run-tested [*]: ramips/mt7621 (R6800, DIR-878 A1, EAP235-Wall) Signed-off-by: John Audia <graysky@archlinux.us> Tested-by: Stijn Segers <foss@volatilesystems.org> [*]