Skip to content

Commit

Permalink
ramips: mt7621: use lzma-loader for D-Link DIR-860L B1
Browse files Browse the repository at this point in the history
This device has trouble extracting big kernel from flash,
and supports LZMA compressed kernels only.

Using OpenWrt kernel loader saves us 64 KB compared to the dictionary
size limiting workaround.

Factory image sizes (commit: 5f126c5) with "CONFIG_ALL_KMODS=y":
- original ("-d23", default): 4784188 bytes, LZMA ERROR 1
- with "-d19": 4915260, LZMA ERROR 1
- with "-d18": 4915260, diff to original: +128 KB
- with "-d17": 4980796, diff to original: +192 KB
- with this patch: 4849724, diff to original: +64 KB

To save some CPU cycle, use minimal compression ("-a0") for the LZMA
compressed uImage.

The most robust solution would use a different loader,
which reads the compressed kernel directly from the flash.
See the thread at [0] for more details!

[0] http://lists.infradead.org/pipermail/openwrt-devel/2020-April/022926.html

Signed-off-by: Szabolcs Hubai <szab.hu@gmail.com>
Tested-by: Stijn Segers <foss@volatilesystems.org>
[fixed identation]
Signed-off-by: David Bauer <mail@david-bauer.net>
  • Loading branch information
xabolcs authored and blocktrron committed Apr 27, 2020
1 parent 654eec5 commit ce19571
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion target/linux/ramips/image/mt7621.mk
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,9 @@ define Device/dlink_dir-860l-b1
$(Device/seama)
BLOCKSIZE := 64k
SEAMA_SIGNATURE := wrgac13_dlink.2013gui_dir860lb
KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma | uImage lzma
LOADER_TYPE := bin
KERNEL := kernel-bin | append-dtb | lzma | loader-kernel | \
relocate-kernel | lzma -a0 | uImage lzma
IMAGE_SIZE := 16064k
DEVICE_VENDOR := D-Link
DEVICE_MODEL := DIR-860L
Expand Down

0 comments on commit ce19571

Please sign in to comment.