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 | 9762c605fe5fe106010f441c9daf42b08c1fcad8 (patch) | |
tree | 0a6166911934c4b2de5baa7f8ef5185da00ca06f /target/linux/brcm63xx/image/lzma-loader/Makefile | |
parent | a3ea08a8254c2d653bd9440441e59a9bfdc1394b (diff) | |
download | master-187ad058-9762c605fe5fe106010f441c9daf42b08c1fcad8.tar.gz master-187ad058-9762c605fe5fe106010f441c9daf42b08c1fcad8.tar.bz2 master-187ad058-9762c605fe5fe106010f441c9daf42b08c1fcad8.zip |
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41940 3c298f89-4303-0410-b956-a3cf2f4a3e73
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 5dd6f50977..8d36691cb5 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) + |