summaryrefslogtreecommitdiff
path: root/openwrt/package/linux/kernel-source
diff options
context:
space:
mode:
authorwbx <wbx@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-04-02 12:12:58 +0000
committerwbx <wbx@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-04-02 12:12:58 +0000
commit2b9b4c5a2de2c0a12e2d96c0c9b65aa5b0c2ab2f (patch)
tree055a93ec854a535cea0fb03637e40e82661918d7 /openwrt/package/linux/kernel-source
parentaf421d122f149f9d7b28e01f0f21496e4df225d4 (diff)
lzma loader patch from oleg, great thanks good work, saves another 300 kb flashmemory
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@513 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'openwrt/package/linux/kernel-source')
-rw-r--r--openwrt/package/linux/kernel-source/arch/mips/brcm-boards/bcm947xx/compressed/Makefile71
-rw-r--r--openwrt/package/linux/kernel-source/arch/mips/brcm-boards/bcm947xx/setup.c3
2 files changed, 4 insertions, 70 deletions
diff --git a/openwrt/package/linux/kernel-source/arch/mips/brcm-boards/bcm947xx/compressed/Makefile b/openwrt/package/linux/kernel-source/arch/mips/brcm-boards/bcm947xx/compressed/Makefile
index 4004653268..ead9d07439 100644
--- a/openwrt/package/linux/kernel-source/arch/mips/brcm-boards/bcm947xx/compressed/Makefile
+++ b/openwrt/package/linux/kernel-source/arch/mips/brcm-boards/bcm947xx/compressed/Makefile
@@ -11,40 +11,11 @@
#
# $Id$
#
-# Copyright 2004 Manuel Novoa III <mjn3@codepoet.org>
-# Modified to support bzip'd kernels.
-# Of course, it would be better to integrate bunzip capability into CFE.
-#
-
-# Link at 3 MB offset in RAM
-#TEXT_START ?= 0x80300000
-TEXT_START ?= 0x80001000
-BZ_MEM_TOP := 0x81000000
-BZ_TEXT_START := BZ_MEM_TOP-0x4000
-BZ_STACK_TOP := BZ_TEXT_START-4
OBJCOPY := $(CROSS_COMPILE)objcopy -O binary -R .reginfo -R .note -R .comment -R .mdebug -S
-
-SRCBASE := $(TOPDIR)/../..
-VPATH := $(SRCBASE)/shared
-ASFLAGS += -D__ASSEMBLY__ -I$(SRCBASE)/include -DLOADADDR=$(LOADADDR)
-ASFLAGS += -DBZ_MEM_TOP=$(BZ_MEM_TOP)
-ASFLAGS += -DBZ_TEXT_START=$(BZ_TEXT_START)
-ASFLAGS += -DBZ_STACK_TOP=$(BZ_STACK_TOP)
-CFLAGS += -I$(SRCBASE)/include -DLOADADDR=$(LOADADDR)
-CFLAGS += -DBZ_MEM_TOP=$(BZ_MEM_TOP)
-CFLAGS += -DBZ_TEXT_START=$(BZ_TEXT_START)
-CFLAGS += -DBZ_STACK_TOP=$(BZ_STACK_TOP)
-ifdef CONFIG_MCOUNT
-CFLAGS := $(subst -pg,,$(CFLAGS))
-endif
-CFLAGS += -ffunction-sections $(call check_gcc, -fvtable-gc, )
-SEDFLAGS := s/BZ_TEXT_START/$(BZ_TEXT_START)/;s/BZ_MEM_TOP/$(BZ_MEM_TOP)/;s/TEXT_START/$(TEXT_START)/
-
SYSTEM ?= $(TOPDIR)/vmlinux
-OBJECTS := head.o data.o
-all: bzImage vmlinuz
+all: vmlinuz
# Don't build dependencies, this may die if $(CC) isn't gcc
dep:
@@ -53,48 +24,10 @@ dep:
vmlinuz: piggy
gzip -c9 $< > $@
-# Our bzImage is a gzip'd binary that decompresses and runs
-# the appended bzip'd kernel.
-bzImage: bzLoaderImage.gz piggz
- cat bzLoaderImage.gz piggz > $@
-
-bzLoaderImage.gz: bzLoaderImage
- gzip -nc9 $< > $@
-
-bzLoaderImage: bzLoader
- $(OBJCOPY) $< $@
-
-bzLoader: vmlinux.lds $(OBJECTS)
- $(LD) -static --gc-sections -no-warn-mismatch -T vmlinux.lds -o $@ $(OBJECTS)
-
-vmlinux.lds: vmlinux.lds.in Makefile
- @sed "$(SEDFLAGS)" < $< > $@
-
-piggz: piggy
- bzip2 -c9 $< > $@
-
piggy: $(SYSTEM)
$(OBJCOPY) $< $@
-data.o: data.lds data.image
- $(LD) -no-warn-mismatch -T data.lds -r -o $@ -b binary data.image -b elf32-tradlittlemips
-
-data.lds:
- @echo "SECTIONS { .data : { code_start = .; *(.data) code_stop = .; }}" > $@
-
-data.image: decompress_bunzip2.image
- $(OBJCOPY) $< $@
-
-decompress_bunzip2.image: decompress_bunzip2.lds decompress_bunzip2.o
- $(LD) -static --gc-sections -no-warn-mismatch -T decompress_bunzip2.lds -o $@ decompress_bunzip2.o
-
-decompress_bunzip2.lds: decompress_bunzip2.lds.in Makefile
- @sed "$(SEDFLAGS)" < $< > $@
-
mrproper: clean
clean:
- rm -f vmlinux vmlinuz piggz piggy *.lds *.o \
- bzLoader bzLoaderImage bzLoaderImage.gz bzImage \
- data.lds data.image \
- decompress_bunzip2.lds decompress_bunzip2.image
+ rm -f vmlinuz piggy
diff --git a/openwrt/package/linux/kernel-source/arch/mips/brcm-boards/bcm947xx/setup.c b/openwrt/package/linux/kernel-source/arch/mips/brcm-boards/bcm947xx/setup.c
index e1b0050a45..2132c00837 100644
--- a/openwrt/package/linux/kernel-source/arch/mips/brcm-boards/bcm947xx/setup.c
+++ b/openwrt/package/linux/kernel-source/arch/mips/brcm-boards/bcm947xx/setup.c
@@ -195,7 +195,8 @@ find_root(struct mtd_info *mtd, size_t size, struct mtd_partition *part)
/* found a TRX header */
if (le32_to_cpu(trx->magic) == TRX_MAGIC) {
- part->offset = le32_to_cpu(trx->offsets[1]);
+ part->offset = le32_to_cpu(trx->offsets[2]) ? :
+ le32_to_cpu(trx->offsets[1]);
part->size = le32_to_cpu(trx->len);
part->size -= part->offset;