aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
Commit message (Collapse)AuthorAgeFilesLines
* scripts/dump-target-info.pl: add new function to DUMP devicesChristian Marangi2023-11-151-1/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add new function to dump-targer-info.pl to DUMP devices provided a matching target/subtarget. Example: ./scripts/dump-targer-info.pl devices ipq806x/generic will produce the sorted list of devices defined in the following format: device_id device_name Devices may have alternative names, the script will dump each alternative name in the same line of device_id. Following the pattern: device_id "PRIMARY DEVICE NAME" "ALT0 DEVICE NAME" "ALT1 DEVICE NAME" ... Example: tplink_ad7200 "TP-Link AD7200 v1/v2" "TP-Link Talon AD7200 v1/v2" Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 943c153cdd695904b9b7fe44800fc3546644973e)
* scripts/getver.sh: prevent asking for negative rev-parseChristian Marangi2023-11-121-1/+1
| | | | | | | | | | | | | | | With the case of asking an invalid version that is too big, getver.sh might return an invalid output in the form of HEAD~-2260475641. This is caused by BASE_REV - GET_REV using a negative number. Prevent this by checking if BASE_REV - GET_REV actually return 0 or a positive number and set REV variable accordingly. With the following change, invalid revision number will result in unknown printed instead of the invalid HEAD~-NUMBERS output. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 9e49e0a6c4535d345084cc62c594be5cad23b911)
* build: fix generation of large .vdi imagesAdones Pitogo2023-07-191-2/+8
| | | | | | | | | | | | Instead of loading the whole image into the memory when generating the sha256 sum, we load the file in chunks and update the hash incrementally to avoid MemoryError in python. Also remove a stray empty line. Fixes: #13056 Signed-off-by: Adones Pitogo <pitogo.adones@gmail.com> (mention empty line removal, adds Fixes from PR) Signed-off-by: Christian Lamparter <chunkeey@gmail.com> (cherry picked from commit bdb4b78210cfb6bc8a6cda62fc990dd45ec3054c)
* scripts/dl_github_archieve.py: fix generating unreproducible tarChristian Marangi2023-01-121-1/+1
| | | | | | | | | | | | | | | | Allign dl_github_archieve.py to 8252511dc0b5a71e9e64b96f233a27ad73e28b7f change. On supported system the sigid bit is applied to files and tar archieve that on tar creation. This cause unreproducible tar for these system and these bit should be dropped to produce reproducible tar. Add the missing option following the command options used in other scripts. Fixes: 75ab064d2b38 ("build: download code from github using archive API") Suggested-by: Eneas U de Queiroz <cotequeiroz@gmail.com> Tested-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 5f1758ef14575df4e86896526b1c2035c231899e)
* scripts/ext-tools: introduce new script to install prebuilt toolsChristian Marangi2022-12-041-0/+98
| | | | | | | | | | | | | | | | Add a simple script to make it easier to install a prebuilt tools tar. Currently it will be used by our tools container and kernel workflow on github. Simple script that take a tar that contains prebuilt host tools, extract them and refresh the timestamps to skip recompilation of such host tools. By default it refresh timestamps of build_dir/host and staging_dir/host/stamp. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 5428bdc2dfaa45bc7adc89c3b9224da7d21961d0)
* ramips: add support for ZyXEL NWA50AX / NWA55AXEDavid Bauer2022-10-141-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- CPU: Mediatek MT7621 RAM: 256M DDR3 FLASH: 128M NAND ETH: 1x Gigabit Ethernet WiFi: Mediatek MT7915 (2.4/5GHz 802.11ax 2x2 DBDC) BTN: 1x Reset (NWA50AX only) LED: 1x Multi-Color (NWA50AX only) UART Console ------------ NWA50AX: Available below the rubber cover next to the ethernet port. NWA55AXE: Available on the board when disassembling the device. Settings: 115200 8N1 Layout: <12V> <LAN> GND-RX-TX-VCC Logic-Level is 3V3. Don't connect VCC to your UART adapter! Installation Web-UI ------------------- Upload the Factory image using the devices Web-Interface. As the device uses a dual-image partition layout, OpenWrt can only installed on Slot A. This requires the current active image prior flashing the device to be on Slot B. If the currently installed image is started from Slot A, the device will flash OpenWrt to Slot B. OpenWrt will panic upon first boot in this case and the device will return to the ZyXEL firmware upon next boot. If this happens, first install a ZyXEL firmware upgrade of any version and install OpenWrt after that. Installation TFTP ----------------- This installation routine is especially useful in case * unknown device password (NWA55AXE lacks reset button) * bricked device Attach to the UART console header of the device. Interrupt the boot procedure by pressing Enter. The bootloader has a reduced command-set available from CLI, but more commands can be executed by abusing the atns command. Boot a OpenWrt initramfs image available on a TFTP server at 192.168.1.66. Rename the image to owrt.bin $ atnf owrt.bin $ atna 192.168.1.88 $ atns "192.168.1.66; tftpboot; bootm" Upon booting, set the booted image to the correct slot: $ zyxel-bootconfig /dev/mtd10 get-status $ zyxel-bootconfig /dev/mtd10 set-image-status 0 valid $ zyxel-bootconfig /dev/mtd10 set-active-image 0 Copy the OpenWrt ramboot-factory image to the device using scp. Write the factory image to NAND and reboot the device. $ mtd write ramboot-factory.bin firmware $ reboot Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit a0b7fef0ffe4cd9cca39a652a37e4f3ce8f0a681)
* scripts: ext-toolchain: add support for muslChristian Marangi2022-10-031-2/+12
| | | | | | | | | Openwrt now supports only glibc and musl. Add support for musl and rework the libc check to handle the new config flags and correctly compile package basend on that. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 7be01fe13b4517e5edb8a4818f437d60144cdcb4)
* scripts: ext-toolchain: add support for info.mk in probe_ccChristian Marangi2022-10-031-0/+7
| | | | | | | | Openwrt generate info.mk that contains the libc type. For probe_cc check if the file exist and parse directly it for LIBC type. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 75311977f5ff64b491cb57ac713d75e0e410d786)
* scripts: ext-toolchain: actually probe libc type on config generationChristian Marangi2022-10-031-0/+1
| | | | | | | | | Currently we never call probe_cc before config generation, this cause the script to never actually detect the correct libc type. Call probe_cc before config generation to correctl set the .config file. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit ddeabc75ebe3151ff7da302cb1aae702b3ad7eba)
* scripts: ext-toolchain: add option to overwrite configChristian Marangi2022-10-031-4/+18
| | | | | | | | | It can be useful to overwrite an already generated config. Option are simply added at the end of the config and make defconfig will overwrite the relevant option with the new one. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit f4dd18ca39c42a324e34633c8ee553717531bc3b)
* scripts: ext-toolchain: fix wrong prefix in print_config generationChristian Marangi2022-10-031-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The parsed prefix in print_config is wrong and this produce broken generated .config that won't work with any external toolchain. Currently the prefix from a CC of 'arm-openwrt-linux-muslgnueabi-gcc-12.1.0' produce a prefix 'arm-openwrt-linux-muslgnueabi-gcc-' This is wrong as the real prefix should be 'arm-openwrt-linux-muslgnueabi-' This is probably caused by a change in how the toolchain is now handled that now append also the gcc version. Probably in ancient days the version wasn't part of the name and the prefix generation stripped the '-gcc' instead of the gcc version. Fix this and correctly strip the gcc version and the gcc suffix to correctly call toolchain bins. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 53c293262fce844c8291ab82e6726a8489d3c57b)
* scripts/download.pl: fix downloads with wgetPetr Štetiar2022-09-161-2/+8
| | | | | | | | | | | | | | | | | | | | | Several users of wget for downloads (curl is not available in the system) have reported broken download functionality: wget --tries=5 --timeout=20 --output-document=- https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.10.142.tar.xz http://: Invalid host name. Thats all happening due to '' was passed as an argument, which got later expanded to http://. In the context of a list constructor '' is not nothing, it is an empty string element. So fix it by using () as it will yield "nothing" and thus not introduce an empty string element. Fixes: #10692 Fixes: 90c6e3aedf16 ("scripts: always check certificates") Signed-off-by: Jo-Philipp Wich <jo@mein.io> [shellwords() -> ()] Signed-off-by: Petr Štetiar <ynezz@true.cz> (cherry picked from commit 50a48faa1b8424e6b4b436b7118fffa2cba14b18)
* scripts/download.pl: silence can't exec curl warningPetr Štetiar2022-09-161-1/+1
| | | | | | | | | | | | When running build in verbose mode `make V=s` we can see a lot of following warnings when curl is not available in the system: Can't exec "curl": No such file or directory at scripts/download.pl line 77. So lets fix it by redirecting of the stderr to null hole. Signed-off-by: Petr Štetiar <ynezz@true.cz> (cherry picked from commit c836ca84e8f641e10a8349a8f9b7432b33d6cec1)
* scripts: always check certificatesJosh Roys2022-09-161-2/+4
| | | | | | | | | | | | | | | | Remove flags from wget and curl instructing them to ignore bad server certificates. Although other mechanisms can protect against malicious modifications of downloads, other vectors of attack may be available to an adversary. TLS certificate verification can be disabled by turning oof the "Enable TLS certificate verification during package download" option enabled by default in the "Global build settings" in "make menuconfig" Signed-off-by: Josh Roys <roysjosh@gmail.com> [ add additional info on how to disable this option ] Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> (cherry picked from commit 90c6e3aedf167b0ae1baf376e7800a631681e69a)
* scripts: xxdi.pl: add xxd -i compat modePetr Štetiar2022-09-161-18/+19
| | | | | | | | | | | | So it can serve as a standalone drop in replacement for xxd utility used currently mostly in U-Boot packages with `xxd -i` mode which outputs C include file style, with aim for byte to byte identical output, so the eventual difference in the generated output is easily spottable. Fixes: #10555 Signed-off-by: Petr Štetiar <ynezz@true.cz> Signed-off-by: Jo-Philipp Wich <jo@mein.io> [perl-fu] (cherry picked from commit 06e01e817ec6643a35beb9e6946689e9cc7d020a)
* scripts: xxdi.pl: remove File::Slurp dependencyJo-Philipp Wich2022-09-161-2/+17
| | | | | | | | In order to make it more portable. Signed-off-by: Jo-Philipp Wich <jo@mein.io> Signed-off-by: Petr Štetiar <ynezz@true.cz> (cherry picked from commit 8b278a76d90e3724815a5fde32be59f7796be1d8)
* scripts: add xxdi.plPetr Štetiar2022-09-161-0/+50
| | | | | | | | | | xxdi.pl is a Perl script that implements vim's 'xxd -i' mode so that packages do not have to use all of vim just to get this functionality. References: #10555 Source: https://github.com/gregkh/xxdi/blob/97a6bd5cee05d1b15851981ec38ef5a460ddfcb1/xxdi.pl Signed-off-by: Petr Štetiar <ynezz@true.cz> (cherry picked from commit 2117d04a3aaad3394c0afec799d9c43f8a09c2cf)
* image: add support for Netgear encrypted imageWenli Looi2022-07-211-0/+68
| | | | | | | | | | | | | | | | | | | | | | | | | Netgear encrypted image is used in various devices including WAX202, WAX206, and EX6400v3. This image format also requires a dummy squashfs4 image which is added here as well. References in WAX202 GPL source: https://www.downloads.netgear.com/files/GPL/WAX202_V1.0.5.1_Source.rar * openwrt/bootloader/u-boot-mt7621-2018.09-gitb178829-20200526/board/ralink/common/dual_image.c Bootloader code that verifies the presence of a squashfs4 image, thus a dummy image is added here. * openwrt/tools/imgencoder/src/gj_enc.c Contains code that generates the encrypted image. There is support for adding an RSA signature, but it does not look like the signature is verified by the stock firmware or bootloader. * openwrt/tools/imgencoder/src/imagekey.h Contains the encryption key and IV. It appears the same key/IV is used for other Netgear devices including WAX206 and EX6400v3. Signed-off-by: Wenli Looi <wlooi@ucalgary.ca> (cherry picked from commit efca76ffce5cf464e82d8269d79877f442209a0a)
* scripts: fix CAMEO tag generatorSander Vanheule2022-07-081-1/+1
| | | | | | | | | | | | What should have been only cosmetic changes, ended up in breaking the script. Rename UIMAGE_CRC_SLICE back to (the original) UIMAGE_CRC_OFF. Fixes issue #10204 "cameo-tag.py broken" Reported-by: Markus Stockhausen <markus.stockhausen@gmx.de> Fixes: f9e840b65700 ("scripts: add CAMEO tag generator") Signed-off-by: Sander Vanheule <sander@svanheule.net> (cherry picked from commit ebfe66e494e57f4b421f1190d6bff1d361db1b3d)
* scripts: add CAMEO tag generatorMarkus Stockhausen2022-07-081-0/+117
| | | | | | | | | | | | | This script inserts CAMEO tags into an uImage to make U-Boot of DGS-1210 switches happy. Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de> Suggested-by: Sander Vanheule <sander@svanheule.net> # Mutual checksum algorithm [commit title prefix, trailing whitespace, OpenWrt capitalisation, move CRC calculation comment, use UIMAGE_NAME_*, remove parentheses for return, use f-string instead of str()] Signed-off-by: Sander Vanheule <sander@svanheule.net> (cherry picked from commit f9e840b65700e1cdff6d066d39c163bac936d046)
* scripts: add cameo image header generatorLuiz Angelo Daros de Luca2022-07-081-0/+86
| | | | | | | | | | | The cameo header is a 0x40-byte header used by D-Link DGS 1210 switches and Apresia ApresiaLightGS series. cameo-imghdr.py is a clean-room reimplementation of imghdr present in the DGS-1210-28-GPL package. Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com> [fix board_version argument's help text] Signed-off-by: Sander Vanheule <sander@svanheule.net> (cherry picked from commit 2fd66e058b0804b9c561d8d6858363fdf5bd7aea)
* scripts/gen_image_generic.sh: fix order of files in EFI bootfsDaniel Golle2022-04-151-2/+19
| | | | | | | | | | | | | mtools recursive copy (mcopy -s ...) is using READDIR(3) to iterate over the directory entries, hence they end up in the FAT filesystem in traversal order which breaks reproducibility (rather than being added to the FAT filesystem in a reproducible order). Implement recursive copy in gen_image_generic.sh in Shell code instead, as in that way we can force files to be copied in reproducible order. Fixes: aece8f5ae8 ("scripts/gen_image_generic.sh: generate reproducible EFI filesystem") Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 4d289ae7e63893f90957b77962c6b60574d35441)
* scripts/gen_image_generic.sh: generate reproducible EFI filesystemDaniel Golle2022-04-151-2/+3
| | | | | | | | | | Generate FAT filesystem for EFI boot in a reproducible way: * use '--invariant' option of mkfs.fat * set timestamps of all files to SOURCE_DATE_EPOCH * make sure files are ordered locale-independent Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit aece8f5ae8d15e5e79b8e34a176895209709afb6)
* scripts/gen_image_generic.sh: make ext4 bootfs reproducibleDaniel Golle2022-04-151-1/+1
| | | | | | | | Set fixed timestamp for kernel other files in /boot filesystem. This should help making x86 *combined* images reproducible. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 068ea2cde04e2666fb05731cea941bccfaeddc25)
* scripts: make sure sort-order is independent from localeDaniel Golle2022-04-061-1/+1
| | | | | | | | | Set LC_ALL=C environment variable when calling 'sort' as the sort order otherwise depends on the locale set. Fixes: 56ce110b73 ("scripts: make sure conffiles are sorted") Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 1d77dca3b32dd883bcc2213675cf21111ac1beca)
* build: store sha256_unsigned in JSONPaul Spooren2022-04-061-4/+12
| | | | | | | | | | | | | Introduce `sha256_unsigned` which is a checksum of the image _before_ a signature is attached. This is helpful to compare image reproducibility. Since the `.sha256sum` file is located in the $(KDIR) folder, switch $(BIN_DIR) with $(KDIR) to simplify the code. The value of $(BIN_DIR) itself is not stored inside the resulting JSON file, so it can be replaced. Signed-off-by: Paul Spooren <mail@aparcar.org> (cherry picked from commit 8822a8d850ba2df69b81289758959bb90643a696)
* scripts: make sure conffiles are sortedPaul Spooren2022-04-061-1/+2
| | | | | | | | | | It may happen that conffiles are in different order on different builds. Make sure they have the same order by sorting them. FIX: #9612 Signed-off-by: Paul Spooren <mail@aparcar.org> (cherry picked from commit 56ce110b73970bcd65d309440baada84c8e1504b)
* scripts/mkits.sh: replace forgotten '-' with ${REFERENCE_CHAR}Daniel Golle2022-03-271-1/+1
| | | | | | | | Cosmetical change to improve style in mkits.sh. Fixes: fd679086473 ("scripts: mkits.sh: Allow legacy @ mode for dts creation") Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit e89c85249e311e9a376d07cda33c9dc39b12a906)
* toolchain: binutils: add support for version 2.38Rui Salvaterra2022-03-091-1/+2
| | | | | | | | | | | | While at it, also fix the download.xs4all.nl and add ftp.gnu.org to the GNU mirrors, as it seems to be updated faster. Deleted (upstreamed): 600-Close_the_file_descriptor.patch [1] [1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=5a98fb7513b559e20dfebdbaa2a471afda3b4742 Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* mkhash: fix build errors on FreeBSD 13.0Georgi Valkov2022-03-051-1/+1
| | | | | | | | | | | | | | be64enc, be16dec, and be32dec are declared on FreeBSD 13.0, in /usr/include/sys/endian.h so we should not declare them. Fixes the following error during feeds update: staging_dir/host/bin/mkhash: No such file or directory gcc scripts/mkhash.c scripts/mkhash.c:111:1: error: redefinition of 'be64enc' 111 | be64enc(void *buf, uint64_t u) Signed-off-by: Georgi Valkov <gvalkov@abv.bg>
* check-toolchain-clean.sh: workaround stray rebuildsPetr Štetiar2022-02-281-2/+7
| | | | | | | | | | | | | | | | It seems, that there are currently some unhandled corner cases in which `.toolchain_build_ver` results in empty file and thus forcing rebuilds, even if the toolchain was build correctly just a few moments ago. Until proper fix is found, workaround that by checking for this corner case and simply populate `.toolchain_build_ver` file. While at it, improve the UX and display version mismatch, so it's more clear what has forced the rebuild: "Toolchain build version changed (11.2.0-1 != ), running make targetclean" References: https://gitlab.com/ynezz/openwrt/-/jobs/2133332533/raw Signed-off-by: Petr Štetiar <ynezz@true.cz>
* check-toolchain-clean.sh: fix shellcheck warningsPetr Štetiar2022-02-281-1/+1
| | | | | | | | | | | Fixes following complaints and suggestions: In scripts/check-toolchain-clean.sh line 2: eval `grep CONFIG_GCC_VERSION .config` ^-- SC2046 (warning): Quote this to prevent word splitting. ^-- SC2006 (style): Use $(...) notation instead of legacy backticks `...`. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* scripts/diffconfig.sh: ensure config/conf is builtEneas U de Queiroz2022-02-261-0/+1
| | | | | | | | | diffconfig.sh runs ./scripts/config/conf, but it does not get built with 'make {menu,x,n}config. Call 'make ./scripts/config/conf' to ensure it's been built before running it, aborting in case of failure. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com> Signed-off-by: Petr Štetiar <ynezz@true.cz>[removed Fixes: due revert]
* Revert "scripts/diffconfig.sh: ensure config/conf is built"Petr Štetiar2022-02-241-1/+0
| | | | | | | | | | | | | This reverts commit c0849c1d9c17ba96a37b67363b5551c065e9f50d as it seems to introduce regression in config.buildinfo files produced at least by buildbots: $ curl -s https://downloads.openwrt.org/snapshots/targets/ath79/generic/config.buildinfo | head -2 make[3]: Entering directory '/builder/shared-workdir/build' make[3]: Leaving directory '/builder/shared-workdir/build' References: https://github.com/openwrt/openwrt/issues/9297#issuecomment-1049719381 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* scripts/diffconfig.sh: ensure config/conf is builtEneas U de Queiroz2022-02-221-0/+1
| | | | | | | | diffconfig.sh runs ./scripts/config/conf, but it does not get built with 'make {menu,x,n}config. Call 'make ./scripts/config/conf' to ensure it's been built befpre running it. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* build: scripts/config - update to kconfig-v5.14Eneas U de Queiroz2022-02-1928-3932/+3219
| | | | | | | | | | | | | | | | | | | | | | | | | | Functional Changes ---------- ------- - make 'imply' not impose any restrictions: allow symbols implied by y to become m - change "modules" from sub-option to first-level attribute Bugfixes -------- - nconf: fix core dump when searching in empty menu - nconf: stop endless search loops - xconfig: fix content of the main widget - xconfig: fix support for the split view mode Other Changes ----- ------- - highlight xconfig 'comment' lines with '***' - xconfig: navigate menus on hyperlinks - xconfig: drop support for Qt4 - improve host ncurses detection Update the 'option modules' usage to just 'modules' in Config.in. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* feeds: use git-src-full to allow Git versioningPaul Spooren2022-02-151-2/+2
| | | | | | | | | | | | | | | Both $(AUTORELEASE) and $(PKG_SRC_VERSION) (from luci.git) use the Git log to determine releases and package timestamps. Feeds are shallow cloned by default, resulting in an incomplete Git log and therefore different local package versions than offered upstream. This commits sets the default feeds to use `src-git-full` to solve that. Add fixes from "2b1d92f: scripts/feeds: silence git warning by selecting pull style" to `src-git-full` Signed-off-by: Paul Spooren <mail@aparcar.org>
* build: store source_date_epoch as integerPaul Spooren2022-02-141-1/+1
| | | | | | | | | The value is retreived from a env variable which defaults to be read as a string. However the SOURCE_DATE_EPOCH is a unix timestamp aka integer. Fix this to allow downstream tools to parse the value directly. Signed-off-by: Paul Spooren <mail@aparcar.org>
* scripts/feeds: install targets to target/linux/feeds and support overridingFelix Fietkau2022-01-241-8/+26
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* scripts/feeds: fix installing targets without explicitly specifying the feedFelix Fietkau2022-01-241-0/+2
| | | | | | Add similar code to what is done on packages Signed-off-by: Felix Fietkau <nbd@nbd.name>
* treewide: drop use of whichAnsuel Smith2022-01-174-5/+14
| | | | | | | | | | | | | | Ubuntu started to flag which as deprecated and it seems which is not really standard and may vary across Distro. Drop the use of which and use the standard 'command -v' for this simple task. Which is still present in the prereq if some package/script still use which. A utility script called command_all.sh is implemented that will just mimic the output of which -a. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* scripts: dump-target-info print kernel versionsPaul Spooren2021-12-291-3/+23
| | | | | | | | | | | | | | | | | | | | | | | | | This commits adds the ability to print Kernel versions of all targets/subtargets. If a testing Kernel is set print that version as well. Example output: apm821xx/nand 5.10 apm821xx/sata 5.10 arc770/generic 5.4 archs38/generic 5.4 armvirt/32 5.10 armvirt/64 5.10 at91/sam9x 5.10 at91/sama5 5.10 ath25/generic 5.4 ath79/generic 5.4 5.10 ath79/mikrotik 5.4 5.10 --- %< --- This should help to get a quick update on the state of Kernels. Signed-off-by: Paul Spooren <mail@aparcar.org>
* base-files: add eMMC sysupgrade supportEnrico Mioso2021-12-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Adds generic support for sysupgrading on eMMC-based devices. Provide function emmc_do_upgrade and emmc_copy_config to be used in /lib/upgrade/platform.sh instead of redundantly implementing the same logic over and over again. Similar to generic sysupgrade on NAND, use environment variables CI_KERNPART, CI_ROOTPART and newly introduce CI_DATAPART to indicate GPT partition names to be used. On devices with more than one MMC block device, CI_ROOTDEV can be used to specify the MMC device for partition name lookups. Also allow to select block devices directly using EMMC_KERN_DEV, EMMC_ROOT_DEV and EMMC_DATA_DEV, as using GPT partition names is not always an option (e.g. when forced to use MBR). To easily handle writing kernel and rootfs make use of sysupgrade.tar format convention which is also already used for generic NAND support. Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com> Signed-off-by: Daniel Golle <daniel@makrotopia.org> CC: Li Zhang <li.zhang@gl-inet.com> CC: TruongSinh Tran-Nguyen <i@truongsinh.pro>
* scripts: ubinize-image: make rootfs optionalRobert Marko2021-11-281-20/+23
| | | | | | | | | | | | Currently ubinize-image script always expects the rootfs image to be passed and a volume for it created. So, to allow only ubinizing a kernel for example which the MikroTik hAP ac3 and other new NAND devices from MikroTik require make rootfs an optional parameter like kernel. Signed-off-by: Robert Marko <robimarko@gmail.com>
* toolchain: add a version that can be bumped to force toolchain/target rebuildFelix Fietkau2021-11-161-0/+9
| | | | | | | | This can be used to ensure that the compiled code is up to date, when something important changes in the toolchain. A recent example of this is the gcc 11 fix for a code miscompilation issue Signed-off-by: Felix Fietkau <nbd@nbd.name>
* scripts/env: fix env for git conf init.defaultBranch not set to "master"Arne Zachlod2021-11-131-1/+1
| | | | | | | | | Since version 2.28, git has a config option init.defaultBranch to set the name of the first branch created with git init. The env script expects this name to be "master". This commit sets the initial branch name to "master" instead of using the git configured one. Signed-off-by: Arne Zachlod <arne@nerdkeller.org>
* scripts: fix various typosJosh Soref2021-10-319-14/+14
| | | | | | | | | This only affects typos in comments or user-facing output. Signed-off-by: Josh Soref <jsoref@users.noreply.github.com> [only picks changes to scripts, drop "commandline" replacement, fix case for "arbitrary", improve commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* scripts: eva_ramboot.py: remove unused importJan-Niklas Burfeind2021-10-301-1/+0
| | | | | | | concludes: commit e7bc8984d9ca ("scripts: make eva_ramboot.py offset configurable") Signed-off-by: Jan-Niklas Burfeind <git@aiyionpri.me>
* base-files, metadata: support additional group membershipDaniel Golle2021-10-281-1/+7
| | | | | | | | | | | | Some packages may require additional group membership for the system user added by that package. Allow defining additional groups as third member of the ':'-separated tuple, allowing to specify multiple ','-separated groups with optional GID. Example: USERID:=foouser=1000:foogroup=1000:addg1=1001,addg2=1002,addg3 Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* Revert "ethtool: update to v5.14"Hans Dedecker2021-10-231-1/+1
| | | | | | This reverts commit 7630001427fa266fa61da0b2533e2c1054eababe Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>