Commit Graph

61 Commits

Author SHA1 Message Date
André Valentin
353ecbbf64 ar71xx: fix bug in NBG6716 kernelpacking, add firmware partition
-Fix the kernel image generation (more robust)
-Add a firmware partition table allowing easy upgrade to ath79

Signed-off-by: André Valentin <avalentin@marcant.net>
2019-10-27 13:38:25 +01:00
Kin Chan
18b87b10a9 ar71xx: Move F9K1115v2 under ar71xx tiny target
F9K1115v2 has a kernel partition size of 1408 kB.

Since kernel 4.9.x+ the kernel image for this device compiled had exceeded
the kernel partition size limit and thus failing size check.

The kernel image generated for this device
under ar71xx tiny target is 1329.67 kB < 1408 kB.

Signed-off-by: Kin Chan <kcchan1@outlook.com>
2018-07-16 15:12:19 +02:00
Felix Fietkau
cde71a543c build: replace uses of OpenWrt with $(VERSION_DIST)
This makes the distribution name more configurable.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-05 10:15:53 +01:00
Piotr Dymacz
6cf682e214 ar71xx: image: move Sitecom WLR-8100 from legacy to generic
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-01-15 00:12:13 +01:00
Davide Fioravanti
a85db951db ar71xx: fix Sitecom WLR-8100 support
This patch fixes Sitecom WLR-8100:

- mtd layout
- LAN and WAN MAC address setup
- 2.4 GHz Wi-Fi MAC address setup
- 5 GHz Wi-Fi support (calibration data, MAC address setup, missing
  ath10k-* packages)

Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com>
[squashed commits, fixed whitespace issues, reworded commit message]
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2018-01-15 00:12:13 +01:00
Matthias Schiffer
0cd5e85e7a
ar71xx: create new ar71xx/tiny subtarget for 4MB flash devices
This new subtarget sets the small_flash flag and removes unused kernel
configuration.

small_flash removes KERNEL_KALLSYMS, which saves ~107KB in the default
configuration; removing unneeded hardware support from ar71xx/tiny saves
another ~18KB (both after LZMA).

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2018-01-13 19:54:45 +01:00
Zoltan HERPAI
7b5c989ab9 merge: targets: update image generation and targets
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2017-12-08 19:41:18 +01:00
Catrinel Catrinescu
cd4b60c329 ar71xx: ew-dorin target moved from legacy to generic
Embedded Wireless Dorin platform moved from legacy to generic

Signed-off-by: Catrinel Catrinescu <cc@80211.de>
2017-10-07 09:20:04 +02:00
Camille Bilodeau
bb46b635df ar71xx: move Arduino Yun to generic building code
Migrate Arduino Yun from legacy to generic building code.

Note: the mtd partitioning is changed to adopt the LEDE default
partitioning. It allows to have a kernel bigger than 1280k. It is
necessary as kernel > 4.4 with default LEDE configuration grows
bigger.

To use the new partitioning, you need to update your U-Boot env in
advance:

setenv mtdparts "spi0.0:256k(u-boot)ro,64k(u-boot-env),15936k(firmware),64k(nvram),64k(art)ro"
setenv bootcmd "run addboard; run addtty; run addparts; run addrootfs; bootm 0x9f050000 || bootm 0x9fea0000"
saveenv

Signed-off-by: Camille Bilodeau <camille.bilodeau@protonmail.com>
2017-06-29 10:37:36 +02:00
Camille Bilodeau
2fa58a8d7c ar71xx: remove Arduino Yun 8 MiB prototype
The Arduino Yun has 16 MiB flash. Early prototype boards with 8 MiB were
not available for sell:

https://blog.arduino.cc/2013/08/21/updating-about-arduino-yun-and-arduino-robot/

