Rui Salvaterra [Thu, 4 Mar 2021 19:51:39 +0000 (19:51 +0000)]
kernel: bump 5.10 to 5.10.20
Also add a new kconfig symbol (CONFIG_KCMP) to the generic config,
disabling the SYS_kcmp syscall (it was split from
CONFIG_CHECKPOINT_RESTORE, which is disabled by default, so the
previous behaviour is kept).
Removed (upstreamed) patches:
070-net-icmp-pass-zeroed-opts-from-icmp-v6-_ndo_send-bef.patch
081-wireguard-device-do-not-generate-ICMP-for-non-IP-pac.patch
082-wireguard-queueing-get-rid-of-per-peer-ring-buffers.patch
083-wireguard-kconfig-use-arm-chacha-even-with-no-neon.patch
830-v5.12-0002-usb-serial-option-update-interface-mapping-for-ZTE-P685M.patch
Manually rebased patches:
313-helios4-dts-status-led-alias.patch
104-powerpc-mpc85xx-change-P2020RDB-dts-file-for-OpenWRT.patch
Run tested:
ath79 (TL-WDR3600)
mvebu (Turris Omnia)
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
Daniel Golle [Fri, 5 Mar 2021 17:14:02 +0000 (17:14 +0000)]
arm-trusted-firmware-mediatek: update to ATF 2.4 (2021-02-25)
All necessary blobs are now contained in the upstream repository, no
more wild replacing of blobs needed.
This new version also contains new storage drivers for (SPI-)NAND which
already comes with support for FM35Q1GA, so that patch can be dropped
as well.
Tested on:
* Bananapi BPi-R64
- sdmmc-2ddr
- emmc-2ddr
* Linksys E8450
- snand-1ddr
All works fine (booting Bananapi BPi-R64 from SD Card does NOT require
a signed image, so patch arm-trusted-firmware-mediatek to allow doing
that).
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Robert Marko [Thu, 4 Mar 2021 11:37:22 +0000 (12:37 +0100)]
build: use config-1 instead of config@1 as default
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>
Robert Marko [Thu, 4 Mar 2021 11:37:21 +0000 (12:37 +0100)]
scripts: mkits.sh: replace @ with - in nodes
U-boot will reject the nodes with @ for the address since
commit:
https://gitlab.denx.de/u-boot/u-boot/-/commit/
79af75f7776fc20b0d7eb6afe1e27c00fdb4b9b4
This in turn will cause the failure to boot with OpenWrt
generated images.
So, to rectify that simply replace @ with -.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cover also newly added rootfs@1 and initrd@1 nodes)
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
Rafał Miłecki [Fri, 5 Mar 2021 13:38:41 +0000 (14:38 +0100)]
bcm4908: prepare to support TP-Link Archer C2300 V1
It's a BCM4906 based device (2 CPU cores). It has 512 MiB of RAM, 4 LAN
ports, 1 WAN port, 2 USB ports, NAND flash. WiFi unknown at this point.
Flashing is possible using CFE only, proper image will be worked on
later.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Rafał Miłecki [Fri, 5 Mar 2021 13:37:01 +0000 (14:37 +0100)]
bcm63xx-cfe: update to the latest master
d035016 tp-link: rename to tplink to match DT vendor prefix
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Rui Salvaterra [Wed, 3 Mar 2021 14:24:17 +0000 (14:24 +0000)]
kernel/modules: fix CDC NCM dependencies
CDC NCM support only depends on CDC Ethernet with Linux 5.10. Fix thusly.
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
Ilya Lipnitskiy [Wed, 3 Mar 2021 16:58:22 +0000 (08:58 -0800)]
generic: config-5.10: add missing symbols
Add symbols missing after latest crypto.mk and WireGuard changes.
Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
Rui Salvaterra [Fri, 5 Mar 2021 12:09:31 +0000 (12:09 +0000)]
kernel: backport GCC 10 usbip build fix for 5.4
From the original commit message:
"With GCC 10, building usbip triggers error for multiple definition
of 'udev_context', in:
- libsrc/vhci_driver.c:18 and
- libsrc/usbip_host_common.c:27.
Declare as extern the definition in libsrc/usbip_host_common.c."
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
Luis Araneda [Thu, 4 Mar 2021 01:03:52 +0000 (22:03 -0300)]
kernel: remove symbols from 5.10 no longer present on upstream
REFCOUNT_FULL was removed for linux 5.5:
commit
fb041bb7c0a9 (locking/refcount: Consolidate implementations of refcount_t)
COMMON_CLK_VERSATILE was removed on linux 5.8:
commit
5f55f1fb187d (clk: versatile: Fix kconfig dependency on COMMON_CLK_VERSATILE)
Signed-off-by: Luis Araneda <luaraneda@gmail.com>
Sieng Piaw Liew [Wed, 24 Feb 2021 01:23:43 +0000 (09:23 +0800)]
bcm63xx: rename upstreamed patch
Patch to fix kernel panic was recently accepted upstream so rename patch
and add acked lines to reflect that.
Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
(add the same patch for v5.10)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Daniel González Cabanelas [Sat, 27 Feb 2021 10:58:33 +0000 (11:58 +0100)]
kernel: b53: update the BCM5365 UID in the fixup
The BCM5365 UID was updated in the driver, but we should also update it in the
fixup.
Fixes: cbcac4fde8ba ("kernel: b53: update the BCM5365 UID")
Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
(Ammend commit description, add Fixes tag)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Álvaro Fernández Rojas [Fri, 5 Mar 2021 11:13:45 +0000 (12:13 +0100)]
bcm27xx: bcm2711: disable HW_RANDOM_BCM2835
This driver is only present on BCM2708, BCM2709 and BCM2710.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Florian Eckert [Wed, 5 Feb 2020 08:20:39 +0000 (09:20 +0100)]
rssileds: use new application led trigger backend
This will use the new application led trigger backend. For now this is
the only package that uses leds trigger in user space to configure the
kernel led triggers.
The callback script only emmits a message for now, so that this LED is now
managed by the rssileds service. Until now a generic warning was emitted that
this LED trigger is not supported. But that is not true.
-> Skipping trigger 'rssileds' for led '<name>' due to missing kernel module
I think this callback should be changed in the future to restart the
service.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Florian Eckert [Wed, 5 Feb 2020 08:23:27 +0000 (09:23 +0100)]
base-files: add new application led trigger backend
For now we have only kernel LED trigger support. With this change it is now
possible to use application triggers.
If we configure a LED with a non kernel trigger, then we check on every
restart and boot of the LED service if we have this trigger as an application
in "/usr/libexec/led-trigger". If this file with the name is found, then we
execute this to init the LED.
Possible use cases are:
- Start/Stop/Restart an application led trigger service for this led
- Init a LED that is configured by a hotplug script (VPN tunnel established)
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Ilya Lipnitskiy [Fri, 5 Mar 2021 03:53:21 +0000 (19:53 -0800)]
ramips: rename mtk-hsdma to hsdma-mt7621
Follows upstream rename:
https://lore.kernel.org/driverdev-devel/
20210130034507.
2115280-1-ilya.lipnitskiy@gmail.com/
Fixes ramips builds on 5.4.102
Cc: John Audia <graysky@archlinux.us>
Cc: David Bauer <mail@david-bauer.net>
Cc: Petr Štetiar <ynezz@true.cz>
Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
Rafał Miłecki [Fri, 5 Mar 2021 09:14:28 +0000 (10:14 +0100)]
bcm63xx-cfe: update to the latest master
3fb6f1c tp-link: c2300-v1: add cferam file
79f9578 sercomm: vox-2.5: add cferam file
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Daniel Golle [Fri, 5 Mar 2021 02:03:58 +0000 (02:03 +0000)]
fstools: fix build with glibc
stropts.h is unavailable under glibc (and unneeded when building
against glibc). Include it only if not building against glibc.
Reported-by: @DazzyWalkman
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Robert Marko [Thu, 4 Mar 2021 11:38:31 +0000 (12:38 +0100)]
ipq40xx: net: phy: qca807x: fix GPIO driver
While rebasing into setting bits instead of magic values,
I accidentally forgot to actually set the force bit.
Without it using the pins as GPIO-s did not actually work.
Fixes: b5c93ed ("ipq40xx: add Qualcomm QCA807x driver")
Signed-off-by: Robert Marko <robert.marko@sartura.hr>
David Bauer [Wed, 3 Mar 2021 22:50:41 +0000 (23:50 +0100)]
ath79: enable AT803X PHY for kernel 5.10
The config symbol for the AT803x device driver was lost when adding
kernel 5.10.
Signed-off-by: David Bauer <mail@david-bauer.net>
David Bauer [Wed, 3 Mar 2021 16:23:16 +0000 (17:23 +0100)]
ath79: replace chipselect workaround with a proper patch
Debugging the SPI CS issue with kernel 5.10 resulted in a better
understanding for the root cause and a proper patch with a better
explanation.
Exchange the old hack patch with a more efficient (and upstreamable)
solution.
Signed-off-by: David Bauer <mail@david-bauer.net>
Daniel Golle [Thu, 4 Mar 2021 21:56:56 +0000 (21:56 +0000)]
arm-trusted-firmware-mediatek: don't try to install absent files
Don't try to install files which no longer exist
Since {e,sd}mmc are now produced by ptgen they have been removed.
Fixes: 5a3562cd1d ("arm-trusted-firmware-mediatek: remove {e,sd}mmc headers")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Jason A. Donenfeld [Thu, 4 Mar 2021 20:37:13 +0000 (13:37 -0700)]
kernel-5.4: bump to 5.4.102 and refresh patches
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>
Daniel Golle [Thu, 4 Mar 2021 02:49:38 +0000 (02:49 +0000)]
mediatek: mt7622: check firmware metadata
All mt7622 devices except for the UBI-variant of the mt7622-rfb1 carry
metadata appended to the sysupgrade image.
Add it for the mt7622-rfb1-ubi as well and check it on sysupgrade to
avoid accidentally flashing firmware for the wrong device (or variant
or future DEVICE_COMPAT_VERSION).
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Perry Melange [Sun, 21 Feb 2021 13:00:56 +0000 (14:00 +0100)]
feeds.conf.default: remove freifunk feed
The freifunk feed is being removed becasue
a) it is an external project and the OpenWrt team does not have access to it.
b) upon original addition of the feed, there was only a very weak tendency for
the addition.
c) there is a general lack of interest in the freifunk repo to review and/or
merge pull requests.
d) as far as can be found, all projects which use the freifunk feed have their
own make system and self-maintained feeds list. They do not use the
feeds.conf.default from the openwrt repo.
more information can be read at the following links:
http://lists.openwrt.org/pipermail/openwrt-devel/2021-February/033807.html
https://github.com/freifunk/openwrt-packages/issues/37
Signed-off-by: Perry Melange <isprotejesvalkata@gmail.com>
Petr Štetiar [Wed, 3 Mar 2021 18:48:55 +0000 (19:48 +0100)]
build: add which command to build requirements
`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>
Clemens Fruhwirth [Fri, 29 Jan 2021 18:57:37 +0000 (19:57 +0100)]
Revert "build: replace which with Bash command built-in"
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>
Petr Štetiar [Mon, 1 Mar 2021 12:29:19 +0000 (13:29 +0100)]
build: fix checks for GCC11
Fedora 34 already uses GCC11.
Reported-by: Marcin Juszkiewicz <marcin-openwrt@juszkiewicz.com.pl>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Mon, 1 Mar 2021 12:27:17 +0000 (13:27 +0100)]
build: make GCC version 6+ minimal host build requirement
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>
Petr Štetiar [Fri, 26 Feb 2021 16:12:15 +0000 (17:12 +0100)]
kernel: generic: add further missing symbols
Compile testing i.mx6 with ALL_KMODS=y, PACKAGE_perf=y and bunch of
tracing/probing symbols has unveiled bunch of missing config options so
add them.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Fri, 26 Feb 2021 16:15:34 +0000 (17:15 +0100)]
imx6: add 5.10 as testing kernel
So anyone interested can help with testing.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Fri, 26 Feb 2021 15:39:05 +0000 (16:39 +0100)]
imx6: refresh kernel config with 5.10 symbols
Just by running `make kernel_oldconfig` and unsetting following options
manually as those cores are cortex-a7 based and thus irrelevant for the
currently default cortex-a9 used cores.
CONFIG_CLK_IMX6SL is not set
CONFIG_CLK_IMX6SX is not set
CONFIG_CLK_IMX6UL is not set
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Petr Štetiar [Fri, 26 Feb 2021 15:23:39 +0000 (16:23 +0100)]
imx6: copy kernel 5.4 config and patches to 5.10
So the changes are visible in the next step. Removed upstreamed patches.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Felix Fietkau [Wed, 3 Mar 2021 15:09:04 +0000 (16:09 +0100)]
build: use numeric uid/gid on cpio calls
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>
Daniel Golle [Wed, 3 Mar 2021 00:56:31 +0000 (00:56 +0000)]
arm-trusted-firmware-mediatek: remove {e,sd}mmc headers
Turned out those are simply MBR with active boot partition. And not
needed at all on emmc. Remove them as ptgen can now generate hybrid
MBR sufficient to boot MT7622 from SD Card.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Oskari Lemmela [Tue, 2 Mar 2021 19:42:11 +0000 (21:42 +0200)]
mediatek: mt7622: change image generation
- set only one EFI system partition
- use shorter path for DEVICE_DTS file
Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
Oskari Lemmela [Tue, 2 Mar 2021 19:42:10 +0000 (21:42 +0200)]
mediatek: mt7622: use ptgen generated MBR header
mt7622 uses MBR partition for booting from SD card.
Add hybrid MBR entry with boot flag after PMBR entry.
Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
Oskari Lemmela [Tue, 2 Mar 2021 19:42:09 +0000 (21:42 +0200)]
firmware-utils/ptgen: change GPT to LBA addressing
Do not align partitions with sectors. Only kb align
for GPT is supported.
Use 254 heads and 63 sectors for PMBR.
Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
Oskari Lemmela [Tue, 2 Mar 2021 19:42:08 +0000 (21:42 +0200)]
firmware-utils/ptgen: add support for hybrid MBR
Adding -H option copies partition to MBR after pmbr entry.
Max 3 partitions can be copied to MBR.
Hybrid MBR is needed only in special cases.
For example mt7622 SD card boot needs MBR entry with boot
flag enabled.
Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
Oskari Lemmela [Tue, 2 Mar 2021 19:42:07 +0000 (21:42 +0200)]
firmware-utils/ptgen: fix partition guid and name
guid and name function should be called before storing
partition info.
Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
Oskari Lemmela [Tue, 2 Mar 2021 19:42:06 +0000 (21:42 +0200)]
firmware-utils/ptgen: fix compile warnings
remove extra arguments from printf message
Signed-off-by: Oskari Lemmela <oskari@lemmela.net>
Daniel Golle [Tue, 2 Mar 2021 19:15:28 +0000 (19:15 +0000)]
fstools: update to git HEAD
19d7d93 libfstools: partname: several fixes
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Tue, 2 Mar 2021 19:12:25 +0000 (19:12 +0000)]
procd: update to git HEAD
64e9f3a procd: fix compilation with newer musl
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Tue, 2 Mar 2021 19:09:11 +0000 (19:09 +0000)]
libubox: update to git HEAD
2e52c7e libubox: fix BLOBMSG_CAST_INT64 (do not override BLOBMSG_TYPE_DOUBLE)
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Álvaro Fernández Rojas [Tue, 2 Mar 2021 17:05:32 +0000 (18:05 +0100)]
bmips: switch to upstream brcmnand patch
This patch has been accepted upstream for v5.13.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Daniel Golle [Tue, 2 Mar 2021 11:34:24 +0000 (11:34 +0000)]
Revert "toolchain: add autoconf-lean"
autoconf-lean was not ready yet. Revert it until things get sorted.
This reverts commit
32c664ff02910bf39a3fbd5a5a4a8bff3191dd03.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Tue, 2 Mar 2021 11:34:22 +0000 (11:34 +0000)]
Revert "build: use config.site generated by autoconf-lean, drop hardcoded sitefiles"
This reverts commit
f439e291304a93b982e912dc91b80ca950a594f3.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Tue, 2 Mar 2021 11:34:18 +0000 (11:34 +0000)]
Revert "toolchain/autoconf-lean: add check for ssize_t"
This reverts commit
6b7b064492ddf339d0213779fb84d50ee3dc5eb7.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Jason A. Donenfeld [Tue, 2 Mar 2021 08:51:42 +0000 (09:51 +0100)]
kernel-5.10: backport chacha non block size optimizations
These make a big difference when doing WireGuard with small armv7
routers, and the 5.4 backport already has it.
Suggested-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
Cc: David Bauer <mail@david-bauer.net>
Cc: Petr Štetiar <ynezz@true.cz>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Jason A. Donenfeld [Tue, 2 Mar 2021 08:24:45 +0000 (09:24 +0100)]
kernel-5.4: backport
fd16931a2f51 for chacha neon
Without this patch, the chacha block counter is not incremented on neon
rounds, resulting in incorrect calculations and corrupt packets.
This also switches to using `--no-numbered --zero-commit` so that future
diffs are smaller.
Reported-by: Hans Geiblinger <cybrnook2002@yahoo.com>
Reviewed-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
Cc: David Bauer <mail@david-bauer.net>
Cc: Petr Štetiar <ynezz@true.cz>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Rafał Miłecki [Tue, 2 Mar 2021 08:04:48 +0000 (09:04 +0100)]
bcm53xx: add support for reading NVRAM based on DT mapping
This is required for devices that use NVRAM data for detecting currently
used firmware partition (e.g. Linksys devices).
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Daniel Golle [Tue, 2 Mar 2021 01:42:34 +0000 (01:42 +0000)]
uboot-mediatek: bpi-r64: make sure eMMC installation runs only once
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Tue, 2 Mar 2021 01:41:00 +0000 (01:41 +0000)]
mediatek: mt7622: make sure image generation can run in parallel
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>
Daniel Golle [Mon, 1 Mar 2021 21:46:38 +0000 (21:46 +0000)]
mediatek: mt7622: blue LED should be active high as well
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Mon, 1 Mar 2021 20:09:31 +0000 (20:09 +0000)]
uboot-mediatek: bpi-r64: fix eMMC installation menu label
Change boot menu label for eMMC installation to tell what it does now.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Mon, 1 Mar 2021 19:31:51 +0000 (19:31 +0000)]
mediatek: mt7622: bpi-r64: fix sysupgrade on empty disk
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Mon, 1 Mar 2021 14:07:33 +0000 (14:07 +0000)]
mediatek: mt7622: bpi-r64: simplify eMMC install procedure
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>
Rafał Miłecki [Mon, 1 Mar 2021 17:12:48 +0000 (18:12 +0100)]
kernel: add the latest mtd patch extending ofpart parser
This adds the latest version of ofpart commit. It hopefully
1. Doesn't break compilation
2. Doesn't break partitioning
(this time).
It's required to implement fixed partitioning with some quirks. It's
required by bcm53xx, bcm4908, kirkwood, lantiq and mvebu.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Daniel Golle [Mon, 1 Mar 2021 16:38:46 +0000 (16:38 +0000)]
tools/xxd: fix source URL
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Álvaro Fernández Rojas [Mon, 1 Mar 2021 16:26:00 +0000 (17:26 +0100)]
bmips: switch to upstream SMP CPU mappings patch
The patch has been accepted upstream with some minor modifications.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Sebastian Kemper [Mon, 1 Mar 2021 16:13:07 +0000 (17:13 +0100)]
build: prevent dupes in autotools.mk
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>
Sebastian Kemper [Mon, 1 Mar 2021 16:02:23 +0000 (17:02 +0100)]
toolchain/autoconf-lean: add check for ssize_t
This was provided by the old static config.site files and is required by
some software, i.e. freeswitch.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Daniel Golle [Mon, 1 Mar 2021 14:06:33 +0000 (14:06 +0000)]
tools: xxd: use more convenient source tarball
Don't download all of vim just to build xxd. Use a tight tarball
containing only xxd sources instead.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Mon, 1 Mar 2021 11:56:23 +0000 (11:56 +0000)]
mediatek: mt7622: enable CONFIG_SPI_MTK_NOR
Somehow this got disabled in the transition to 5.10.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Mon, 1 Mar 2021 11:42:27 +0000 (11:42 +0000)]
mediatek: mt7622: rename mt7622-ubi to mt7622-rfb1-ubi
This profile is meant to be used on MT7622 rfb1 AP, indicate that in
the name to make things less confusing.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Rafał Miłecki [Mon, 1 Mar 2021 07:14:49 +0000 (08:14 +0100)]
bcm4908: backport Ethernet driver fixes from the 5.12
The most noticeable one is fix for RX stopping on high traffic.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Daniel Golle [Sun, 28 Feb 2021 23:58:10 +0000 (23:58 +0000)]
treewide: fix spelling 'seperate' -> 'separate'
This popular spelling mistake was also introduced by myself lately.
Fix it everywhere.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Stefan Lippers-Hollmann [Sat, 27 Feb 2021 22:55:08 +0000 (23:55 +0100)]
hostapd: P2P: Fix a corner case in peer addition based on PD Request
p2p_add_device() may remove the oldest entry if there is no room in the
peer table for a new peer. This would result in any pointer to that
removed entry becoming stale. A corner case with an invalid PD Request
frame could result in such a case ending up using (read+write) freed
memory. This could only by triggered when the peer table has reached its
maximum size and the PD Request frame is received from the P2P Device
Address of the oldest remaining entry and the frame has incorrect P2P
Device Address in the payload.
Fix this by fetching the dev pointer again after having called
p2p_add_device() so that the stale pointer cannot be used.
This fixes the following security vulnerabilities/bugs:
- CVE-2021-27803 - A vulnerability was discovered in how p2p/p2p_pd.c
in wpa_supplicant before 2.10 processes P2P (Wi-Fi Direct) provision
discovery requests. It could result in denial of service or other
impact (potentially execution of arbitrary code), for an attacker
within radio range.
Fixes: 17bef1e97a50 ("P2P: Add peer entry based on Provision Discovery Request")
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Pawel Dembicki [Wed, 24 Feb 2021 13:33:49 +0000 (14:33 +0100)]
mpc85xx: p2020: Fix nand driver probe
At this moment driver start fail with error:
[ 3.771991] fsl,elbc-fcm-nand: probe of
ffa00000.nand failed with error -22
elbc-fcm-nand driver use legacy method of ecc mode detection. It detect hw/sw
ecc mode when system configure it to "none". [1]
This patch adds 'nand-ecc-mode = "none"' propoerty to use generic driver
ecc mode detection.
[1] https://elixir.bootlin.com/linux/v5.10.18/source/drivers/mtd/nand/raw/fsl_elbc_nand.c#L730
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Pawel Dembicki [Wed, 24 Feb 2021 13:30:54 +0000 (14:30 +0100)]
mpc85xx: add testing kernel 5.10
Subtargets p1010 and p1020 have already added.
Compile and run tested on: P2020RDB
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Pawel Dembicki [Mon, 11 Jan 2021 20:38:22 +0000 (21:38 +0100)]
mpc85xx: p2020: fix cfi-nor detection
At this moment p2020rdb has broken images, because NOR memory connected
to eLBC bus isn't detected.
In
642b1e8dbed7 linux tree commit, config dependencies of MTD_PHYSMAP_OF
was changed and now MTD_PHYSMAP is required.
This patch adds MTD_PHYSMAP option to kernel config in p2020 subtarget
and fix booting of p2020rdb.
Fixes: 13b1db795f05 ("mpc85xx: add support for kernel 5.4")
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Alberto Bursi [Sat, 6 Feb 2021 19:25:32 +0000 (20:25 +0100)]
x86: add support for AWS T3 instances
Amazon AWS T3 cloud instances require kernel support
for the Elastic Fabric Adapter to access storage
and for Elastic Network Adapter to use network
interfaces.
Since the Fabric Adapter is needed to access
root filesystem, enable in x86_64 kernel.
Elastic Network Adapter goes in a module,
and add this module to default list in x86_64.
The module is set to AutoLoad because AutoProbe does
not seem to load it.
Signed-off-by: Alberto Bursi <bobafetthotmail@gmail.com>
Jan Pavlinec [Thu, 28 Jan 2021 15:01:33 +0000 (16:01 +0100)]
igmpproxy: update to version 0.3
Changes:
- Remove custom Build/Compile because it's no longer needed
- Remove std=gnu99 which is added automaticaly by igmpproxy if needed
- Remove -Dlog from CFLAGS because igmpproxy doesn't have log function
Signed-off-by: Jan Pavlinec <jan.pavlinec@nic.cz>
Donald Hoskins [Sun, 14 Feb 2021 20:35:45 +0000 (15:35 -0500)]
libunwind: Add MIPS64 dep check
libunwind dependency check does not allow for MIPS64 arch. Add MIPS64 awareness.
libunwind seems to support MIPS64 without issues, it was limited by the dep arch
check in the Makefile.
Used to compile Suricata6/Rust locally without issue.
Signed-off-by: Donald Hoskins <grommish@gmail.com>
Georgi Valkov [Sat, 20 Feb 2021 13:49:51 +0000 (15:49 +0200)]
uboot-sunxi: add missing type __u64
Non Linux systems e.g. macOS lack the __u64 type and produce build errors:
In file included from tools/aisimage.c:9:
In file included from include/image.h:19:
In file included from ./arch/arm/include/asm/byteorder.h:29:
In file included from include/linux/byteorder/little_endian.h:13:
include/linux/types.h:146:9: error: unknown type name '__u64'; did you mean '__s64'?
typedef __u64 __bitwise __le64;
Resolved by declaring __u64 in include/linux/types.h
Build tested on macOS and Ubuntu.
Signed-off-by: Georgi Valkov <gvalkov@abv.bg>
Tony Ambardar [Wed, 24 Feb 2021 17:37:28 +0000 (09:37 -0800)]
bpftools: update to latest stable 5.11.2
Compile and run-tested on malta/mip32be, using bpftool directly and also
libbpf (linked with tc) to inspect and load simple eBPF programs.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Tony Ambardar [Sat, 20 Feb 2021 16:56:20 +0000 (08:56 -0800)]
iproute2: update to 5.11.0
The latest iproute2 version brings various improvements and fixes:
https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/log/?qt=range&q=v5.10.0..v5.11.0
In particular, ip and tc now use libbpf as the standard way to load BPF
programs, rather than the old, limited custom loader. This allows more
consistent and featureful BPF program handling e.g. support for global
initialized variables.
Also fix a longstanding problem with iproute2 builds where unneeded DSO
dependencies are added to most utilities, bloating their installation
footprint. From research and testing, explicitly using a "--as-needed"
linker flag avoids the issue. Update accordingly and drop extra package
dependencies from Makefile.
Additional build and packaging updates include:
- install missing development header to iproute2/bpf_elf.h
- propagate OpenWrt verbose flag during build
- update and refresh patches
Compile and run tested: QEMU/malta-mips32be on kernels 5.4 & 5.10.
All iproute2 packages were built and installed to the test image. Some
regression testing using ip-full and tc was successfully performed to
exercise several kmods, tc modules, and simple BPF programs.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Shiji Yang [Wed, 24 Feb 2021 13:37:14 +0000 (21:37 +0800)]
ramips: fix partition layout of hiwifi hc5x61
Changes:
* Increase "oem" partition size from 0x10000 to 0x20000
* Correct partition lables, synchronize with official firmware
Evidence:
It should be the same as hiwifi hc5x61a and the fact indeed the
case. Here is part of dmesg boot log read from official firmware:
[ 1.470000] Creating 7 MTD partitions on "raspi":
[ 1.470000] 0x000000000000-0x000000030000 : "u-boot"
[ 1.480000] 0x000000030000-0x000000040000 : "hw_panic"
[ 1.490000] 0x000000040000-0x000000050000 : "Factory"
[ 1.490000] 0x000000fc0000-0x000000fe0000 : "oem"
[ 1.500000] 0x000000fe0000-0x000000ff0000 : "bdinfo"
[ 1.510000] 0x000000ff0000-0x000001000000 : "backup"
[ 1.510000] 0x000000050000-0x000000fc0000 : "firmware"
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Rosen Penev [Mon, 4 Jan 2021 23:46:42 +0000 (15:46 -0800)]
libpcap: update to 1.10.0
Simplify cmake option handling by putting everything in blocks.
Add openssl patch as there's no easy way to disable.
Rebase the skip manpages patch.
Remove the monitor mode patch as it no longer applies.
Remove flex patch as normal Makefile is no longer used.
Remove USB path patch. While it is deprecated, the codepath is never
taken. /sys/bus/usb/devices is checked before hand. If it exists, the
function does stuff and returns. Additionally, this path is used
elsewhere in the code.
Refresh other patches.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Rui Salvaterra [Tue, 2 Feb 2021 09:03:08 +0000 (09:03 +0000)]
kernel/zram: remove obsolete symbol
Zsmalloc page table mappings are dead and gone [1]. Drop the respective kconfig
symbol.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.4.y&id=
69dc72f058c9b98f9b66bed184cfab7c2e9f49b0
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
Alexey Dobrovolsky [Tue, 23 Feb 2021 14:43:02 +0000 (17:43 +0300)]
busybox: sysntpd: option to bind server to iface
NTPD in busybox has option -I to bind server to IFACE.
However, capabilities of the busybox are limited, the -I option cannot be
repeated and only one interface can be effectively specified in it.
This option is currently not configurable via UCI.
The patch adds an interface option to the system config, ntp section.
Also sort options for uci_load_validate alphabetically.
Signed-off-by: Alexey Dobrovolsky <dobrovolskiy.alexey@gmail.com>
Rui Salvaterra [Tue, 23 Feb 2021 23:10:52 +0000 (23:10 +0000)]
mvebu/omnia: fix the device tree
Backport [1] and fix [2] hardware buffer management. Also fix the IRQ storm
caused by a misconfiguration of the PCA9538 interrupt pin [3].
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/arm/boot/dts/armada-385-turris-omnia.dts?id=
018b88eee1a2efda26ed2f09aab33ccdc40ef18f
[2] https://lore.kernel.org/linux-arm-kernel/
20210217153038.
1068170-1-rsalvaterra@gmail.com/
[3] https://lore.kernel.org/linux-arm-kernel/
20210220231144.32325-1-kabel@kernel.org/
Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
Ronny Kotzschmar [Sun, 28 Feb 2021 22:31:35 +0000 (23:31 +0100)]
uboot-envtools: adjust compile patch to version v2021.01
with u-boot v2020.07 some variables have been renamed so this patch needs to be adjusted
otherwise at least with macOS as build system there are build errors
Signed-off-by: Ronny Kotzschmar <ro.ok@me.com>
Mathias Kresin [Wed, 17 Feb 2021 19:52:12 +0000 (20:52 +0100)]
lantiq: vr9: set the usb led trigger via devicetree
Assign the usbdev trigger via devicetree and drop the userspace
handling of the usb leds.
Drop the now unused userspace helper code as well.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Mathias Kresin [Tue, 16 Feb 2021 18:35:12 +0000 (19:35 +0100)]
lantiq: ltq-tapi: disable KPI and QOS
The QOS feature depends on KPI2UDP which was removed from the tree with
commit
a95775e4b2a9 ("drop unmaintained packages") in 2012.
Since QOS was the last user of the KPI, the feature can be disabled by
default.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Mathias Kresin [Tue, 16 Feb 2021 18:35:07 +0000 (19:35 +0100)]
ltq-vdsl-app: fix -Wundef warnings
The following warnings are shown during build:
/usr/include/vdsl/cmv_message_format.h:33:6: warning: "MEI_SUPPORT_DEBUG_STREAMS" is not defined, evaluates to 0 [-Wundef]
#if (MEI_SUPPORT_DEBUG_STREAMS == 1)
^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/vdsl/drv_mei_cpe_interface.h:2256:6: warning: "MEI_SUPPORT_OPTIMIZED_FW_DL" is not defined, evaluates to 0 [-Wundef]
#if (MEI_SUPPORT_OPTIMIZED_FW_DL == 1)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
The headers are provided by the MEI driver, but the defines are never
set by the vdsl app. While the struct with the
MEI_SUPPORT_OPTIMIZED_FW_DL conditional isn't used by the vdsl app,
however CMV_USED_PAYLOAD_8BIT_SIZE which value depends on
MEI_SUPPORT_DEBUG_STREAMS is.
Since the MEI driver doesn't provide an autogenerated header with
compile flags, the flags are hardcoded for the vdsl app.
Set them for the MEI driver as well, to indicate a relation to the
values used for the vdsl app and to be not surprised by a changed
default in case the MEI driver gets updated. Use the current default
values defined in the MEI driver.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Mathias Kresin [Tue, 16 Feb 2021 18:35:01 +0000 (19:35 +0100)]
lantiq: set maximum kernel size
These boards have a fixed size kernel partition but do not limit the
kernel size during image building.
Disable image building for both boards as well, since the kernel of the
last release as well as master are to big to fit into the 2 MByte kernel
partition.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Mathias Kresin [Tue, 16 Feb 2021 18:34:48 +0000 (19:34 +0100)]
lantiq: ARV752DPW22: set the usb led trigger via devicetree
Assign the usbdev trigger via devicetree and drop the userspace
handling of the usb leds
Add the PCI attached usb controller as trigger sources for the usb led
as well.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Adrian Schmutzler [Fri, 26 Feb 2021 13:11:18 +0000 (14:11 +0100)]
octeon: re-enable CONFIG_CAVIUM_CN63XXP1 and EdgeRouter image
The symbol CONFIG_CAVIUM_CN63XXP1 was disabled during the bump to
4.19 (see Fixes:) with the following reason:
No supported hardware uses CN63XXP1 and it causes "slight decrease
in performance"
However, it later turned out that the edgerouter image needed it,
which led to having the device disabled in [1].
Still, dropping support of a device seems a harsh action for just
removing a "slight" decrease in performance from the other devices.
Thus, this enables CONFIG_CAVIUM_CN63XXP1 again, and essentially
restores the situation present until (including) kernel 4.14 on
this target.
For OpenWrt as a platform, it seems more desirable to support all
devices (and have them tested regularly via the snapshots) in this
case.
Users interested in maximum performance might still just remove
the symbol again in their local build.
[1]
3824fa26d256 ("octeon: disable edgerouter image")
Fixes: 6c22545225cd ("target/octeon: Add Linux 4.19 support")
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Adrian Schmutzler [Fri, 26 Feb 2021 13:08:22 +0000 (14:08 +0100)]
octeon: refresh config for kernel 5.4
Simple run of 'make kernel_oldconfig'
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Daniel Golle [Sun, 28 Feb 2021 19:26:07 +0000 (19:26 +0000)]
tools: add xxd (from vim)
U-Boot requires xxd to create the default environment from an external
file as done in uboot-mediatek.
Build xxd (only, not the rest of vim) as part of tools to make sure it
is present on the buildhost.
Reported-by: David Bauer <mail@david-bauer.net>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Sun, 28 Feb 2021 18:00:33 +0000 (18:00 +0000)]
selinux-policy: update to version 0.7
a857b45 resolv/locale: eventually this should be more efficient
11ed281 some more optimization
764a475 add redundant calls to file.search_conffile_dirs()
7d4558e fs: treat devtmpfs that same as tmpfs
81b677e adds irqbalance skeleton
5506244 irqbalance rules
cc96cd8 adds usbutil and gtpfdisk skels
01e2a55 some fsck, gptfdisk, mkfs and usbutil rules
d6d1e7d usbutil: output to terminal
da576fa fsck, gptfdisk and usbutil rules
09b39e9 unbound
241a029 hotplugcall: allow dac_read_search (is a subset of dac_override)
af0fe90 adds label for tcsh
160f79e adds tcpdump
6d02b96 adds coreutil execfile for busybox alternatives
ac54884 coreutilexecfile: these are known to require privileges, so exclude
8cb3b66 adds chrootexecfile
6d329d3 this saves 9KiB and its a bit more robust
88e2425 move addpart/delpart/partx to gptfdisk.cil
261012d ntphotplug: reads ubox data files
0473ace various
740e820 work through to genfs_seclabel_symlinks loose ends (Linux 5.10)
bef21f5 TODO adds a note about how I dont need to upgrade to polver 33 from 31
cb2e5a3 ubus uses ntpdhotplug fd, and some genfs_seclabel_symlink changes
07df9b9 luci, rpcd and wpad (mainly genfs_selabel related but not all)
8d86cab genfs_seclabel loose ends for blockmount, hotplugcall, irqbalance, zram-swap
b8156cd adds a note about how i forgot to target blockd
6e82ab8 adds blockd and related
254ff43 Makefile: exclude blockd from mintesttgt
4dc6bc2 pppd update related and unbound-odhcp rules
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
David Bauer [Sun, 28 Feb 2021 10:15:37 +0000 (11:15 +0100)]
mediatek: add missing 5.10 patches
These patches are required for the Ubiquiti UniFi 6 LR to work. They
were already present for kernel 5.4 but got lost when adding 5.10
support.
Signed-off-by: David Bauer <mail@david-bauer.net>
Daniel Golle [Sat, 27 Feb 2021 14:17:09 +0000 (14:17 +0000)]
mediatek: rework support for BananaPi BPi-R64
**What's new**
* Bring support for the Bananapi BPi-R64 to the level desirable for
a nice hackable routerboard.
* Use ARM Trusted Firmware A from source. (goodbye binary preloader)
* Use Das U-Boot from source. (see previous commit)
* Assemble SD-card image using OpenWrt image-commands.
(no gen_sd_cruz_foo.sh added, this is not Raspbian)
* Updated kernel options to support root filesystem.
* Updated DTS to match OpenWrt LAN ports, known LEDs, buttons, ...
* Detect root device, handle sysupgrade, config restore, ...
* Wire up (known) LEDs and buttons in OpenWrt-fashion.
* Build one set of images from SD-card and eMMC.
* Hopefully provide a good example of how things can be done right
from scratch.
**Installation and images**
* Have an empty SD-card at hand
* Write stuff to the card, as root (card device is /dev/mmcblkX)
- write header, gpt, bl2, atf, u-boot and recovery kernel:
`cat *bpi-r64-boot-sdcard.img *bpi-r64-initramfs-recovery.fit > /dev/mmcblkX`
- rescan partitions:
`blockdev --rereadpt /dev/mmcblkX`
- write main system to production partition:
`cat *bpi-r64-squashfs-sysupgrade.fit > /dev/mmcblkXp5`
* Installation to eMMC works using SD-card bootloader via TFTP
When running OpenWrt of SD-card, issue this to trigger installation
to eMMC:
`fw_setenv bootcmd run emmc_init`
Be prepared to serve the content of bin/targets/mediatek/mt7622 on
TFTP server address 192.168.1.254.
**What's missing**
* The red LED is always on, probably a hardware bug.
* AHCI (probably needs DTS changes)
* Ship SD-card image ready with every needed for eMMC install.
* The eMMC has a second, currently unused boot partition. This would
be ideal to store the WiFi EEPROM and Ethernet MAC address(es).
@sinovoip ideas?
Thanks to Thomas Hühn @thuehn for providing the hardware!
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Sat, 27 Feb 2021 23:02:59 +0000 (23:02 +0000)]
uboot-envtools: add defaults for Bananapi BPi-R64
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Sat, 27 Feb 2021 19:29:11 +0000 (19:29 +0000)]
mt7623n-preloader: remove mt7622-preloader
mt7622-preloader has been superseeded by arm-trusted-firmware-mediatek.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Sat, 27 Feb 2021 15:14:02 +0000 (15:14 +0000)]
uboot-mediatek: rework support for Bananapi BPi-R64 board
Provide U-Boot variants for SD-card as well as eMMC boot, so we can
generate whole-disk images for the device.
While at it, rename 'mt7622' to 'mt7622-rfb1' to make it less confusing
now that more boards are being added.
Thanks to Frank Wunderlich (@frank-w) for making that nice SVG image
explaining the MMC boot process[1] and for providing the necessary
binary header blobs.
[1]: https://github.com/frank-w/BPI-R64-ATF
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Thu, 25 Feb 2021 22:49:55 +0000 (22:49 +0000)]
firmware-utils/ptgen: set GPT partition attributes and name
Allow setting GPT partition names as used by TF-A bl2 to identify the
FIP volume to load from eMMC and SD-card.
While at it, also allow setting 'required' attribute as it should be
used for volumes which are essential for the system to boot.
Also properly handle setting the LEGACY_BOOT flag on the partition
selected as 'active', as this is how it is specified in the spec.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Tue, 9 Feb 2021 23:07:42 +0000 (23:07 +0000)]
mediatek: add alternative UBI NAND layout for Linksys E8450
The vendor flash layout of the Linksys E8450 is problematic as it uses
the SPI-NAND chip without any wear-leveling while at the same time
wasting a lot of space for padding.
Use an all-UBI layout instead, storing the kernel+dtb+squashfs in
uImage.FIT standard format in UBI volume 'fit', the read-write
overlay in UBI volume 'rootfs_data' as well as reduntant U-Boot
environments 'ubootenv' and 'ubootenv2', and a 'recovery'
kernel+dtb+initramfs uImage.FIT for dual-boot.
** WARNING **
THIS PROCEDURE CAN EASILY BRICK YOUR DEVICE PERMANENTLY IF NOT CARRIED
OUT VERY CAREFULLY AND EXACTLY AS DESCRIBED!
Step 0
* Configure your PC to have the static IPv4 address 192.168.1.254/24
* Provide bin/targets/mediatek/mt7622 via TFTP
Now continue EITHER with step 1A or 1B, depending on your preference
(and on having serial console wired up or not).
Step 1A (Using the vendor web interface (or non-UBI OpenWrt install))
In order to update to the new bootloader and UBI-based firmware,
use the web browser of your choice to open the routers web-interface
accessible on http://192.168.1.1
* Navigate to
'Configuration' -> 'Administration' -> 'Firmware Upgrade'
* Upload the file
openwrt-mediatek-mt7622-linksys_e8450-ubi-initramfs-recovery.itb
and proceed with the upgrade.
* Once OpenWrt comes up, use SCP to upload the new bootloader files to
/tmp on the router:
*-mt7622-linksys_e8450-ubi-preloader.bin
*-mt7622-linksys_e8450-ubi-bl31-uboot.fip
* Connect via SSH as you will now need to replace the bootloader in
the Flash.
ssh root@192.168.1.1
(the usual warnings)
* First of all, backup all the flash now:
for mtd in /dev/mtdblock*; do
dd if=$mtd of=/tmp/$(basename $mtd);
done
* Then use SCP to copy /tmp/mtdblock* from the router and keep them
safe. You will need them should you ever want to return to the
factory firmware!
* Now flow the uploaded files:
mtd -e /dev/mtd0 write /tmp/*linksys_e8450-ubi-preloader.bin /dev/mtd0
mtd -e /dev/mtd1 write /tmp/*linksys_e8450-ubi-bl31-uboot.fip /dev/mtd1
If and only if both writes look like the completed successfully
reboot the router. Now continue with step 2.
Step 1B (Using the vendor bootloader serial console)
* Use the serial to backup all /dev/mtd* devices before using the
stock firmware (you got root shell when connected to serial).
* Then reboot and select 'U-Boot Console' in the boot menu.
* Copy the following lines, one by one:
tftpboot 0x40080000 openwrt-mediatek-mt7622-linksys_e8450-ubi-preloader.bin
tftpboot 0x40100000 openwrt-mediatek-mt7622-linksys_e8450-ubi-bl31-uboot.fip
nand erase 0x0 0x180000
nand write 0x40080000 0x0 0x180000
reset
Now continue with step 2
Step 2
Once the new bootchain comes up, the loader will initialize UBI and the
ubootenv volumes. It will then of course fail to find any bootable
volume and hence resort to load kernel via TFTP from server
192.168.1.254 while giving itself the address 192.168.1.1
The requested file is called
openwrt-mediatek-mt7622-linksys_e8450-ubi-initramfs-recovery.itb
and your TFTP server should provide exactly that :)
It will be written to UBI as recovery image and booted.
You can then continue and flash the production OS image, either
by using sysupgrade in the booted initramfs recovery OS, or by using
the bootloader menu and TFTP.
That's it. Go ahead and mess around with a bootchain built almost
completely from source (only DRAM calibration blobs are fitted in bl2,
and the irreplacable on-chip ROM loader remains, of course).
And enjoy U-Boot built with many great features out-of-the-box.
You can access the bootloader environment from within OpenWrt using the
'fw_printenv' and 'fw_setenv' commands. Don't be afraid, once you got
the new bootchain installed the device should be fairly unbrickable
(holding reset button before and during power-on resets things and
allows reflashing recovery image via TFTP)
Special thanks to @dvn0 (Devan Carpenter) for providing amazingly fast
infra for test-builds, allowing for `make clean ; make -j$(nproc)` in
less than two minutes :)
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Daniel Golle [Fri, 12 Feb 2021 03:09:39 +0000 (03:09 +0000)]
uboot-envtools: add defaults for linksys-e8450-ubi
Add U-Boot environment configuration for the Linksys E8450 (UBI) to
allow access to the bootloader environment from OpenWrt via
'fw_printenv' and 'fw_setenv'.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>