ath79: move lzma-loader to the end of available RAM

In certain cases, the uncompressed initramfs image will overwrite
the lzma-loader, which is currently only 10 MB away from kernel image
start. To prevent this, change LZMA_TEXT_START to 24 MB, so loader
and compressed image have 8 MB at the end of RAM and uncompressed
image has 24 MB available.

This is only enabled for ath79 at the moment, as there we can be sure
that all devices have 32+ MB RAM and TARGET_INITRAMFS_COMPRESSION_LZMA
is not enabled there.

Despite, since lzma-loader is currently build specifically for ath79
anyway, there is no need to re-specify LOADADDR and LZMA_TEXT_START
in image/Makefile, so the values are set directly in
image/lzma-loader/Makefile and the overwrite in image/Makefile is
removed.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
master
Adrian Schmutzler 2020-01-22 18:06:07 +01:00
parent 6aaa5ce2c5
commit 071a637276
2 changed files with 2 additions and 3 deletions

View File

@ -10,7 +10,6 @@ define Build/loader-common
$(MAKE) -C lzma-loader \ $(MAKE) -C lzma-loader \
PKG_BUILD_DIR="$@.src" \ PKG_BUILD_DIR="$@.src" \
TARGET_DIR="$(dir $@)" LOADER_NAME="$(notdir $@)" \ TARGET_DIR="$(dir $@)" LOADER_NAME="$(notdir $@)" \
LZMA_TEXT_START=0x80a00000 LOADADDR=0x80060000 \
$(1) compile loader.$(LOADER_TYPE) $(1) compile loader.$(LOADER_TYPE)
mv "$@.$(LOADER_TYPE)" "$@" mv "$@.$(LOADER_TYPE)" "$@"
rm -rf $@.src rm -rf $@.src

View File

@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
LZMA_TEXT_START := 0x80a00000 LZMA_TEXT_START := 0x81800000
LOADADDR := 0x80060000 LOADADDR := 0x80060000
LOADER := loader.bin LOADER := loader.bin
LOADER_NAME := $(basename $(notdir $(LOADER))) LOADER_NAME := $(basename $(notdir $(LOADER)))
LOADER_DATA := LOADER_DATA :=
TARGET_DIR := TARGET_DIR :=
FLASH_OFFS := FLASH_OFFS :=
FLASH_MAX := FLASH_MAX :=