Commit Graph

27 Commits

Author SHA1 Message Date
Felix Fietkau
44779f88db
kernel: rename mtdpart_get_master to mtd_get_master
Preparation for supporting newer kernels

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2020-11-14 13:51:31 +08:00
AmadeusGhost
59e875b6cd generic/mtd: sync upstream source code 2020-10-31 12:38:04 +08:00
Birger Koblitz
9e2bdac0d8 kernel: add support for ALLNET devices in mtdsplit
Add support for uimage headers from ALLNET and provide support for the
SG8208M and SG8310PM devices' magic bytes.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
2020-09-15 11:38:32 +08:00
Sander Vanheule
00ee1498ac kernel: mtdsplit: support ELF loader splitting
To parse the ELF kernel loader, a small ELF parser is used that can
handle both ELF32 or ELF64 class loaders. The splitter assumes that the
kernel is always located before the rootfs, whether it is embedded in
the loader or not. If the kernel is located after the rootfs on the
firmware partition, then the rootfs splitter will include it in the
dynamically created rootfs_data partition and the kernel will be
corrupted.

The kernel image is preferably embedded inside the ELF loader, so the
end of the loader equals the end of the kernel partition. This is due to
the way mtd_find_rootfs_from searches for the the rootfs:
- if the kernel image is embedded in the loader, the appended rootfs may
  follow the loader immediately, within the same erase block.
- if the kernel image is not embedded in the loader, but placed at some
  offset behind the loader (OKLI-style loader), the rootfs must be
  aligned to an erase-block after the loader and kernel image.

In case section header table is empty, determine the elf loader size by
finding the end of the last segment, as defined by the program header
table.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2020-09-10 17:27:30 +08:00
CN_SZTL
76c217e8df
Merge Mainline 2020-08-12 14:49:43 +08:00
AmadeusGhost
0ca6b90875 ramips/dir878: remove the original factory partition definition 2020-08-12 11:01:24 +08:00
Álvaro Fernández Rojas
30a6d42aa4 kernel: mtdsplit: bcm_wfi: always add img partitions
This is useful when booting OpenWrt from ramdisks in order to have both
images partitions defined.
Furthermore, instead of always using img2 for the inactive image, let's use
img1 or img2 accordingly.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2020-06-04 17:44:02 +08:00
Álvaro Fernández Rojas
594161b6ca kernel: mtdsplit: support Broadcom WFI bootflags
When firmware is flashed, cferam.000 extension is renamed to the next number.
When booting, CFE scans the NAND and picks the partition with the highest
cferam extension and ignores the other one.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2020-06-03 11:48:06 +08:00
Álvaro Fernández Rojas
bf774a6c64 kernel: mtdsplit: improve JFFS2 scan
Allow retrieving full file name and length by parameters.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2020-06-03 11:47:26 +08:00
Álvaro Fernández Rojas
0b83f789ab kernel: mtdsplit: bcm_wfi: refactor code
Create new parse_bcm_wfi function with common code from current parsers.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2020-06-03 11:45:23 +08:00
Álvaro Fernández Rojas
dfc1114b24 kernel: mtdsplit: bcm_wfi: remove brcm,wfi-sercomm compatibility
The only Sercomm WFI user has been migrated to a dedicated firmware parser.
Keep support for no cferam partition based on a boolean DT property.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2020-06-02 18:10:54 +08:00
Álvaro Fernández Rojas
9189a47db5 kernel: mtdsplit: bcm_wfi: support Sercomm bootflags
Sercomm uses 2 bootflag partitions and boots the firmware with the highest
bootflag. Support splitting the firmware partition while keeping support for
unsplitted layout.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2020-06-02 18:10:01 +08:00
Álvaro Fernández Rojas
4b4bf048e9 kernel: mtdsplit: bcm_wfi: code refactoring
- Rename master to mtd.
- Pass mtd size as an argument.
- Rename of_match_table.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2020-06-02 18:09:33 +08:00
Álvaro Fernández Rojas
595a7127e0 kernel: mtdsplit: bcm_wfi: add sercomm support
SERCOMM creates separates partitions for cferam.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2020-05-20 11:49:08 +08:00
Álvaro Fernández Rojas
81066f19d7 kernel: mtdsplit: add BCM WFI support
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2020-05-19 11:53:47 +08:00
Alan Luck
4c8ded996c ramips: add support for Dlink DIR-878 A1
Specifications:
* SoC: MT7621AT
* RAM: 128MB
* Flash: 16MB NOR SPI flash
* WiFi: MT7615N (2.4GHz) and MT7615N (5Ghz)
* LAN: 5x1000M
* Firmware layout is Uboot with extra 96 bytes in header
* Base PCB is AP-MTKH7-0002
* LEDs Power Green,Power Orange,Internet Green,Internet Orange
* LEDs "2.4G" Green & "5G" Green connected directly to wifi module
* Buttons Reset,WPS,WIFI

Flash instruction:

Upload image via emergency recovery mode via Windows "not working with Linux"
Push and hold reset button (on the bottom of the device) until power led starts flashing (about 10 secs or so) while plugging in the power cable.
Give it ~30 seconds, to boot the recovery mode GUI
Connect your client computer to LAN1 of the device
Set your client IP address manually to 192.168.0.2 / 255.255.255.0.
Call the recovery page for the device at http://192.168.0.1
Use the provided emergency web GUI to upload and flash a new firmware to the device

MAC addresses:

lan      factory 0xe000 *:55 (label)
wan      factory 0xe006 *:58
2.4 GHz  factory 0x0004 *:56
5.0 GHz  factory 0x8004 *:57

Signed-off-by: Alan Luck <luckyhome2008@gmail.com>
2020-03-03 17:08:14 +08:00
AmadeusGhost
478a80a5dc drivers/mtd: update from official 2020-03-03 17:06:29 +08:00
Hauke Mehrtens
e6929ccefd kernel: Add missing includes mtdsplit_*.c
This fixes the following compile problem with kernel 4.9 on lantiq:
drivers/mtd/mtdsplit/mtdsplit_uimage.c:244:34: error: array type has incomplete element type 'struct of_device_id'
 static const struct of_device_id mtdsplit_uimage_of_match_table[] = {
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/mtd/mtdsplit/mtdsplit_uimage.c:245:4: error: field name not in record or union initializer
  { .compatible = "denx,uimage" },

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2020-02-27 22:15:36 +08:00
CN_SZTL
69acbbfc9e
update target 2019-08-19 22:26:19 +08:00
CN_SZTL
ce8ed9121b
add luci-app-haproxy & luci-app-udpspeederv2 2019-05-25 21:05:51 +08:00
coolsnowwolf
5f00fa0f8b ar71xx: backport kernel 4.9 support 2019-02-13 21:50:29 +08:00
coolsnowwolf
347daa04b2 Merge branch master of https://github.com/coolsnowwolf/lede 2019-01-03 19:29:28 +08:00
coolsnowwolf
d52748954a Revert "sync with upstream patch"
This reverts commit a01e7df608.
2019-01-03 15:20:58 +08:00
coolsnowwolf
a01e7df608 sync with upstream patch 2019-01-02 21:48:12 +08:00
coolsnowwolf
8fe0636b8a Merge branch 'master' of github.com:lede-project/source 2018-04-23 18:50:49 +08:00
coolsnowwolf
229cde62a4 Merge branch 'master' of https://github.com/lede-project/source 2018-01-09 14:38:15 +08:00
coolsnowwolf
97a4ffcc12 update source 2017-09-06 19:19:45 +08:00