prepend-dtb got extended to handle the Meraki devices too,
the problem here was that the Netgear WNDR4700 expects an
u-boot header in front of the DTB, whereas Meraki devices
don't.
Since the header was dropped, the WNDR4700's uboot started
to complain:
Bad Magic Number,it is forbidden to be written to flash!!
when flashing the factory.img since it expects an u-boot
header there.
Fixes: 5dece2d9355a ("apm821xx: switch over from DTB_SIZE to DEVICE_DTC_FLAGS")
Reported-by: @kisgezenguz
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
In order to cut down on the Netgear WNDR4700, the ata
driver can be outsourced. This helps other apm821xx
devices too to save up on kernel size (~200 kb).
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
specify that this functions adds a Cisco Meraki
special-sauce header for their custom loader/uboot.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
libdeflate's gzip compressor provides a better
compression ratio and uboot's decompressor has
no problem with the data streams.
Tested on MX60, WNDR4700, WNDAP660
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
with the introduction of the DEVICE_ALTX_VENDOR, DEVICE_ALTX_MODEL
multiple/sibiling devices can seemingly supported by one device entry.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
The MX60's kernel is limited to 0x3EFC00 by the values in
mkmerakifw.c. Since the initramfs method of loading the
kernel seems to be working, this patch does away with the
use of the mkmerakifw tool for the MX60(W).
But this will go along with a change in u-boot as well.
So before you upgrade, please attach the serial cable and
perform:
| setenv owrt510_boot run meraki_ubi owrt_bootargs\; run owrt_load1 owrt_bootkernel\; run owrt_load2 owrt_bootkernel
| setenv bootcmd run owrt510_boot
| saveenv
Note: You won't be able to use older OpenWrt releases without
switching the bootcmd back to owrt_boot!
Note2: We are no longer compatible with older OpenWrt MX60 installs.
the legacy BOARD_NAME and SUPPORTED_DEVICES can be dropped. This is
because upgrades from older images are not possible without uboot env
changes anymore. Also the bogus BLOCKSIZE value
(which was set to 63k back then, in order to get the kernel properly
aligned after the fdt + meraki header) can be set to the NANDs real
value. The FDT size (which was needed for alignment) can now be
slimmed down as well.
Co-developed-by: Martin Kennedy <hurricos@gmail.com>
Signed-off-by: Martin Kennedy <hurricos@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
disables the MX60(W) from being built by the builders for now.
But there's an effort to bring it back:
<https://github.com/openwrt/openwrt/pull/4617>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Due to 5.10 increased kernel size, the current 4MiB-ish kernel
partition got too small. Luckily, netgear's uboot environment
is setup to read 0x60000 bytes from the kernel partition location.
... While at it: also do some cleanups in the DTS in there.
The original (re-)installation described in
commit d82d84694e ("apm821xx: add support for the Netgear WNDAP620 and WNDAP660")
seemed to be still working for now. What I noticed though
is that the bigger initramfs images needed to use a different
destination address (1000000) to prevent it overwriting
itself during decompression. i.e:
# tftp 1000000 openwrt-...-wndap620-initramfs-kernel.bin
# bootm
However, in case of the WNDAP620+660 the factory.img image can be
written directly to the flash through uboot.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
WNDR4700 uboot has an issue with decompressing kernel with default dictionary size (-d23 which is about 8MB).
Limiting lzma dictionary lowers memory footprint and allows device to boot the kernel.
The highest bootable dictonary size is 18, choosing 16 for an extra safety margin.
Kernel size befor and after:
-d23: 2663665 Bytes
-d16: 2892757 Bytes
Kernel size increased by 230kB (9%)
Fixes: FS#3258
Signed-off-by: Wiktor Stasiak <wiktor.stasiak@gmail.com>
The compressed image that the buildbots are building is too large for
the netgear uboot and it crashes and soft-bricks the device.
| Uncompressing Kernel Image ...
| LZMA: uncompress or overwrite error 1 - must RESET board to recover
The whole target likely needs to be switched zImage which is a major
hassle due to powerpc's legacy bootwrapper setup as compared to ARM.
So for now, disable the device.
Reported-by: Wiktor Stasiak (FS#3258)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
The DEVICE_DTS variable always matches the device definition name,
just with "_" replaced by "-". Thus, create a DEVICE_DTS definition
in Device/Default and drop all the individual statements.
If necessary in the future, local DEVICE_DTS will still overwrite
that default.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
With several subtargets, the image/Makefile becomes crowded after a
while. Many targets have moved their device definitions to $subtarget.mk
files to have them more organized, let's do this here as well.
While at it, also move subtarget-specific build recipes.
Cc: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Acked-by: Christian Lamparter <chunkeey@gmail.com>