Signed-off-by: Camille Bilodeau <camille.bilodeau@protonmail.com>
2017-06-29 10:37:36 +02:00
Alexander Couzens
d6331d5583 ar71xx/image: make tar calls reproducible
Use --mtime when SOURCE_DATE_EPOCH is set.
Use gzip -n9z instead of tar z to remove
timestamp in gzip header.

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
2017-06-25 12:11:41 +02:00
Piotr Dymacz
641af0c39d ar71xx: move WRTnode2Q to generic build target
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2017-06-11 21:32:17 +02:00
Piotr Dymacz
bd92a6cf57 ar71xx: image: drop unused mtdlayouts from legacy.mk
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2017-06-11 21:22:46 +02:00
Piotr Dymacz
6173f6d8f1 ar71xx: move Wallys DR344 to generic build target
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2017-05-30 14:34:09 +02:00
Piotr Dymacz
1c56a7929a ar71xx: move Zbtlink ZBT-WE1526 to generic build target
Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2017-05-15 22:43:33 +02:00
Christian Mehlis
be11ce8f26 ar71xx: move Compex WPJ342 to generic build target
Signed-off-by: Christian Mehlis <christian@m3hlis.de>
2017-03-29 09:04:08 +02:00
Christian Mehlis
0af487033e ar71xx: move Compex WPJ344 to generic build target
Signed-off-by: Christian Mehlis <christian@m3hlis.de>
2017-03-29 09:04:08 +02:00
Christian Mehlis
f5ece7326a ar71xx: move Compex WPJ531 to generic build target
Signed-off-by: Christian Mehlis <christian@m3hlis.de>
2017-03-29 09:04:08 +02:00
Christian Mehlis
f940fe8964 ar71xx: move Compex WPJ558 to generic build target
Signed-off-by: Christian Mehlis <christian@m3hlis.de>
2017-03-29 09:04:08 +02:00
Felix Fietkau
eb4f70a3cd ar71xx: use common firmware partition for WNDAP360
Patch from https://github.com/openwrt/openwrt/pull/398

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-23 16:27:47 +01:00
Alexandru Gagniuc
6cce9557a0 ar71xx: Add support for D-Link EBR-2310 Rev. C
Add support for the EBR-2310, which is almost identical to the DIR-615
rev E4, without the wifi.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
2017-02-14 12:27:14 +01:00
Sven Eckelmann
5e50adeed3 ar71xx: create profile and build image for the OpenMesh A60 board
Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2017-02-14 12:18:05 +01:00
Felix Fietkau
83783f296a uboot-ar71xx: switch to using u-boot.mk
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-24 16:21:24 +01:00
John Crispin
236fcedc51 Revert "ar71xx: wrt400n: lift size limit on kernel and rootfs part"
This reverts commit 78c2ec0f47.

The builders were failing with a segfault when generating the image

Signed-off-by: John Crispin <john@phrozen.org>
2017-01-20 06:43:13 +01:00
Yousong Zhou
78c2ec0f47 ar71xx: wrt400n: lift size limit on kernel and rootfs part
While at it, convert to new build method

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2017-01-20 00:44:46 +01:00
Felix Fietkau
b1dbe6028e ar71xx: fix legacy image build error
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-11 13:09:21 +01:00
Gad Krumholz
21cb84435a ar71xx: Added missing support for Linksys E2100L
It's based on the WRT160NL according to
https://wiki.openwrt.org/toh/linksys/e2100l

Based on research done here: https://forum.openwrt.org/viewtopic.php?id=24244
and here: https://forum.openwrt.org/viewtopic.php?pid=120791#p120791 this patch
was conceived.

Signed-off-by: Gad Krumholz <gad.krumholz@gmail.com>
[Jo-Philipp Wich: fix ordering, move addpattern change into separate commit]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-12-14 18:42:48 +01:00
Huan Truong
fd62fa752b ar71xx: Add support for Netgear WNR2000v1
This patch adds supports for the WNR2000v1 board with 4MB flash, and
produces device-specific factory, rootfs, and sysupgrade files for the
WNR2000v1. This board is errorneously claimed as supported on the OpenWRT
wiki as AP81, but AP81 image would not work because of APT81 image
requiring having 8MB of flash, while WNR2000v1 has only 4MB.

The image requires the u-boot bootloader to be modified to fuhry's
bootloader first.

Short specification:

- CPU: Atheros AR9132
- 4x 10/100 Mbps Ethernet, 1x WAN 10/100 Mbps
- 4 MB of Flash
- 32 MB of RAM
- UART header (J1) on board
- 1x button

