Changeset 513


Ignore:
Timestamp:
2005-04-02T14:12:58+02:00 (13 years ago)
Author:
wbx
Message:

lzma loader patch from oleg, great thanks good work, saves another 300 kb flashmemory

Location:
trunk/openwrt
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/openwrt/README

    r363 r513  
    1212via tftp. 
    1313 
    14 Be happy.. 
     14The buildroot system is documented in docs/buildroot-documentation.html. 
     15 
     16Sunshine! 
    1517        Your OpenWrt Project 
    16         http://www.openwrt.org 
     18        http://openwrt.org 
    1719 
    1820 
  • trunk/openwrt/package/Config.in

    r508 r513  
    44 
    55comment "The default set" 
     6source "package/loader/Config.in" 
    67source "package/busybox/Config.in" 
    78source "package/dnsmasq/Config.in" 
  • trunk/openwrt/package/Makefile

    r508 r513  
    2020package-$(BR2_PACKAGE_LCD4LINUX) += lcd4linux 
    2121package-$(BR2_PACKAGE_LIBELF) += libelf 
     22package-$(BR2_PACKAGE_LOADER) += loader 
    2223package-$(BR2_PACKAGE_LZO) += lzo 
    2324package-$(BR2_PACKAGE_MATRIXSSL) += matrixssl 
  • trunk/openwrt/package/linux/kernel-source/arch/mips/brcm-boards/bcm947xx/compressed/Makefile

    r379 r513  
    1212# $Id$ 
    1313# 
    14 # Copyright 2004  Manuel Novoa III <mjn3@codepoet.org> 
    15 #   Modified to support bzip'd kernels. 
    16 #   Of course, it would be better to integrate bunzip capability into CFE. 
    17 # 
    18  
    19 # Link at 3 MB offset in RAM 
    20 #TEXT_START     ?= 0x80300000 
    21 TEXT_START      ?= 0x80001000 
    22 BZ_MEM_TOP      := 0x81000000 
    23 BZ_TEXT_START   := BZ_MEM_TOP-0x4000 
    24 BZ_STACK_TOP    := BZ_TEXT_START-4 
    2514 
    2615OBJCOPY         := $(CROSS_COMPILE)objcopy -O binary -R .reginfo -R .note -R .comment -R .mdebug -S 
     16SYSTEM          ?= $(TOPDIR)/vmlinux 
    2717 
    28 SRCBASE         := $(TOPDIR)/../.. 
    29 VPATH           := $(SRCBASE)/shared 
    30 ASFLAGS         += -D__ASSEMBLY__ -I$(SRCBASE)/include -DLOADADDR=$(LOADADDR) 
    31 ASFLAGS         += -DBZ_MEM_TOP=$(BZ_MEM_TOP) 
    32 ASFLAGS         += -DBZ_TEXT_START=$(BZ_TEXT_START) 
    33 ASFLAGS         += -DBZ_STACK_TOP=$(BZ_STACK_TOP) 
    34 CFLAGS          += -I$(SRCBASE)/include -DLOADADDR=$(LOADADDR) 
    35 CFLAGS          += -DBZ_MEM_TOP=$(BZ_MEM_TOP) 
    36 CFLAGS          += -DBZ_TEXT_START=$(BZ_TEXT_START) 
    37 CFLAGS          += -DBZ_STACK_TOP=$(BZ_STACK_TOP) 
    38 ifdef CONFIG_MCOUNT 
    39 CFLAGS          := $(subst -pg,,$(CFLAGS)) 
    40 endif 
    41 CFLAGS          += -ffunction-sections $(call check_gcc, -fvtable-gc, ) 
    42 SEDFLAGS        := s/BZ_TEXT_START/$(BZ_TEXT_START)/;s/BZ_MEM_TOP/$(BZ_MEM_TOP)/;s/TEXT_START/$(TEXT_START)/ 
    43  
    44 SYSTEM          ?= $(TOPDIR)/vmlinux 
    45 OBJECTS         := head.o data.o 
    46  
    47 all: bzImage vmlinuz 
     18all: vmlinuz 
    4819 
    4920# Don't build dependencies, this may die if $(CC) isn't gcc 
     
    5425        gzip -c9 $< > $@ 
    5526 
    56 # Our bzImage is a gzip'd binary that decompresses and runs 
    57 #   the appended bzip'd kernel. 
    58 bzImage: bzLoaderImage.gz piggz 
    59         cat bzLoaderImage.gz piggz > $@ 
    60  
    61 bzLoaderImage.gz: bzLoaderImage 
    62         gzip -nc9 $< > $@ 
    63  
    64 bzLoaderImage: bzLoader 
    65         $(OBJCOPY) $< $@ 
    66  
    67 bzLoader: vmlinux.lds $(OBJECTS) 
    68         $(LD) -static --gc-sections -no-warn-mismatch -T vmlinux.lds -o $@ $(OBJECTS) 
    69  
    70 vmlinux.lds: vmlinux.lds.in Makefile 
    71         @sed "$(SEDFLAGS)" < $< > $@ 
    72  
    73 piggz: piggy 
    74         bzip2 -c9 $< > $@ 
    75  
    7627piggy: $(SYSTEM) 
    7728        $(OBJCOPY) $< $@ 
    78  
    79 data.o: data.lds data.image 
    80         $(LD) -no-warn-mismatch -T data.lds -r -o $@ -b binary data.image -b elf32-tradlittlemips 
    81  
    82 data.lds: 
    83         @echo "SECTIONS { .data : { code_start = .; *(.data) code_stop = .; }}" > $@ 
    84  
    85 data.image: decompress_bunzip2.image 
    86         $(OBJCOPY) $< $@ 
    87  
    88 decompress_bunzip2.image: decompress_bunzip2.lds decompress_bunzip2.o 
    89         $(LD) -static --gc-sections -no-warn-mismatch -T decompress_bunzip2.lds -o $@ decompress_bunzip2.o 
    90  
    91 decompress_bunzip2.lds: decompress_bunzip2.lds.in Makefile 
    92         @sed "$(SEDFLAGS)" < $< > $@ 
    9329 
    9430mrproper: clean 
    9531 
    9632clean: 
    97         rm -f vmlinux vmlinuz piggz piggy *.lds *.o \ 
    98                 bzLoader bzLoaderImage bzLoaderImage.gz bzImage \ 
    99                 data.lds data.image \ 
    100                 decompress_bunzip2.lds decompress_bunzip2.image 
     33        rm -f vmlinuz piggy 
  • trunk/openwrt/package/linux/kernel-source/arch/mips/brcm-boards/bcm947xx/setup.c

    r379 r513  
    196196                /* found a TRX header */ 
    197197                if (le32_to_cpu(trx->magic) == TRX_MAGIC) { 
    198                         part->offset = le32_to_cpu(trx->offsets[1]); 
     198                        part->offset = le32_to_cpu(trx->offsets[2]) ? :  
     199                                le32_to_cpu(trx->offsets[1]); 
    199200                        part->size = le32_to_cpu(trx->len);  
    200201 
  • trunk/openwrt/package/linux/linux.mk

    r413 r513  
    2626LINUX_PATCHES=./kernel-patches 
    2727LINUX_KERNEL_SOURCE=./kernel-source 
    28 LINUX_BINLOC=arch/$(LINUX_KARCH)/brcm-boards/bcm947xx/compressed/vmlinuz 
     28LINUX_BINLOC=arch/$(LINUX_KARCH)/brcm-boards/bcm947xx/compressed/piggy 
    2929# Used by pcmcia-cs and others 
    3030LINUX_SOURCE_DIR=$(LINUX_DIR)-$(LINUX_VERSION) 
  • trunk/openwrt/package/openwrt/jffs2root.c

    r388 r513  
    7474    unsigned long len; 
    7575    struct trx_header *ptr; 
     76    unsigned offset; 
     77         
    7678    if (((fd = open(FILENAME, O_RDWR))  < 0) 
    7779    || ((len = lseek(fd, 0, SEEK_END)) < 0) 
     
    8284    } 
    8385 
     86    /* treat last partition as rootfs offset */ 
     87    offset = ptr->offsets[2] ? : ptr->offsets[1]; 
     88         
    8489    if (argc > 1 && !strcmp(argv[1],"--move")) { 
    85       if (ptr->offsets[1] >= ptr->len) { 
     90      if (offset >= ptr->len) { 
    8691        printf("Partition already moved outside trx\n"); 
    8792#if 0 
    88       } else if (ptr->offsets[1] & 0x0001ffff) { 
     93      } else if (offset & 0x0001ffff) { 
    8994        printf("Partition does not start on a block boundary\n"); 
    9095#endif 
     
    9297        init_crc32(); 
    9398        //bzero((void *)((int)ptr + ptr->len), (size_t)(len - ptr->len)); 
    94         ptr->len = ptr->offsets[1]; 
     99        ptr->len = offset; 
    95100        ptr->crc32 = crc32buf((void *) &(ptr->flag_version), ptr->len - offsetof(struct trx_header, flag_version)); 
    96101        msync(ptr,len,MS_SYNC|MS_INVALIDATE); 
  • trunk/openwrt/target/Makefile

    r471 r513  
    2929endif 
    3030endef 
     31 
     32#  Enable loader and prepare kernel 
     33ifeq ($(strip $(BR2_PACKAGE_LOADER)),y) 
     34export LINUX_LOADER=$(BUILD_DIR)/lzmaldr 
     35export LINUX_IMAGE=$(BUILD_DIR)/piggy.lzma 
     36else 
     37export LINUX_IMAGE=$(BUILD_DIR)/piggy.gz 
     38endif 
     39 
     40$(BUILD_DIR)/piggy.lzma: $(LINUX_KERNEL) 
     41        cat $^ | $(BUILD_DIR)/lzma/lzma e -si -so -eos > $@ || (rm -f $@ && false) 
     42 
     43$(BUILD_DIR)/piggy.gz: $(LINUX_KERNEL) 
     44        cat $^ | gzip -c9 $^ > $@ || (rm -f $@ && false) 
    3145 
    3246TARGET_DIRS:= 
     
    7185 
    7286compile: $(patsubst %,%-compile,$(TARGET_DIRS)) 
    73 install: utils-install $(patsubst %,%-install,$(TARGET_DIRS)) $(IMAGE_TARGETS) 
     87install: utils-install lzma-install $(LINUX_IMAGE) $(patsubst %,%-install,$(TARGET_DIRS)) $(IMAGE_TARGETS) 
    7488clean: $(patsubst %,%-clean,$(TARGET_DIRS)) image_clean 
    7589 
  • trunk/openwrt/target/jffs2/Makefile

    r307 r513  
    1313        $(MKFS_JFFS2) --pad --little-endian --squash -e 0x10000 \ 
    1414                -d $(TARGET_DIR) -o $(IMAGE)-4MB.jffs2 
    15         PATH=$(TARGET_PATH) trx -o $@ \ 
    16          $(LINUX_KERNEL) -a 0x10000 $(IMAGE)-4MB.jffs2 
     15        PATH=$(TARGET_PATH) trx -o $@ $(LINUX_LOADER) \ 
     16         $(LINUX_IMAGE) -a 0x10000 $(IMAGE)-4MB.jffs2 
    1717 
    1818$(BIN_DIR)/openwrt-generic-jffs2-8MB.trx: 
    1919        $(MKFS_JFFS2) --pad --little-endian --squash -e 0x20000 \ 
    2020                -d $(TARGET_DIR) -o $(IMAGE)-8MB.jffs2 
    21         PATH=$(TARGET_PATH) trx -o $@ \ 
    22          $(LINUX_KERNEL) -a 0x20000 $(IMAGE)-8MB.jffs2 
     21        PATH=$(TARGET_PATH) trx -o $@ $(LINUX_LOADER) \ 
     22         $(LINUX_IMAGE) -a 0x20000 $(IMAGE)-8MB.jffs2 
    2323          
    2424$(BIN_DIR)/openwrt-wrt54g-jffs2.bin: $(BIN_DIR)/openwrt-generic-jffs2-4MB.trx 
  • trunk/openwrt/target/squashfs-lzma/Makefile

    r307 r513  
    1212        @mkdir -p $(TARGET_DIR)/jffs 
    1313        $(SQUASHFSLZMA_DIR)/squashfs-tools/mksquashfs-lzma $(TARGET_DIR) $(IMAGE).squashfslzma -noappend -root-owned -le 
    14         PATH=$(TARGET_PATH) trx -o $@ \ 
    15          $(LINUX_KERNEL) $(IMAGE).squashfslzma 
     14        PATH=$(TARGET_PATH) trx -o $@ $(LINUX_LOADER) \ 
     15         $(LINUX_IMAGE) $(IMAGE).squashfslzma 
    1616          
  • trunk/openwrt/target/squashfs-lzma/squashfslzmaroot.mk

    r391 r513  
    55############################################################# 
    66 
    7 SQUASHFSLZMA_DIR=$(BUILD_DIR)/squashfs2.1-r2-lzma 
    8 SQUASHFSLZMA_SOURCE=squashfs2.1-r2-lzma.tar.gz 
    9 SQUASHFSLZMA_SITE=http://openwrt.openbsd-geek.de 
     7SQUASHFSLZMA_DIR=$(BUILD_DIR)/squashfs2.1-r2 
     8SQUASHFSLZMA_SOURCE=squashfs2.1-r2.tar.gz 
     9SQUASHFSLZMA_SITE=http://mesh.dl.sourceforge.net/sourceforge/squashfs/ 
    1010 
    1111$(DL_DIR)/$(SQUASHFSLZMA_SOURCE): 
     
    1414$(SQUASHFSLZMA_DIR)/.unpacked: $(DL_DIR)/$(SQUASHFSLZMA_SOURCE)  
    1515        zcat $(DL_DIR)/$(SQUASHFSLZMA_SOURCE) | tar -C $(BUILD_DIR) -xvf - 
     16        patch -d $(SQUASHFSLZMA_DIR) -p1 < squashfs2.0-tools-lzma.patch 
    1617        touch $(SQUASHFSLZMA_DIR)/.unpacked 
    1718 
    1819$(SQUASHFSLZMA_DIR)/squashfs-tools/mksquashfs: $(SQUASHFSLZMA_DIR)/.unpacked 
    19         $(MAKE) -C $(SQUASHFSLZMA_DIR)/lzma/SRC/7zip/Compress/LZMA_Lib  
    20         $(MAKE) -C $(SQUASHFSLZMA_DIR)/squashfs-tools mksquashfs-lzma 
     20        $(MAKE) -C $(SQUASHFSLZMA_DIR)/squashfs-tools mksquashfs-lzma LZMAPATH=$(BUILD_DIR)/lzma 
    2121 
    2222squashfslzma: $(SQUASHFSLZMA_DIR)/squashfs-tools/mksquashfs 
Note: See TracChangeset for help on using the changeset viewer.