aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79/image
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ath79/image')
-rw-r--r--target/linux/ath79/image/Makefile6
-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
4 files changed, 16 insertions, 1 deletions
diff --git a/target/linux/ath79/image/Makefile b/target/linux/ath79/image/Makefile
index c2d2474336..d8b8800d91 100644
--- a/target/linux/ath79/image/Makefile
+++ b/target/linux/ath79/image/Makefile
@@ -4,6 +4,7 @@ include $(INCLUDE_DIR)/image.mk
KERNEL_LOADADDR = 0x80060000
DEVICE_VARS += LOADER_FLASH_OFFS LOADER_TYPE
+DEVICE_VARS += LOADER_FLASH_MAX LOADER_KERNEL_MAGIC
DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_HW_ID
DEVICE_VARS += RAS_BOARD RAS_ROOTFS_SIZE RAS_VERSION
@@ -30,7 +31,10 @@ define Build/loader-kernel
endef
define Build/loader-okli-compile
- $(call Build/loader-common,FLASH_OFFS=$(LOADER_FLASH_OFFS) FLASH_MAX=0)
+ $(call Build/loader-common, \
+ FLASH_OFFS=$(LOADER_FLASH_OFFS) \
+ FLASH_MAX=$(LOADER_FLASH_MAX) \
+ KERNEL_MAGIC=$(LOADER_KERNEL_MAGIC) )
endef
# Arguments: <output name> <kernel offset>
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;
}