summaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
Diffstat (limited to 'target')
-rw-r--r--target/Makefile14
-rw-r--r--target/jffs2/Makefile4
-rw-r--r--target/lzma-loader/Makefile39
-rw-r--r--target/lzma-loader/patches/toolchain.patch12
-rw-r--r--target/squashfs-lzma/Makefile2
5 files changed, 56 insertions, 15 deletions
diff --git a/target/Makefile b/target/Makefile
index c8baab5f7..6a1bd954a 100644
--- a/target/Makefile
+++ b/target/Makefile
@@ -29,20 +29,9 @@ 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)
+$(LINUX_IMAGE): $(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:=
@@ -83,6 +72,7 @@ prepare: $(patsubst %,%-prepare,$(TARGET_DIRS))
$(BIN_DIR):
mkdir -p $(BIN_DIR)
+$(INSTALL_TARGET_DIRS): lzma-loader-compile
compile: $(patsubst %,%-compile,$(TARGET_DIRS))
install: utils-install lzma-install $(LINUX_IMAGE) $(patsubst %,%-install,$(TARGET_DIRS)) $(IMAGE_TARGETS)
clean: $(patsubst %,%-clean,$(TARGET_DIRS)) image_clean
diff --git a/target/jffs2/Makefile b/target/jffs2/Makefile
index ca61febf2..01dede7d7 100644
--- a/target/jffs2/Makefile
+++ b/target/jffs2/Makefile
@@ -12,13 +12,13 @@ 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_LOADER) \
+ PATH=$(TARGET_PATH) trx -o $@ $(BUILD_DIR)/loader.gz \
$(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_LOADER) \
+ PATH=$(TARGET_PATH) trx -o $@ $(BUILD_DIR)/loader.gz \
$(LINUX_IMAGE) -a 0x20000 $(IMAGE)-8MB.jffs2
$(BIN_DIR)/openwrt-wrt54g-jffs2.bin: $(BIN_DIR)/openwrt-generic-jffs2-4MB.trx
diff --git a/target/lzma-loader/Makefile b/target/lzma-loader/Makefile
new file mode 100644
index 000000000..826194edd
--- /dev/null
+++ b/target/lzma-loader/Makefile
@@ -0,0 +1,39 @@
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME := loader
+PKG_VERSION := 0.03
+PKG_MD5SUM := 2681e6db8e0fe6095f6a90ad9b3f2d33
+
+PKG_SOURCE_SITE := http://wl500g.dyndns.org/loader/
+PKG_SOURCE_FILE := $(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_CAT := zcat
+PKG_SOURCE_DIR := $(PKG_NAME)-$(PKG_VERSION)
+PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_SOURCE_DIR)
+
+$(DL_DIR)/$(PKG_SOURCE_FILE):
+ mkdir -p $(DL_DIR)
+ $(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE_FILE) $(PKG_MD5SUM) $(PKG_SOURCE_SITE)
+
+$(PKG_BUILD_DIR)/.patched: $(DL_DIR)/$(PKG_SOURCE_FILE)
+ mkdir -p $(TOOL_BUILD_DIR)
+ $(PKG_SOURCE_CAT) $(DL_DIR)/$(PKG_SOURCE_FILE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+ $(PATCH) $(PKG_BUILD_DIR) ./patches
+ touch $(PKG_BUILD_DIR)/.patched
+
+$(PKG_BUILD_DIR)/loader.gz: $(PKG_BUILD_DIR)/.patched
+ $(MAKE) -C $(PKG_BUILD_DIR) CC=$(TARGET_CC) \
+ LD=$(TARGET_CROSS)ld CROSS_COMPILE=$(TARGET_CROSS)
+
+$(BUILD_DIR)/loader.gz: $(PKG_BUILD_DIR)/loader.gz
+ cp $< $@
+
+source: $(DL_DIR)/$(PKG_SOURCE_FILE)
+prepare: $(PKG_BUILD_DIR)/.patched
+compile: $(BUILD_DIR)/loader.gz
+install:
+
+clean:
+ rm -rf $(PKG_BUILD_DIR)
+ rm -f $(BUILD_DIR)/loader.gz
diff --git a/target/lzma-loader/patches/toolchain.patch b/target/lzma-loader/patches/toolchain.patch
new file mode 100644
index 000000000..69617056b
--- /dev/null
+++ b/target/lzma-loader/patches/toolchain.patch
@@ -0,0 +1,12 @@
+--- loader-0.03/Makefile 2005-03-28 22:15:24.569677129 +0400
++++ loader/Makefile 2005-03-28 22:16:42.339989214 +0400
+@@ -24,7 +24,8 @@
+
+ CFLAGS = -D__KERNEL__ -Wall -Wstrict-prototypes -Wno-trigraphs -O2 \
+ -fno-strict-aliasing -fno-common -fomit-frame-pointer -G 0 -mno-abicalls -fno-pic \
+- -ffunction-sections -pipe -mcpu=r4600 -mips2 -Wa,--trap -m4710a0kern
++ -ffunction-sections -pipe -mlong-calls -fno-common \
++ -mabi=32 -march=mips32 -Wa,-32 -Wa,-march=mips32 -Wa,-mips32 -Wa,--trap
+ CFLAGS += -DLOADADDR=$(TEXT_START) -D_LZMA_IN_CB
+
+ ASFLAGS = $(CFLAGS) -D__ASSEMBLY__ -DBZ_TEXT_START=$(BZ_TEXT_START)
diff --git a/target/squashfs-lzma/Makefile b/target/squashfs-lzma/Makefile
index 8e7e8e479..8da08b390 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_LOADER) \
+ PATH=$(TARGET_PATH) trx -o $@ $(BUILD_DIR)/loader.gz \
$(LINUX_IMAGE) $(IMAGE).squashfslzma