Factory/Initial flash instructions:

- Set up a TFTP server on your local machine.
- Download the uImage for ar71xx-generic and the rootfs image for
  ar71xx-generic-wnr2000 and save in the tftp server root.
- Gain serial access to the router via the UART port (telnetenable over
  the network only won't work!).
- Upgrade the u-boot bootloader to fuhry's version by running the
  script: http://fuhry.com/b/wnr2000/install-repart.sh
- When the router restarts, interrupt u-boot and gain access to u-boot command line.
- Repartititon the board and flash initial uImage and rootfs as follow.

Commands to type in u-boot:

	# tells u-boot that we have a tftp server on 192.168.1.10
	setenv serverip 192.168.1.10

	# tells u-boot that the router should take the address 192.168.1.1
	setenv ipaddr 192.168.1.1

	# erase the region from 0x050000-0x3f0000
	erase 0xbf050000 +0x3A0000

	# loads sqfs.bin on TFTP server, and put it to memory address 0x81000000
	tftpboot 0x81000000 sqfs.bin
	# it will tell you the length of sqfs.bin in hex, let's say ZZZZZZ
	# copy bit by bit 0xZZZZZZ bytes from offset 0x050000
	cp.b 0x81000000 0xbf050000 0xZZZZZZ

	# same to the uImage.bin, write it right next to sqfs.bin
	# again, 0xYYYYYY is the length that tftpboot reports
	tftpboot 0x81000000 uImage.bin
	cp.b 0x81000000 0xbf2a0000 0xYYYYYY

	# We need to tell the kernel what board it is booting into, and where to find the partitions
	setenv bootargs "board=WNR2000 console=ttyS0,115200 mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,3712k(firmware),64k(art)ro rootfstype=squashfs,jffs2 noinitrd"

	# Tell u-boot where to find the uImage
	setenv bootcmd "bootm 0xbf2a0000"

	# Tell u-boot to save parameters to the u-boot-env partitions
	saveenv

	# Reset the board
	reset

Tested on:

- WNR2000v1 board.
- Initial flash works.

Known bugs:

- I don't know why factory image doesn't work on initial flash on stock
  firmware in u-boot recovery mode while it should.
- Sysupgrade does not yet work, if you do -f it will mess up your
  installation (requiring a reinstall of sqfs and uImage).

Signed-off-by: Huan Truong <htruong@tnhh.net>
2016-12-14 10:37:01 +01:00
Felix Fietkau
4c8a9b8e39 ar71xx: remove AP81 reference design board support
This board is very old and unlikely to still be relevant today.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-12 10:22:18 +01:00
Felix Fietkau
441ee62931 ar71xx: remove AP83 reference design board support
This board is very old and unlikely to still be relevant today. Support
for it contains a significant amount of device specific baggage which is
worth getting rid of.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-12 10:22:18 +01:00
Felix Fietkau
1cd7ff3e96 ar71xx: remove squashfs-64k rootfs image from bin directory, the generic one is enough
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-29 10:20:27 +01:00
Felix Fietkau
eff858e8df ar71xx: remove split kernel/rootfs images where the sysupgrade image can be written to flash directly
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-29 10:20:27 +01:00
Felix Fietkau
cc550d0005 ar71xx: remove 2MB flash variant of WP543
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-29 09:55:05 +01:00
Felix Fietkau
12e2beaaed ar71xx: remove legacy devices that cannot be supported due to kernel partition size limits
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-29 09:51:57 +01:00
Felix Fietkau
35dda35114 ar71xx: remove legacy gzip images
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-29 09:44:39 +01:00
Felix Fietkau
88f6f0120d ar71xx: remove obsolete jffs2 image building code
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-29 09:44:39 +01:00
Stijn Tintel
6b0d279ca5 ar71xx: build relocate stub for generic and legacy images
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Acked-by: John Crispin <john@phrozen.org>
2016-10-27 01:50:42 +03:00
Chuanhong Guo
c5a7e2c2fb ar71xx: Ignore firmware building errors of UBNT and CyberTAN devices
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2016-10-26 14:07:20 +02:00
Chris Blake
d8662ac3c6 ar71xx: Move MR12 & MR16 from legacy to generic
This moves the Meraki MR12 and Meraki MR16 to the new generic target.
Tested and verified working on both devices.

Note that kernel/rootfs images are still generated. This is because they
are used for the inital flashing process due to the fun pace at which
UBoot erases/writes to SPI.

Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
2016-10-26 12:37:44 +02:00
Karl Palsson
5d04dcedb4 ar71xx: move dragino2 from legacy to generic
Tested on real hardware with r1804.

Signed-off-by: Karl Palsson <karlp@etactica.com>
2016-10-13 17:04:38 +02:00
Matthias Schiffer
0d1fb72241
ar71xx: add relocation loader
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-10-11 20:39:16 +02:00
Piotr Dymacz
2ad0ecc101 ar71xx: mark U-Boot and radio calibration data partitions as read-only
General convention is to keep U-Boot and radio calibration
data (ART) mtd partitions marked as read-only.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2016-09-19 15:30:32 +02:00
Piotr Dymacz
f478fba663 ar71xx: add support for Zbtlink ZBT-WE1526
Zbtlink ZBT-WE1526 is based on Qualcomm Atheros QCA9531 v2.
Short specification:

- 650/400/200 MHz (CPU/DDR/AHB)
- 5x 10/100 Mbps Ethernet
- 1x USB 2.0
- 128 MB of RAM (DDR2)
- 16 MB of FLASH
- 2T2R 2.4 GHz, up to 22 dBm
- two external, non-detachable antennas
- 8x LED, 1x button
- UART header (pinout: VCC, RX, TX, GND)

Flash instruction:

Use sysupgrade in vendor firmare which is based on OpenWrt.

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
2016-08-18 09:49:18 +02:00
Matthias Schiffer
9687341808
ar71xx: clean up legacy-devices.mk
Several legacy images were not buildable because of missing profile
definitions in legacy-devices.mk since MultiProfile was removed. Update
legacy-devices.mk to provide all necessary profiles, and change ordering
to match legacy.mk.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-07-27 17:27:19 +02:00
Felix Fietkau
4d0f4f5e52 ar71xx: remove obsolete MultiProfile template code
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-21 13:29:04 +02:00
Felix Fietkau
70cf8c3048 ar71xx: fix build error when initramfs is disabled
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-13 18:41:25 +02:00
Felix Fietkau
d6b3b44d97 ar71xx: fix a legacy image porting issue
Get rid of remaining IMAGE_PROFILE references and move template calls
the right place

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-13 13:59:24 +02:00
John Crispin
8fe69e4d42 ar71xx: fix nand device profile
Signed-off-by: John Crispin <john@phrozen.org>
2016-07-05 22:59:14 +02:00
Yousong Zhou
559a7d1177 ar71xx: seama: fix making factory images
rootfs part needs to be aligned to erase block size which is passed as
the 6th argument to Image/Build/Seama  and is now 65536 since commit
commit 5119ee9 "ar71xx: fix bogus hardcoded kernel image size for Seama
images (fixes #20585)", but $(($(6) - 64)) still assumes that the
argument is a limit on kernel partition size, i.e. 1310720, so the
generated factory image is wrong in that the kernel will fail to find
the rootfs (FlySpray link at [1])

This patch will workaround it with the following steps

1. Calculate the required space for seama header and META data in step 5
2. Pre-padding 64 bytes to lzma-compressed loader
3. Generate correctly padded image-$(2).tmp
4. Strip out the padding
5. Seal it with seama utility

While at it convert seama to new build method

[1] FS#35 - mynet-n750 factory images don't find root partition,
    https://bugs.lede-project.org/index.php?do=details&task_id=35

Reported-by: Steven Haigh <netwiz@crc.id.au>
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2016-06-30 22:48:39 +02:00
Jo-Philipp Wich
6ee66ae075 ar71xx: further legacy image build fixes
- Add missing macro to trigger the generation of 64k padded squashfs images
- Revert Zcomax image generation to use the prepared 64k squashfs image

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-06-27 15:15:49 +02:00