aboutsummaryrefslogtreecommitdiffstats
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* tools/sed: fix incorrect dependency.Kuang Rufan2019-01-221-2/+3
| | | | | | sed shall depend on xz instead of xz depends on sed. Signed-off-by: Kuang Rufan <master@a1983.com.cn>
* firmware-utils: mksercommfw: overhaul image creationMathias Kresin2019-01-152-272/+111
| | | | | | | | | | | | | | | | | | | | Move the zip compression into a build recipe. Pad the image using the existing build recipes as well to remove duplicate functionality Change the code to append header and footer in two steps. Allow to use a fixed filename as the netgear update image does. Use a fixed timestamp within the zip archive to make the images reproducible. Due to the changes we are now compatible to the gnu89 c standard used by default on the buildbots and we don't need to force a more recent standard anymore. Beside all changes, the footer still looks wrong in compare to the netgear update image. Signed-off-by: Mathias Kresin <dev@kresin.me>
* tools: zip: add option for reproducible archivesMathias Kresin2019-01-151-0/+145
| | | | | | | | | | | Add the option -mt/--mtime to pass a timestamp which is used as filedate for the containing files. So far, it isn't used for anything written to the extra fields, therefore requires the -X (eXclude eXtra file attributes) parameter to be effective. Signed-off-by: Mathias Kresin <dev@kresin.me>
* tools: add zip utilityMathias Kresin2019-01-159-1/+234
| | | | | | | One image requires a zip compressed image, so add the zip util found in the packages feed, and extend it with some useful debian patches. Signed-off-by: Mathias Kresin <dev@kresin.me>
* firmware-utils: mkdlinkfw: fix buildMathias Kresin2019-01-131-1/+1
| | | | | | | | | | | | | While we don't need the gnu99 option anymore, we still need to force the c99 standard to fix the following build error on the build bots: src/mkdlinkfw.c: In function 'find_auh_headers': src/mkdlinkfw.c:267:3: error: 'for' loop initial declarations are only allowed in C99 or C11 mode for (int i = 0; i < header_counter; i++) { ^ src/mkdlinkfw.c:267:3: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code Signed-off-by: Mathias Kresin <dev@kresin.me>
* firmware-utils: mkdlinkfw: fix error handlingMathias Kresin2019-01-131-3/+3
| | | | | | | fread() doesn't set errno, ferror need to be used to check for errors. While at it, check if we read the expect number of elements. Signed-off-by: Mathias Kresin <dev@kresin.me>
* firmware-utils: mkdlinkfw: create reproducible headerMathias Kresin2019-01-131-3/+18
| | | | | | | | Use the SOURCE_DATE_EPOCH environment variable if set instead of the current time. The used timestamp matches the timestamp of the latest commit this way and make the images reproducible. Signed-off-by: Mathias Kresin <dev@kresin.me>
* firmware-utils: mkdlinkfw: cleanup codeMathias Kresin2019-01-134-42/+5
| | | | | | | Drop unused function and macros. With the cleanup the gnu extension typeof isn't used any longer and the gnu99 compile flag can be dropped. Signed-off-by: Mathias Kresin <dev@kresin.me>
* tools/firmware-utils: fix sysupgrade typo in mkdapimg2Hans Dedecker2019-01-121-1/+1
| | | | Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* tools/firmware-utils: fix sysupgrade typo in mkdapimgHans Dedecker2019-01-121-1/+1
| | | | Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* bison: update to 3.2.4Egor Mikhaylov2019-01-071-2/+2
| | | | Signed-off-by: Egor Mikhaylov <nagakamira@gmail.com>
* ath79: add support for TP-Link Archer C6 v2Georgi Vlaev2018-12-311-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for TP-Link Archer C6 v2 (EU) Hardware specification: - SOC: Qualcomm QCA9563 @ 775MHz - Flash: GigaDevice GD25Q64CSIG (8MiB) - RAM: Zentel A3R1GE40JBF (128 MiB DDR2) - Ethernet: Qualcomm QCA8337N: 4x 1Gbps LAN + 1x 1Gbps WAN - Wireless: - 2.4GHz (bgn) QCA9563 integrated (3x3) - 5GHz (ac) Qualcomm QCA9886 (2x2) - Button: 1x power, 1x reset, 1x wps - LED: 6x LEDs: power, wlan2g, wlan5g, lan, wan, wps - UART: There's no UART header on the board Flash instructions: Upload openwrt-ath79-generic-tplink_archer-c6-v2-squashfs-factory.bin via the router Web interface. Flash instruction using tftp recovery: 1. Connect the computer to one of the LAN ports of the router 2. Set the computer IP to 192.168.0.66 3. Start a tftp server with the OpenWrt factory image in the tftp root directory renamed to ArcherC6v2_tp_recovery.bin. 4. Connect power cable to router, press and hold the reset button and turn the router on 5. Keep the reset button pressed until the WPS LED lights up 6. Wait ~150 seconds to complete flashing According to the GPL source the non-EU variant has different GPIOs assigned to some of the LEDs and buttons. The flash layout might be different as well. The wikidevi entry for Archer A6/C6 assumes they are identical. Signed-off-by: Georgi Vlaev <georgi.vlaev@gmail.com>
* tools/cmake: update to 3.13.2Hans Dedecker2018-12-294-8/+8
| | | | | | | | Update to the latest stable version and refresh patches; see https://cmake.org/cmake/help/v3.13/release/3.13.html for the latest changes in 3.13.x Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* tools/e2fsprogs: Update to 1.44.5Daniel Engberg2018-12-271-2/+2
| | | | | | Update e2fsprogs to 1.44.5 Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* firmware-utils: add hex pattern mode for xorimageINAGAKI Hiroshi2018-12-241-3/+36
| | | | | | | | | | | | This commit adds "hex pattern mode" to xorimage. This mode allows xor with a hexadecimal pattern that cannot be expressed with ASCII charactors. usage (example): xorimage -i firmware.bin -o firmware.bin.new -p 6A57190601121E4C -x Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> (fix checkpatch)
* tools/mtools: Update to 4.0.23Daniel Engberg2018-12-242-21/+4
| | | | | | | Update mtools to 4.0.23 Drop patch, workaround in upstream Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* tools: Update endian definitions for Mac OSXKevin Darbyshire-Bryant2018-12-191-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | - it appears (at least from OS X verison 10.10, Yosemite) that the big and little endian defintions have changed. the older #include <sys/_endian.h> #include <architecture/byte_order.h> reference yielded the following warning: #define __bswap_16(x) NXSwapShort(x) ^ /usr/include/architecture/byte_order.h:45:1: note: 'NXSwapShort' has been explicitly marked deprecated here For the new OS X editions, it seems that we need to refer to: #include <netinet/in.h> #include <libkern/OSByteOrder.h> and respectively use 'OSSwapInt16', 'OSSwapInt32', & 'OSSwapInt64', in place of 'NXSwapShort', 'NXSwapLong' & 'NXSwapLongLong'. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* ath79: add support for TP-Link Archer A7Karl-Felix Glatzer2018-12-171-1/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for TP-Link Archer A7 Specification: - SOC: QCA9563 - Flash: 16 MiB (SPI) - RAM: 128 MiB (DDR2) - Ethernet: 4x 1Gbps LAN + 1x 1Gbps WAN - Wireless: - 2.4GHz (bgn) SoC internal - 5GHz (ac) QCA988x - USB: 1x USB 2.0 port - Button: 1x power, 1x reset, 1x wps - LED: 10x LEDs - UART: holes in PCB - Vcc, GND, RX, TX from ethernet port side - 115200n8 Flash instructions: Upload openwrt-ath79-generic-tplink_archer-a7-v5-squashfs-factory.bin via the Webinterface. Flash instruction using tftp recovery: 1. Connect the computer to one of the LAN ports of the Archer A7 2. Set the computer IP to 192.168.0.66 3. Start a tftp server with the OpenWrt factory image in the tftp root directory renamed to ArcherC7v5_tp_recovery.bin 2. Connect power cable to Archer A7, press and hold the reset button and turn the router on 3. Keep the reset button pressed for ~5 seconds 4. Wait ~150 seconds to complete flashing Changes since first revision: - Flash instructions using stock image webinterface - Changed "Version 5" in model string to "v5" - Split DTS file in qca9563_tplink_archer-x7-v5.dtsi and qca9563_tplink_archer-a7-v5.dts - Firmware image is now build with dynamic partitioning - Default to ath10k-ct Changes since second revision: - Changed uboot@0 to uboot@20000 in DTS file - Fixed ordering issue in board led script - Specify firmware partition format in DTS file - Rebased Makefile device definition on common Device/tplink-safeloader-uimage definition - Merged switch section in network script (same configuration as tplink,tl-wdr3600 and tplink,tl-wdr4300) Signed-off-by: Karl-Felix Glatzer <karl.glatzer@gmx.de>
* tools/sdimage: Fix build with host Linux headers < 3.18Hauke Mehrtens2018-12-161-0/+13
| | | | | | | | The ufb tool needs the host UAPI Linux headers from kernel 3.18 or later, remove it for now as it is not used anyway. Fixes: 4bf5c4395b3 ("tools/sdimage: update to latest git version") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* tools/sdimage: update to latest git versionMichael Heimpold2018-12-161-3/+3
| | | | | | | This includes code cleanups and fixes some portability issues, compiler warnings about printf arguments etc. Signed-off-by: Michael Heimpold <mhei@heimpold.de>
* ramips: use new image build code for D-Link DCS-930 familyMathias Kresin2018-12-122-40/+0
| | | | | | | | | | | | Drop the factory images and the firmware tool to create them. They don't work any more, since the factory image has an uImage header covering the whole kernel + rootfs. This way the uImage splitter will not be able to find the rootfs and the kernel will panic later on. The factory images were most likely added at a time the board had distinct partitions for kernel and rootfs. Signed-off-by: Mathias Kresin <dev@kresin.me>
* tools/bison: Update to 3.2.2Daniel Engberg2018-11-271-2/+2
| | | | | | Update bison to 3.2.2 Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* flex: Add a lex symlinkRosen Penev2018-11-251-0/+5
| | | | | | | | | | Some packages like libpfring assume the presense of lex, which on some other systems is a symlink to flex but not all. Symlink flex to fix compilation. Arch Linux and Fedora do this as far as I know. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* tools: tplink-safeloader: add C7v5 EU SupportListDavid Bauer2018-11-231-1/+5
| | | | | | | | | | Currently flash from WebIF is broken for Archer C7 v5 EU models as their SupportList entries are missing. The added entries originate from TP-Links latest Archer C7 v5 EU firmware. Signed-off-by: David Bauer <mail@david-bauer.net>
* bison: update to 3.2.1Hans Dedecker2018-11-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Chnages since 3.2: b590ad02 version 3.2.1 05e70adf build: fix issues in the generated tarball 7efe0b5d build: fix typo 351e3630 NEWS: update 4fd1fc70 examples: ship them e02ce4c7 build: minor fixes in doc/ 7cab285e CI: maximize chances of errors sooner 86efe282 c++: improve the generated documentation cf1446dc tests: don't fail if the C++ compiler does not work e93c40b3 tests: don't disable C++ warnings in C files eff67391 c++: workaround portability issue 5a0d7802 tests: work around getopt portability issues f1e0839c doc: -Wzero-as-null-pointer-constant was added to GCC 4.7 3bf429ae examples: #include <cstring> in calc++ f8cadc73 c: provide a definition of _Noreturn that works for C++ bd7aebb8 c: update the definition of _Noreturn ca8039e6 tests: don't expect the shell to support 'local' 5d07f4f7 bitset: fix warning e605ad96 build: fix use of gnulib Make variables 50fac71d maint: post-release administrivia Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* tools/pkg-config: Handle variable substitution of 'bindir' to redirect to ↵Ted Hess2018-11-131-1/+1
| | | | | | STAGING_DIR/bin Signed-off-by: Ted Hess <thess@kitschensync.net>
* tools/cmake: Update to 3.12.4Daniel Engberg2018-11-121-2/+2
| | | | | | Update cmake to 3.12.4 Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* tools: firmware-utils: mksercommfw build on DarwinKevin Darbyshire-Bryant2018-11-091-2/+21
| | | | | | | | | asm/byteorder.h & hence __cpu_to_be32() doesn't exist on Darwin Shamelessly copy some byte swap functions from oseama.c Acked-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* ramips: fix netgear r6120 factory image generationKoen Vandeputte2018-11-081-169/+317
| | | | | | | | | | | | | | | | | | | | | | | as indicated in commit c5bf408ed6bd "(ramips: fix image generation for mt76x8") more rework was needed to fix the other issues. Building on another machine, but using the same arch, showed the application failing again for different reasons. Fix this by completely rewriting the application, fixing following found issues: - buffer overflows, resulting in stack corruption - flaws in memory requirement calculations (too small, too large) - memory leaks - missing bounds checking on string handling - non-reproducable images, by using unitilized memory in checksum calculation - missing error handling, resulting in succes on specific image errors - endianness errors when building on BE machines - various minor build warnings - documentation did not match the code actions (header item locations) - allowing input to be decimal, hex or octal now Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ramips: fix image generation for mt76x8Koen Vandeputte2018-11-061-1/+1
| | | | | | | | | | | | | | | | | | | | | Buildbot fails to generate images for targets also generating a Sercomm binary with following error: Opening file: /mnt/ramdisk/koen/firmware/builds/owrt_mt76x8/build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/tmp/openwrt-ramips-mt76x8-netgear_r6120-squashfs-factory.img.rootfs.zip Filesize: 3648606 . mksercommfw: malloc.c:2427: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed. Makefile:287: recipe for target '/mnt/ramdisk/koen/firmware/builds/owrt_mt76x8/build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/tmp/openwrt-ramips-mt76x8-netgear_r6120-squashfs-factory.img' failed Debugging using valgrind shows stack corruption due to a buffer overflow. The author of the generator assumes the filename ends with "root", while it should be "rootfs". Fix this by accounting for the 2 missing characters which solves the build issues. More work is required to cleanup this source, which will be done later on. Reported-by: Hannu Nyman <hannu.nyman@iki.fi> Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* tools/bison: update to version 3.2Hannu Nyman2018-11-051-2/+2
| | | | | | Update bison to version 3.2 Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* tools/patch: Add fedora patch for crashing git style patchesRosen Penev2018-11-012-1/+54
| | | | | | | | https://lists.gnu.org/archive/html/bug-patch/2018-10/msg00000.html I assume a CVE number will be assigned soon. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* build: fix libressl build on x32 (amd64ilp32) hostThorsten Glaser2018-11-011-0/+4
| | | | | | disable use of assembly code since x32 gets misdetected as amd64 Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
* tools/ccache: update to 3.5Hannu Nyman2018-11-012-3/+3
| | | | | | Update ccache to 3.5 Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* ar71xx: fix sysupgrade generation for some targetsKoen Vandeputte2018-10-291-12/+6
| | | | | | | | | | | | | | | | | These targets are already defined as having a dynamic partition but the safeloader was not adapted for them. This causes a build warning for the sysupgrade image being too big. Targets: - c58-v1 - c60-v1 - c60-v2 - TL-WR1043 v5 - TL-WR902AC v1 - TL-WR942N V1 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ar71xx: switch more targets to dynamic partitioningKoen Vandeputte2018-10-291-30/+13
| | | | | | | | | | | | | Targets: - TP-LINK ER355 - TP-LINK C25 V1 - TP-LINK C59 V1 - TP-LINK C7 V4 - TP-LINK C7 V5 Fixes build issues seen due to the kernel being too big Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ar71xx: switch TP-Link RE450 v1 to dynamic partitioningRadek Dostál2018-10-291-7/+2
| | | | | | | | | | | | | | | | | As mentioned in commit 5f24933 recent changes on ar71xx (switch to 4.14, memory compaction, ...) cause an increase in kernel size, making it too big for RE450. RE450 images were not build due to the following error message: os-image partition too big (more than 1572864 bytes): Success Tested on RE450, device boots and was used to send this patch. Reported-by: Enrico Mioso <mrkiko.rs@gmail.com> Suggested-by: David Bauer <mail@david-bauer.net> Signed-off-by: Radek Dostál <rd@radekdostal.com> [rewrote commit msg keeping it tight + fixed SoB lines] Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* tools/pkg-config: pass arguments at the endArthur Skowronek2018-10-201-1/+1
| | | | | | | | | | | | | | | | | | Go for openwrt passes pkg-config arguments in the format of pkg-config --cflags -- pkg-name which in turn will be passed down to the real pkg-config as something like pkg-config.real --cflags -- pkg-name --define... and causes the real pkg-config implementation to missinterpret the given argument list. This also helps to fix https://github.com/golang/go/issues/27940 Signed-off-by: Arthur Skowronek <arthur.skowronek@tuta.io>
* tools/xz: Add PKG_CPE_ID for proper CVE trackingRosen Penev2018-10-161-0/+1
| | | | Signed-off-by: Rosen Penev <rosenp@gmail.com>
* tools/libressl: Add PKG_CPE_ID for proper CVE trackingRosen Penev2018-10-161-0/+2
| | | | Signed-off-by: Rosen Penev <rosenp@gmail.com>
* tools: patch: Add missing CVE-2018-6951 fixRosen Penev2018-10-164-12/+33
| | | | | | | | | | uscan reports a new CVE now that PKG_CPE_ID was added. Reordered patches by date. Signed-off-by: Rosen Penev <rosenp@gmail.com> [re-title commit & refresh patches] Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* tools: patch: Fix build by not modifing Makefile.amHauke Mehrtens2018-10-143-73/+3
| | | | | | | | | | | | | | A new test case was adding in one of the patches fixing a problem, this also included a change in the test/Makefile.am to add this test case. The build system detected a change in the Makefile.am and wants to regenerate the Makefile.in, but this fails because automake-1.15 is not installed yet. As automake depends on patch being build first, make sure we do not modify the Makefile.am. This fixes build problem seen by the build bots. Fixes: 4797dddfde6 ("patch: apply upstream cve fixes") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* tools: patch: make patch build depend on automakeHauke Mehrtens2018-10-141-0/+1
| | | | | | | | | | The Makefile.am changed and now patch wants to use automake to regenerate the Makefile.in. Make sure automake was build before we build patch. This fixes build problem seen by the build bots. Fixes: 4797dddfde6 ("patch: apply upstream cve fixes") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* patch: apply upstream cve fixesRussell Senior2018-10-143-0/+241
| | | | | | | | | | | | | Apply two upstream patches to address two CVEs: * CVE-2018-1000156 * CVE-2018-6952 Add PKG_CPE_ID to Makefile. Build tested on apm821xx and ar71xx. Signed-off-by: Russell Senior <russell@personaltelco.net>
* mkfwimage: Add image type definition for WA imagesTobias Schramm2018-10-072-47/+129
| | | | | | | | | | | | | This patch adds a new type of ubiquiti image, the WA image. First seen on the NanoStation AC loco the generic name implies that we will see this type of image on more ubiquiti devices thus it makes sense to implement it in mkfwimage. The main difference is that WA images are signed. The "END" header has been replaced by a "ENDS" header followed by a 2048 bit RSA signature. This signature is not being generated by mkfwimage and filled with 0x00. Signed-off-by: Tobias Schramm <tobleminer@gmail.com>
* tools/cmake: Update to 3.12.3Daniel Engberg2018-10-072-14/+2
| | | | | | Update CMake to 3.12.3 Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* tools/bison: Update to 3.1Daniel Engberg2018-10-073-6/+4
| | | | | | Update bison to 3.1 Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* tools/libressl: Update to 2.8.1Daniel Engberg2018-10-071-3/+3
| | | | | | Update libressl to 2.8.1 Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* tools/mtools: Update to 4.0.19Daniel Engberg2018-10-071-4/+3
| | | | | | Update mtools to 4.0.19 Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* tools/e2fsprogs: fix build with clangFelix Fietkau2018-09-151-0/+3
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>