summaryrefslogtreecommitdiff
path: root/target/linux/brcm63xx/image/lzma-loader/Makefile
diff options
context:
space:
mode:
authorJonas Gorski <jogo@openwrt.org>2014-08-01 21:56:31 +0000
committerJonas Gorski <jogo@openwrt.org>2014-08-01 21:56:31 +0000
commit701e2a38fef4fce862eaeb21fc97874a6387a569 (patch)
treeff25cf2649946ea51b35d435138362c84e8129e7 /target/linux/brcm63xx/image/lzma-loader/Makefile
parent21845cb45da7b6da12fe977b38bfa68d4f72d9c1 (diff)
downloadmtk-20170518-701e2a38fef4fce862eaeb21fc97874a6387a569.zip
mtk-20170518-701e2a38fef4fce862eaeb21fc97874a6387a569.tar.gz
mtk-20170518-701e2a38fef4fce862eaeb21fc97874a6387a569.tar.bz2
brcm63xx: add working lzma-loader and use it for initramfs
Add a working lzma loader and use it for generating initramfs kernels to allow easily netbooting elf kernels on devices with a 4 MiB CFE size limit. Based on ar71xx's lzma-loader. Signed-off-by: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 41940
Diffstat (limited to 'target/linux/brcm63xx/image/lzma-loader/Makefile')
-rw-r--r--target/linux/brcm63xx/image/lzma-loader/Makefile55
1 files changed, 42 insertions, 13 deletions
diff --git a/target/linux/brcm63xx/image/lzma-loader/Makefile b/target/linux/brcm63xx/image/lzma-loader/Makefile
index 5dd6f50..8d36691 100644
--- a/target/linux/brcm63xx/image/lzma-loader/Makefile
+++ b/target/linux/brcm63xx/image/lzma-loader/Makefile
@@ -1,5 +1,6 @@
-#
-# Copyright (C) 2006 OpenWrt.org
+#
+# Copyright (C) 2011 OpenWrt.org
+# Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -7,27 +8,55 @@
include $(TOPDIR)/rules.mk
+LZMA_TEXT_START := 0x80a00000
+LOADER := loader.bin
+LOADER_NAME := $(basename $(notdir $(LOADER)))
+LOADER_DATA :=
+TARGET_DIR :=
+FLASH_OFFS :=
+FLASH_MAX :=
+
+ifeq ($(TARGET_DIR),)
+TARGET_DIR := $(KDIR)
+endif
+
+LOADER_BIN := $(TARGET_DIR)/$(LOADER_NAME).bin
+LOADER_GZ := $(TARGET_DIR)/$(LOADER_NAME).gz
+LOADER_ELF := $(TARGET_DIR)/$(LOADER_NAME).elf
+
PKG_NAME := lzma-loader
-PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
+PKG_BUILD_DIR := $(KDIR)/$(PKG_NAME)
+
+.PHONY : loader-compile loader.bin loader.elf loader.gz
$(PKG_BUILD_DIR)/.prepared:
mkdir $(PKG_BUILD_DIR)
$(CP) ./src/* $(PKG_BUILD_DIR)/
touch $@
-$(PKG_BUILD_DIR)/loader.gz: $(PKG_BUILD_DIR)/.prepared
- $(MAKE) -C $(PKG_BUILD_DIR) CC="$(TARGET_CC)" \
- LD="$(TARGET_CROSS)ld" CROSS_COMPILE="$(TARGET_CROSS)"
+loader-compile: $(PKG_BUILD_DIR)/.prepared
+ $(MAKE) -C $(PKG_BUILD_DIR) CROSS_COMPILE="$(TARGET_CROSS)" \
+ LZMA_TEXT_START=$(LZMA_TEXT_START) \
+ LOADER_DATA=$(LOADER_DATA) \
+ FLASH_OFFS=$(FLASH_OFFS) \
+ FLASH_MAX=$(FLASH_MAX) \
+ clean all
+
+loader.gz: $(PKG_BUILD_DIR)/loader.bin
+ gzip -nc9 $< > $(LOADER_GZ)
-download:
+loader.elf: $(PKG_BUILD_DIR)/loader.elf
+ $(CP) $< $(LOADER_ELF)
+
+loader.bin: $(PKG_BUILD_DIR)/loader.bin
+ $(CP) $< $(LOADER_BIN)
+
+download:
prepare: $(PKG_BUILD_DIR)/.prepared
-compile: $(PKG_BUILD_DIR)/loader.gz
-install:
+compile: loader-compile
-ifneq ($(TARGET),)
-install: compile
- $(CP) $(PKG_BUILD_DIR)/loader.gz $(PKG_BUILD_DIR)/loader.elf $(TARGET)/
-endif
+install:
clean:
rm -rf $(PKG_BUILD_DIR)
+