From 701e2a38fef4fce862eaeb21fc97874a6387a569 Mon Sep 17 00:00:00 2001 From: Jonas Gorski Date: Fri, 1 Aug 2014 21:56:31 +0000 Subject: 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 SVN-Revision: 41940 --- target/linux/brcm63xx/image/lzma-loader/Makefile | 55 ++++++++++++++++++------ 1 file changed, 42 insertions(+), 13 deletions(-) (limited to 'target/linux/brcm63xx/image/lzma-loader/Makefile') 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 # # 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) + -- cgit v1.1