From 7427da90ceb14878996e3e3a3945f29754b73459 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sat, 2 Apr 2005 12:12:58 +0000 Subject: lzma loader patch from oleg, great thanks good work, saves another 300 kb flashmemory git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@513 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- target/Makefile | 16 +++++++++++++++- target/jffs2/Makefile | 8 ++++---- target/squashfs-lzma/Makefile | 4 ++-- target/squashfs-lzma/squashfslzmaroot.mk | 10 +++++----- 4 files changed, 26 insertions(+), 12 deletions(-) (limited to 'target') diff --git a/target/Makefile b/target/Makefile index a17a80ffc1..c8baab5f7a 100644 --- a/target/Makefile +++ b/target/Makefile @@ -29,6 +29,20 @@ IMAGE_TARGETS += $(BIN_DIR)/openwrt-motorola-$(1).bin endif endef +# Enable loader and prepare kernel +ifeq ($(strip $(BR2_PACKAGE_LOADER)),y) +export LINUX_LOADER=$(BUILD_DIR)/lzmaldr +export LINUX_IMAGE=$(BUILD_DIR)/piggy.lzma +else +export LINUX_IMAGE=$(BUILD_DIR)/piggy.gz +endif + +$(BUILD_DIR)/piggy.lzma: $(LINUX_KERNEL) + cat $^ | $(BUILD_DIR)/lzma/lzma e -si -so -eos > $@ || (rm -f $@ && false) + +$(BUILD_DIR)/piggy.gz: $(LINUX_KERNEL) + cat $^ | gzip -c9 $^ > $@ || (rm -f $@ && false) + TARGET_DIRS:= TARGET_FS:= IMAGE_TARGETS:= @@ -70,7 +84,7 @@ $(BIN_DIR): mkdir -p $(BIN_DIR) compile: $(patsubst %,%-compile,$(TARGET_DIRS)) -install: utils-install $(patsubst %,%-install,$(TARGET_DIRS)) $(IMAGE_TARGETS) +install: utils-install lzma-install $(LINUX_IMAGE) $(patsubst %,%-install,$(TARGET_DIRS)) $(IMAGE_TARGETS) clean: $(patsubst %,%-clean,$(TARGET_DIRS)) image_clean image_clean: diff --git a/target/jffs2/Makefile b/target/jffs2/Makefile index ff63e6fc2a..ca61febf2e 100644 --- a/target/jffs2/Makefile +++ b/target/jffs2/Makefile @@ -12,14 +12,14 @@ clean: jffs2root-dirclean $(BIN_DIR)/openwrt-generic-jffs2-4MB.trx: $(MKFS_JFFS2) --pad --little-endian --squash -e 0x10000 \ -d $(TARGET_DIR) -o $(IMAGE)-4MB.jffs2 - PATH=$(TARGET_PATH) trx -o $@ \ - $(LINUX_KERNEL) -a 0x10000 $(IMAGE)-4MB.jffs2 + PATH=$(TARGET_PATH) trx -o $@ $(LINUX_LOADER) \ + $(LINUX_IMAGE) -a 0x10000 $(IMAGE)-4MB.jffs2 $(BIN_DIR)/openwrt-generic-jffs2-8MB.trx: $(MKFS_JFFS2) --pad --little-endian --squash -e 0x20000 \ -d $(TARGET_DIR) -o $(IMAGE)-8MB.jffs2 - PATH=$(TARGET_PATH) trx -o $@ \ - $(LINUX_KERNEL) -a 0x20000 $(IMAGE)-8MB.jffs2 + PATH=$(TARGET_PATH) trx -o $@ $(LINUX_LOADER) \ + $(LINUX_IMAGE) -a 0x20000 $(IMAGE)-8MB.jffs2 $(BIN_DIR)/openwrt-wrt54g-jffs2.bin: $(BIN_DIR)/openwrt-generic-jffs2-4MB.trx PATH=$(TARGET_PATH) addpattern -2 -i $< -o $@ -g diff --git a/target/squashfs-lzma/Makefile b/target/squashfs-lzma/Makefile index 6c709952e4..8e7e8e4792 100644 --- a/target/squashfs-lzma/Makefile +++ b/target/squashfs-lzma/Makefile @@ -11,6 +11,6 @@ clean: squashfslzmaroot-dirclean $(BIN_DIR)/openwrt-generic-squashfs.trx: @mkdir -p $(TARGET_DIR)/jffs $(SQUASHFSLZMA_DIR)/squashfs-tools/mksquashfs-lzma $(TARGET_DIR) $(IMAGE).squashfslzma -noappend -root-owned -le - PATH=$(TARGET_PATH) trx -o $@ \ - $(LINUX_KERNEL) $(IMAGE).squashfslzma + PATH=$(TARGET_PATH) trx -o $@ $(LINUX_LOADER) \ + $(LINUX_IMAGE) $(IMAGE).squashfslzma diff --git a/target/squashfs-lzma/squashfslzmaroot.mk b/target/squashfs-lzma/squashfslzmaroot.mk index 62b7dbb7b7..ca493d7782 100644 --- a/target/squashfs-lzma/squashfslzmaroot.mk +++ b/target/squashfs-lzma/squashfslzmaroot.mk @@ -4,20 +4,20 @@ # ############################################################# -SQUASHFSLZMA_DIR=$(BUILD_DIR)/squashfs2.1-r2-lzma -SQUASHFSLZMA_SOURCE=squashfs2.1-r2-lzma.tar.gz -SQUASHFSLZMA_SITE=http://openwrt.openbsd-geek.de +SQUASHFSLZMA_DIR=$(BUILD_DIR)/squashfs2.1-r2 +SQUASHFSLZMA_SOURCE=squashfs2.1-r2.tar.gz +SQUASHFSLZMA_SITE=http://mesh.dl.sourceforge.net/sourceforge/squashfs/ $(DL_DIR)/$(SQUASHFSLZMA_SOURCE): $(SCRIPT_DIR)/download.pl $(DL_DIR) $(SQUASHFSLZMA_SOURCE) x $(SQUASHFSLZMA_SITE) $(SQUASHFSLZMA_DIR)/.unpacked: $(DL_DIR)/$(SQUASHFSLZMA_SOURCE) zcat $(DL_DIR)/$(SQUASHFSLZMA_SOURCE) | tar -C $(BUILD_DIR) -xvf - + patch -d $(SQUASHFSLZMA_DIR) -p1 < squashfs2.0-tools-lzma.patch touch $(SQUASHFSLZMA_DIR)/.unpacked $(SQUASHFSLZMA_DIR)/squashfs-tools/mksquashfs: $(SQUASHFSLZMA_DIR)/.unpacked - $(MAKE) -C $(SQUASHFSLZMA_DIR)/lzma/SRC/7zip/Compress/LZMA_Lib - $(MAKE) -C $(SQUASHFSLZMA_DIR)/squashfs-tools mksquashfs-lzma + $(MAKE) -C $(SQUASHFSLZMA_DIR)/squashfs-tools mksquashfs-lzma LZMAPATH=$(BUILD_DIR)/lzma squashfslzma: $(SQUASHFSLZMA_DIR)/squashfs-tools/mksquashfs -- cgit v1.2.3