aboutsummaryrefslogtreecommitdiffstats
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* tools/coreutils: install lnFelix Fietkau2020-08-131-1/+1
| | | | | | It is needed for libsepol on non-GNU systems Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ath79: add support for TP-Link TL-WPA8630P v2Andreas Böhler2020-08-101-0/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The TL-WPA8630P v2 is a HomePlug AV2 compatible device with a QCA9563 SoC and 2.4GHz and 5GHz WiFi modules. Specifications -------------- - QCA9563 750MHz, 2.4GHz WiFi - QCA9888 5GHz WiFi - 8MiB SPI Flash - 128MiB RAM - 3 GBit Ports (QCA8337) - PLC (QCA7550) MAC address assignment ---------------------- WiFi 2.4GHz and LAN share the same MAC address as printed on the label. 5GHz WiFi uses LAN-1, based on assumptions from similar devices. LAN Port assignment ------------------- While there are 3 physical LAN ports on the device, there will be 4 visible ports in OpenWrt. The fourth port (internal port 5) is used by the PowerLine Communication SoC and thus treated like a regular LAN port. Versions -------- Note that both TL-WPA8630 and TL-WPA8630P, as well as the different country-versions, differ in partitioning, and therefore shouldn't be cross-flashed. This adds support for the two known partitioning variants of the TL-WPA8630P, where the variants can be safely distinguished via the tplink-safeloader SupportList. For the non-P variants (TL-WPA8630), at least two additional partitioning schemes exist, and the same SupportList entry can have different partitioning. Thus, we don't support those officially (yet). Also note that the P version for Germany (DE) requires the international image version, but is properly protected by SupportList. In any case, please check the OpenWrt Wiki pages for the device before flashing anything! Installation ------------ Installation is possible from the OEM web interface. Make sure to install the latest OEM firmware first, so that the PLC firmware is at the latest version. However, please also check the Wiki page for hints according to altered partitioning between OEM firmware revisions. Additional thanks to Jon Davies and Joe Mullally for bringing order into the partitioning mess. Signed-off-by: Andreas Böhler <dev@aboehler.at> [minor DTS adjustments, add label-mac-device, drop chosen, move common partitions to DTSI, rename de to int, add AU support strings, adjust TPLINK_BOARD_ID, create common node in generic-tp-link.mk, adjust commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* tools: add fakerootThomas Petazzoni2020-08-103-1/+133
| | | | | | | | | | | | | | | | | | | | | | | SELinux support requires setting the appropriate SELinux security context to files and directories, which needs to happen at build time in order to support read-only root filesystem scenarios. In order to create these security contexts, we will have to run some SELinux-specific tools on the host machine, but that requires root access. This adds support for fakeroot, which the build process will use to run the SELinux security context creation and the image creation. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Apply to current master, and adjust commit message Thomas' original work is available at http://lists.infradead.org/pipermail/openwrt-devel/2019-November/025976.html. Signed-off-by: W. Michael Petullo <mike@flyn.org> [add rules.mk FAKEROOT variable] Signed-off-by: Paul Spooren <mail@aparcar.org> [update, fix macos build] Signed-off-by: Felix Fietkau <nbd@nbd.name>
* tools/cmake: fix typo in parallel make patchPiotr Stefaniak2020-08-102-1/+2
| | | | | | | | | | | | | The variable in the case argument was mistyped, so the case always checked against an empty string and never matched. Fix the variable name. Add a PKG_RELEASE to Makefile so we can bump it. Fixes: d6de31310cc1 ("cmake: restore parallel build support for bootstrap") Signed-off-by: Piotr Stefaniak <pstef@freebsd.org> [add commit message, add PKG_RELEASE, fix commit title, add Fixes:] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* Revert "build: fix typo in cmake patch"Adrian Schmutzler2020-08-091-1/+1
| | | | | | | | | This reverts commit 685570858dc6b19329594c6efd2c20f1898976f9. The commit had several formal flaws, revert it and hopefully apply it properly next time. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* build: fix typo in cmake patchPiotr Stefaniak2020-08-091-1/+1
| | | | | | | | | | | The variable in the case argument was mistyped, so the case always checked against an empty string and never matched. Fix the variable name. Signed-off-by: Piotr Stefaniak <pstef@freebsd.org> [add commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* tools/firmware-utils: use UTC for image timestampsSander Vanheule2020-08-073-3/+3
| | | | | | | | By using localtime() to determine the timestamp that goes into factory images, the resulting image depends on the timezone of the build system. Use gmtime() instead, which results in more reproducible images. Signed-off-by: Sander Vanheule <sander@svanheule.net>
* ramips: add support for TP-Link RE200 v3Richard Fröhning2020-08-031-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link RE200 v3 is a wireless range extender with Ethernet and 2.4G and 5G WiFi with internal antennas. It's based on MediaTek MT7628AN+MT7610EN like the v2. Specifications -------------- - MediaTek MT7628AN (580 Mhz) - 64 MB of RAM - 8 MB of FLASH - 2T2R 2.4 GHz and 1T1R 5 GHz - 1x 10/100 Mbps Ethernet - 8x LED (GPIO-controlled), 2x button Unverified: - UART header on PCB (57600 8n1) There are 2.4G and 5G LEDs in red and green which are controlled separately. MAC addresses ------------- MAC address assignment has been done according to the RE200 v2. The label MAC address matches the OpenWrt ethernet address. Installation ------------ Web Interface ------------- It is possible to upgrade to OpenWrt via the web interface. Simply flash the -factory.bin from OEM. In contrast to a stock firmware, this will not overwrite U-Boot. Recovery -------- Unfortunately, this devices does not offer a recovery mode or a tftp installation method. If the web interface upgrade fails, you have to open your device and attach serial console. The device has not been opened for adding support. However, it is expected that the behavior is similar to the RE200 v2. Instructions for serial console and recovery may be checked out in commit 6d6f36ae787c ("ramips: add support for TP-Link RE200 v2") or on the device's Wiki page. Signed-off-by: Richard Fröhning <misanthropos@gmx.de> [adjust commit title/message, sort support list] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: fix/tidy up 4M tplink-v2-image flash layoutsAdrian Schmutzler2020-08-031-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | For the TP-Link 4M devices with tplink-v2-image recipe (mktplinkfw2.c), there are two different flash layouts based on the size of the (u)boot partition: device uboot OEM firmware OpenWrt (incl. config) tl-wr840n-v5 0x20000 0x3c0000 0x3d0000 tl-wr841n-v14 0x10000 0x3d0000 0x3e0000 In both cases, the 0x10000 config partition is used for the firmware partition as well due to the limited space available and since it's recreated by the OEM firmware anyway. However, the TFTP flashing process will only copy data up to the size of the initial (OEM) firmware size. Therefore, while we can use the bigger partition to have additional erase blocks on the device, we have to limit the image sizes to the TFTP limits. So far, only one layout definition has been set up in mktplinkfw2.c for 4M mediatek devices. This adds a second one and assigns them to the devices so the image sizes are correctly restrained. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* tools/mkimage: create .itb file with read-access for group,other not just owner.Ted Hess2020-07-231-0/+11
| | | | | | | This patch will fix the source of 403 errors on these files from downloads.openwrt.org. Signed-off-by: Ted Hess <thess@kitschensync.net>
* tools/flock: add PKG_{VERSION,RELEASE}Paul Spooren2020-07-231-0/+2
| | | | | | | | | | The stored source code of flock contains the version string of version 2.18, reflect that in the Makefile. Motivation is the tracking of changes in the buildsystem, which requires versioning of packages. Signed-off-by: Paul Spooren <mail@aparcar.org>
* tools/sstrip: add PKG_{VERSION,RELEASE}Paul Spooren2020-07-231-0/+2
| | | | | | | | | | | | Comparing the in tree stored source file of sstrip suggests it's version 2.0[0], reflect that in the Makefile. Motivation is the tracking of changes in the buildsystem, which requires versioning of packages. [0]: https://github.com/BR903/ELFkickers/commit/df4426a0f0ada861064d75c08cbebaac7c16b3ae#diff-d3ba694d91432a068d5d3b36abf8cd0f Signed-off-by: Paul Spooren <mail@aparcar.org>
* tools/firmware-utils: add PKG_RELEASEPaul Spooren2020-07-231-1/+2
| | | | | | | | | | | | There is no versioning information in the firmware-utils code nor the Makefile. Consider it as first release by adding PKG_RELEASE. Motivation is the tracking of changes in the buildsystem, which requires versioning of packages. Also update copyright. Signed-off-by: Paul Spooren <mail@aparcar.org>
* tools/patch-image: add PKG_RELEASEPaul Spooren2020-07-231-1/+2
| | | | | | | | | | | | There is no versioning information in the patch-image code nor the Makefile. Consider it as first release by adding PKG_RELEASE. Motivation is the tracking of changes in the buildsystem, which requires versioning of packages. Also update copyright. Signed-off-by: Paul Spooren <mail@aparcar.org>
* tools: drop PKG_VERSION for purely local packagesAdrian Schmutzler2020-07-232-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This applies to tools directory what has been done for package/ in commit 9c170cb92f4f ("package: drop PKG_VERSION for purely local packages"): In the package guidelines, PKG_VERSION is supposed to be used as "The upstream version number that we're downloading", while PKG_RELEASE is referred to as "The version of this package Makefile". Thus, the variables in a strict interpretation provide a clear distinction between "their" (upstream) version in PKG_VERSION and "our" (local OpenWrt trunk) version in PKG_RELEASE. For local (OpenWrt-only) packages, this implies that those will only need PKG_RELEASE defined, while PKG_VERSION does not apply following a strict interpretation. While the majority of "our" packages actually follow that scheme, there are also some that mix both variables or have one of them defined but keep them at "1". This is misleading and confusing, which can be observed by the fact that there typically either one of the variables is never bumped or the choice of the variable to increase depends on the person doing the change. Consequently, this patch aims at clarifying the situation by consistently using only PKG_RELEASE for "our" packages. For tools/, only three packages were affected. This fixes two of them, and leaves the remaining wrt350nv2-builder untouched, as the code there seems to have some versioning of its own that is treated as upstream version in PKG_VERSION. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* tplink-safeloader: expand support list for TP-Link CPE210 v3Adrian Schmutzler2020-07-201-1/+8
| | | | | | | | | | | | | | This adds new strings to the support list for the TP-Link CPE210 v3 that are supposed to work with the existing setup. Without it, the factory image won't be accepted by the vendor UI on these newer revisions. Tested on a CPE210 v3.20 (EU). Ref: https://forum.openwrt.org/t/build-for-cpe210-v3-20/68000 Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* firmware-utils: mkfwimage: fix memcpy and strncpy usagePetr Štetiar2020-07-113-16/+28
| | | | | | | | | | | | | | Firmware is binary blob, so there are barely any NULL terminated strings expected, so we should probably convert all chars into u8 types, and after that it's clear, that using strcpy doesn't make sense anymore. This is rather theoretical stuff, but `uint8_t name[PART_NAME_LENGTH]` means, that you can supply PART_NAME_LENGTH sized name, not PART_NAME_LENGTH-1 name when NULL terminated. Ref: https://github.com/openwrt/openwrt/pull/2274 Fixes: 04cb651376f9 ("firmware-utils: mkfwimage: fix more errors reported by gcc-6/7/9") Signed-off-by: Petr Štetiar <ynezz@true.cz>
* firmware-utils/ptgen: allow explicit placement of partitionsDavid Woodhouse2020-07-081-3/+27
| | | | | | For Banana Pi R2 we need to place the U-Boot partition at precisely 0x50000. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* firmware-utils/hcsmakeimage: fix possible memory leak and resource leaksAndrea Dalla Costa2020-07-081-0/+4
| | | | | | | Add missing calls to `free` for variable `filebuffer`. Add missing calls to `fclose` for variables `fd` and `fd_out`. Signed-off-by: Andrea Dalla Costa <andrea@dallacosta.me>
* ramips: add support for TP-Link RE500 v1Christoph Krapp2020-07-071-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This device uses the same hardware as RE650 v1 which got supported in 8c51dde. Hardware specification: - SoC 880 MHz - MediaTek MT7621AT - 128 MB of DDR3 RAM - 16 MB - Winbond 25Q128FVSG - 4T4R 2.4 GHz - MediaTek MT7615E - 4T4R 5 GHz - MediaTek MT7615E - 1x 1 Gbps Ethernet - MT7621AT integrated - 7x LEDs (Power, 2G, 5G, WPS(x2), Lan(x2)) - 4x buttons (Reset, Power, WPS, LED) - UART header (J1) - 2:GND, 3:RX, 4:TX Serial console @ 57600,8n1 Flash instructions: Upload openwrt-ramips-mt7621-tplink_re500-v1-squashfs-factory.bin from the RE500 web interface. TFTP recovery to stock firmware: Unfortunately, I can't find an easy way to recover the RE without opening the device and using modified binaries. The TFTP upload will only work if selected from u-boot, which means you have to open the device and attach to the serial console. The TFTP update procedure does *not* accept the published vendor firmware binaries. However, it allows to flash kernel + rootfs binaries, and this works if you have a backup of the original contents of the flash. It's probably possible to create special image out of the vendor binaries and use that as recovery image. Signed-off-by: Christoph Krapp <achterin@googlemail.com> [remove dts-v1 in DTSI, do not touch WiFi LEDs for RE650, keep state_default in DTS files, fix label-mac-device, use lower case for WiFi LEDs] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: add support for TP-Link RE220 v2Rowan Border2020-06-301-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link RE220 v2 is a wireless range extender with Ethernet and 2.4G and 5G WiFi with internal antennas. It's based on MediaTek MT7628AN+MT7610EN. This port of OpenWRT leverages work done by Andreas Böhler <dev@aboehler.at> for the TP-Link RE200 v2 as both devices share the same SoC, flash layout and GPIO pinout. Specifications MediaTek MT7628AN (580 Mhz) 64 MB of RAM 8 MB of FLASH 2T2R 2.4 GHz and 1T1R 5 GHz 1x 10/100 Mbps Ethernet UART header on PCB (57600 8n1) 8x LED (GPIO-controlled), 2x button There are 2.4G and 5G LEDs in red and green which are controlled separately. Web Interface Installation It is possible to upgrade to OpenWrt via the web interface. Simply flash the -factory.bin from OEM. In contrast to a stock firmware, this will not overwrite U-Boot. Signed-off-by: Rowan Border <rowanjborder@gmail.com>
* firmware-utils: sort tools alphabeticallySungbo Eo2020-06-281-58/+58
| | | | | | Also remove leading whitespace after comma. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ath79: add support for TP-Link CPE610 v2Andrew Cameron2020-06-201-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link CPE610 v2 is an outdoor wireless CPE for 5 GHz with one Ethernet port based on Atheros AR9344 Specifications: - 560/450/225 MHz (CPU/DDR/AHB) - 1x 10/100 Mbps Ethernet - 64 MB of DDR2 RAM - 8 MB of SPI-NOR Flash - 23dBi high-gain directional 2×2 MIMO antenna and a dedicated metal reflector - Power, LAN, WLAN5G green LEDs - 3x green RSSI LEDs Flashing instructions: Flash factory image through stock firmware WEB UI or through TFTP To get to TFTP recovery just hold reset button while powering on for around 4-5 seconds and release. Rename factory image to recovery.bin Stock TFTP server IP:192.168.0.100 Stock device TFTP adress:192.168.0.254 Signed-off-by: Andrew Cameron <apcameron@softhome.net>
* mkchkimg: use higher version codeJoseph C. Lehner2020-06-091-7/+2
| | | | | | | | | | | This patch changes the version code of the image header from `1.1.99_0.0.0.0` to `99.99.99_99.99.99.99`. This is neccessary on some devices where the stock firmware checks the version field, possibly preventing third-party firmware from being installed. Reviewed-by: Thibaut VARÈNE <hacks@slashdirt.org> Signed-off-by: Joseph C. Lehner <joseph.c.lehner@gmail.com>
* ath79: add support for TP-Link RE450 v3Andreas Wiese2020-05-311-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link RE450 v3 is a dual band router/range-extender based on Qualcomm/Atheros QCA9563 + QCA9880. This device is nearly identical to RE450 v2 besides a modified flash layout (hence I think force-flashing a RE450v2 image will lead to at least loss of MAC address). Specification: - 775 MHz CPU - 64 MB of RAM (DDR2) - 8 MB of FLASH (SPI NOR) - 3T3R 2.4 GHz - 3T3R 5 GHz - 1x 10/100/1000 Mbps Ethernet (AR8033 PHY) - 7x LED, 4x button- - possible UART header on PCB¹ Flash instruction: Apply factory image in OEM firmware web-gui. ¹ Didn't check to connect as I didn't even manage to connect on RE450v2 (AFAIU it requires disconnecting some resistors, which I was too much of a coward to do). But given the similarities to v2 I think it's the same or very similar procedure (and most likely also the only way to debrick). Signed-off-by: Andreas Wiese <aw-openwrt@meterriblecrew.net> [remove dts-v1 and compatible in DTSI] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* tools: add zstdMatthias Schiffer2020-05-313-1/+82
| | | | Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* ccache: update to 3.7.9DENG Qingfang2020-05-282-3/+3
| | | | | | | | | Update ccache to 3.7.9 Release notes: https://ccache.dev/releasenotes.html#_ccache_3_7_9 Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* squashfs: Fix compile with GCC 10Hauke Mehrtens2020-05-241-0/+25
| | | | | | | | | Fixes the following build error with GCC 10: /usr/bin/ld: read_fs.o:(.bss+0x0): multiple definition of `swap'; mksquashfs.o:(.bss+0x1b2a88): first defined here And a compile warning. Fixes: FS#3104, FS#3119 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* tools: add autoconf-archiveKarel Kočí2020-05-202-1/+29
| | | | | | | | | | | | | | | | Some autotools based build systems are using autoconf-archive scripts and are expecting them to almost always be available. This is not required for regular releases as tar balls generated for releases commonly have existing configure script. This is rather intended to be used with autotools.mk's autoreconf and in cases it is not always possible to get release tar ball. Including this adds little to no overhead in terms of build time as those are just m4 scripts copied to an appropriate location. Signed-off-by: Karel Kočí <karel.koci@nic.cz> [fixed From: to match SoB] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* firmware-utils: mkfwimage: add support for Ubiquiti XC devicesRoger Pueyo Centelles2020-05-171-0/+9
| | | | | | | | This commit adds support for Ubiquiti devices based on the XC board type, such as the PowerBeam 5AC 500. The factory binary structure is the same as the WA type. Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
* tools/mkimage: update to 2020.04Lucian Cristian2020-04-267-241/+113
| | | | | | | | | also change the download source to https and add a mirror drop merged patches Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com> [Add extra changes to compile on FreeBSD, merge two patches] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* tools/e2fsprogs: fix build under macosKevin Darbyshire-Bryant2020-04-101-1/+1
| | | | | | | | | macos doesn't define a loff_t type, the native off_t type being 64bit anyway. Persuade e2fsprogs to accept off_t instead on macos Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* tools/mm-macros: Update to 1.0.0Daniel Engberg2020-04-091-3/+5
| | | | | | Update mm-macros to 1.0.0 Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* tools/xz: Update to 5.2.5Daniel Engberg2020-04-091-2/+3
| | | | | | | Update xz to 5.2.5 Disable NLS support to be consistent with other tools such as bison, e2fsprogs and sed. Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* tools/mtools: Update to 4.0.24Daniel Engberg2020-04-091-2/+2
| | | | | | Update mtools to 4.0.24 Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* tools/findutils: Update to 4.7.0Daniel Engberg2020-04-093-120/+9
| | | | | | | | | | | | Update findutils to 4.7.0 Remove patches Enable pthreads Disable NLS support to be consistent with other tools such as bison, e2fsprogs and sed. Disable selinux support to be consistent with other tools such as sed and tar Disable rpath as we don't need hardcoded paths Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* tools/e2fsprogs: Update to 1.45.6Daniel Engberg2020-04-091-2/+2
| | | | | | Update e2fsprogs to 1.45.6 Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* tools/cmake: update to 3.17.0Rosen Penev2020-04-066-74/+37
| | | | | | | | | | | Remove libressl patches; they are no longer needed as LibreSSl adde support Replace qt tests patch with one that disables all of them. Refresh remaining one. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* firmware-utils: ptgen: add GPT support李国2020-03-312-24/+319
| | | | | | | | | | | | | | | | Add GPT support to ptgen, so we can generate EFI bootable images. Introduced two options: -g generate GPT partition table -G GUID use GUID for disk and increase last bit for all partitions We drop The alternate partition table to reduce size, This may cause problems when generate vmdk images or vdi images. We have to pad enough sectors when generate these images. Signed-off-by: 李国 <uxgood.org@gmail.com> [fixed compilation on macOS] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* tplink-safeloader: update soft_ver for TP-Link Archer C6 v2 (EU)Georgi Vlaev2020-03-301-1/+1
| | | | | | | | | | | | The last couple of TP-Link firmware releases for Archer C6 v2 (EU) have switched to version 1.2.x. Bump the soft_ver to "1.2.1" to allow firmware updates from the vendor web interface. TP-Link vendor firmware releases supported by this change: * Archer C6(EU)_V2_200110: soft_ver:1.2.1 Build 20200110 rel.60119 * Archer C6(EU)_V2_191014: soft_ver:1.2.0 Build 20191014 rel.33289 Signed-off-by: Georgi Vlaev <georgi.vlaev@gmail.com>
* tools: squashfskit4: fix build with GCC10Robert Marko2020-03-222-1/+44
| | | | | | | | In order to build squashfskit with GCC10, this backport from upstream is needed. Signed-off-by: Robert Marko <robert.marko@sartura.hr> [increase PKG_RELEASE] Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* squashfskit4/Makefile: introduce PKG_RELEASE=1Alexander Couzens2020-03-221-1/+1
| | | | | | When adding patches, the PKG_RELEASE should be increased. Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* ath79: add support for TP-Link Archer C60 v3Adrian Schmutzler2020-03-181-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TP-Link Archer C60 v3 is a dual-band AC1350 router, based on Qualcomm/Atheros QCA9561 + QCA9886. It seems to be identical to the v2 revision, except that it lacks a WPS LED and has different GPIO for amber WAN LED. Specification: - 775/650/258 MHz (CPU/DDR/AHB) - 64 MB of RAM (DDR2) - 8 MB of FLASH (SPI NOR) - 3T3R 2.4 GHz - 2T2R 5 GHz - 5x 10/100 Mbps Ethernet - 6x LED, 2x button - UART header on PCB Flash instruction (WebUI): Download *-factory.bin image and upload it via the firmwary upgrade function of the stock firmware WebUI. Flash instruction (TFTP): 1. Set PC to fixed IP address 192.168.0.66 2. Download *-factory.bin image and rename it to tp_recovery.bin 3. Start a tftp server with the file tp_recovery.bin in its root directory 4. Turn off the router 5. Press and hold reset button 6. Turn on router with the reset button pressed and wait ~15 seconds 7. Release the reset button and after a short time the firmware should be transferred from the tftp server 8. Wait ~30 second to complete recovery While TFTP works for OpenWrt images, my device didn't accept the only available official firmware "Archer C60(EU)_V3.0_190115.bin". In contrast to earlier revisions (v2), the v3 contains the (same) MAC address twice, once in 0x1fa08 and again in 0x1fb08. While the partition-table on the device refers to the latter, the firmware image contains a different partition-table for that region: name device firmware factory-boot 0x00000-0x1fb00 0x00000-0x1fa00 default-mac 0x1fb00-0x1fd00 0x1fa00-0x1fc00 pin 0x1fd00-0x1fe00 0x1fc00-0x1fd00 product-info 0x1fe00-0x1ff00 0x1fd00-0x1ff00 device-id 0x1ff00-0x20000 0x1ff00-0x20000 While the MAC address is present twice, other data like the PIN isn't, so with the partitioning from the firmware image the PIN on the device would actually be outside of its partition. Consequently, the patch uses the MAC location from the device (which is the same as for the v2). Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* pkgconf: always retain -I and -L flagsJo-Philipp Wich2020-03-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | The pkgconf fork filters -I and -L flag values from .pc files which match pkgconf's builtin system directory value. During configure, pkgconf derives the default system include and library search path values from exec_prefix, which is set to staging_dir/host in the host tool build phase. Due to that, pkgconf will drop all -I and -L flags pointing to staging_dir/host/include or staging_dir/host/lib, unless invoked with --keep-system-cflags and --keep-system-libs respectively, breaking our kernel libelf discovery / stack validation workarounds. In order to inhibit the filtering, add --keep-system-cflags and --keep-system-libs to our pkg-config shell wrapper. Fixes: GH#2832 Fixes: 867298cf47 ("tools/pkg-config: Replace with pkgconf") Ref: https://lists.infradead.org/pipermail/openwrt-devel/2020-March/022182.html Ref: https://git.openwrt.org/fe43969336201f2cc7d103b68fd6e65989bee184 Signed-off-by: Jo-Philipp Wich <jo@mein.io> Acked-by: Petr Štetiar <ynezz@true.cz>
* build: fix kernel 5.4 on macosKevin Darbyshire-Bryant2020-03-142-0/+28
| | | | | | | | | | As part of the kernel build process there are utilities built to run on the host system that expect linux kernel headers to be available. Unfortunately macos/darwin doesn't have these headers. vdso2c requires types.h so provide a minimal stub to satisfy it. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* tools/cmake: Update to 3.16.5Yufei Miao2020-03-121-2/+2
| | | | | | Update cmake to 3.16.5 Signed-off-by: Yufei Miao <myf@myf.cloud>
* mkrasimage: fix segmentation faultMichael T Farnworth2020-03-011-9/+10
| | | | | | | | | | | | | Code was attempting to determine the size of the file before it was actually known and allocating insufficient memory space. Images above a certain size caused a segmentation fault. Moving the calloc() ensured ensured that large images didn't result in a buffer overflow on memcpy(). Signed-off-by: Michael T Farnworth <michael@turf.org> [fixed name in From to match one in SoB] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* tools/pkgconf: Run pkg-config wrapper through shellcheckRosen Penev2020-03-011-1/+4
| | | | | | | | Mainly quoting fixes. Separated parameters by \ for easier readability. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* tools/pkg-config: Replace with pkgconfRosen Penev2020-03-014-16/+46
| | | | | | | | | | | | | | | | | | | | | | pkgconf is a newer, actively maintained implementation of pkg-config that supports more aspects of the pkg-config file specification and provides a library interface that applications can use to incorporate intelligent handling of pkg-config files into themselves (such as build file generators, IDEs, and compilers). Through its pkg-config compatibility interface (activated when it is run as "pkg-config"), it also can completely replace the original implementation. It is also lighterweight and does not require glib2, as pkg-config does. On other distros, pkgconf is symlinked to pkg-config. For simplicity here, it is renamed to pkg-config.real, as in the original package. Initial results have been positive. As before, pkgconf works as long as the pkg-config files point to the proper paths. Signed-off-by: Rosen Penev <rosenp@gmail.com> [backported upstream fix for Meson] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* tools: Fix "lib" symlink created inside $(STAGING_DIR_HOST)/libJeffery To2020-03-011-1/+1
| | | | | | | | | | | | | | | | | | | Currently, if "make tools/install" is called after tools have already been installed, a symbolic link named "lib" will be created inside $(STAGING_DIR_HOST)/lib, pointing to "lib" (i.e. itself). During tools/prepare, a "lib64" symlink is created inside $(STAGING_DIR_HOST) that points to "lib" (also inside $(STAGING_DIR_HOST)). If tools/prepare is called and the "lib64" symlink already exists, then ln will treat it as a directory and instead create a symlink named "lib" inside of that directory. This adds the -n option for ln so that $(STAGING_DIR_HOST)/lib64 is always treated as a normal file (the link name), not as a directory. Signed-off-by: Jeffery To <jeffery.to@gmail.com>