diff options
author | Jonas Gorski <jogo@openwrt.org> | 2014-08-01 21:56:31 +0000 |
---|---|---|
committer | Jonas Gorski <jogo@openwrt.org> | 2014-08-01 21:56:31 +0000 |
commit | 701e2a38fef4fce862eaeb21fc97874a6387a569 (patch) | |
tree | ff25cf2649946ea51b35d435138362c84e8129e7 /target/linux/brcm63xx/image/lzma-loader/Makefile | |
parent | 21845cb45da7b6da12fe977b38bfa68d4f72d9c1 (diff) | |
download | mtk-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/Makefile | 55 |
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) + |