aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79/image/lzma-loader
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ath79/image/lzma-loader')
-rw-r--r--target/linux/ath79/image/lzma-loader/Makefile2
-rw-r--r--target/linux/ath79/image/lzma-loader/src/Makefile5
-rw-r--r--target/linux/ath79/image/lzma-loader/src/loader.c4
3 files changed, 11 insertions, 0 deletions
diff --git a/target/linux/ath79/image/lzma-loader/Makefile b/target/linux/ath79/image/lzma-loader/Makefile
index 0ff59bc56a..2b1ed82a98 100644
--- a/target/linux/ath79/image/lzma-loader/Makefile
+++ b/target/linux/ath79/image/lzma-loader/Makefile
@@ -13,6 +13,7 @@ LOADADDR := 0x80060000
LOADER := loader.bin
LOADER_NAME := $(basename $(notdir $(LOADER)))
LOADER_DATA :=
+KERNEL_MAGIC :=
TARGET_DIR :=
FLASH_OFFS :=
FLASH_MAX :=
@@ -41,6 +42,7 @@ loader-compile: $(PKG_BUILD_DIR)/.prepared
LZMA_TEXT_START=$(LZMA_TEXT_START) \
LOADADDR=$(LOADADDR) \
LOADER_DATA=$(LOADER_DATA) \
+ KERNEL_MAGIC=$(KERNEL_MAGIC) \
FLASH_OFFS=$(FLASH_OFFS) \
FLASH_MAX=$(FLASH_MAX) \
BOARD="$(BOARD)" \
diff --git a/target/linux/ath79/image/lzma-loader/src/Makefile b/target/linux/ath79/image/lzma-loader/src/Makefile
index 7773f027a2..c7bb935a03 100644
--- a/target/linux/ath79/image/lzma-loader/src/Makefile
+++ b/target/linux/ath79/image/lzma-loader/src/Makefile
@@ -18,6 +18,7 @@
LOADADDR :=
LZMA_TEXT_START := 0x80a00000
LOADER_DATA :=
+KERNEL_MAGIC :=
BOARD :=
FLASH_OFFS :=
FLASH_MAX :=
@@ -54,6 +55,10 @@ OBJECTS += data.o
CFLAGS += -DLZMA_WRAPPER=1 -DLOADADDR=$(LOADADDR)
endif
+ifneq ($(strip $(KERNEL_MAGIC)),)
+CFLAGS += -DCONFIG_KERNEL_MAGIC=$(KERNEL_MAGIC)
+endif
+
ifneq ($(strip $(KERNEL_CMDLINE)),)
CFLAGS += -DCONFIG_KERNEL_CMDLINE='"$(KERNEL_CMDLINE)"'
endif
diff --git a/target/linux/ath79/image/lzma-loader/src/loader.c b/target/linux/ath79/image/lzma-loader/src/loader.c
index 794c4b6285..0213e94574 100644
--- a/target/linux/ath79/image/lzma-loader/src/loader.c
+++ b/target/linux/ath79/image/lzma-loader/src/loader.c
@@ -189,7 +189,11 @@ static void lzma_init_data(void)
p = flash_base + flash_ofs;
magic = get_be32(p);
+#ifdef CONFIG_KERNEL_MAGIC
+ if (magic == CONFIG_KERNEL_MAGIC) {
+#else
if (magic == IH_MAGIC_OKLI) {
+#endif
hdr = (struct image_header *) p;
break;
}