summaryrefslogtreecommitdiffstats
path: root/target/linux/image
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/image')
-rw-r--r--target/linux/image/au1000/Makefile58
-rw-r--r--target/linux/image/jffs2.mk2
-rw-r--r--target/linux/image/squashfs.mk6
-rw-r--r--target/linux/image/xscale/Makefile36
4 files changed, 89 insertions, 13 deletions
diff --git a/target/linux/image/au1000/Makefile b/target/linux/image/au1000/Makefile
index 04a89f9b1..c7158ca76 100644
--- a/target/linux/image/au1000/Makefile
+++ b/target/linux/image/au1000/Makefile
@@ -1,17 +1,42 @@
include $(TOPDIR)/rules.mk
-KDIR:=$(BUILD_DIR)/linux-$(KERNEL)-$(BOARD)
+LOADADDR = 0x8108c8f4 # RAM start + 16M
+KERNEL_ENTRY = 0x80100000 # Default kernel entry in arch/mips/Makefile
+RAMSIZE = 0x04000000 # 64MB
+LOADER_MAKEOPTS= \
+ KDIR=$(KDIR) \
+ LOADADDR=$(LOADADDR) \
+ KERNEL_ENTRY=$(KERNEL_ENTRY) \
+ RAMSIZE=$(RAMSIZE)
-ifeq ($(FS),jffs2-8MB)
+KDIR:=$(BUILD_DIR)/linux-$(KERNEL)-$(BOARD)
-$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(FS).img: $(KDIR)/root.$(FS)
- $(CP) $^ $@
+lzma-loader-clean:
+ $(MAKE) -C ../generic/lzma-loader $(LOADER_MAKEOPTS) clean
-install: $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(FS).img
+lzma-loader-prepare:
+ $(MAKE) -C ../generic/lzma-loader $(LOADER_MAKEOPTS) prepare
+lzma-loader-compile: $(KDIR)/vmlinux.lzma lzma-loader-prepare
+ $(MAKE) -C ../generic/lzma-loader $(LOADER_MAKEOPTS) compile
+
+ifeq ($(IB),)
+$(KDIR)/vmlinux.lzma: $(KDIR)/vmlinux
+ cat $^ | $(STAGING_DIR)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $@ || (rm -f $@ && false)
+
+install: $(KDIR)/vmlinux.lzma
endif
+ifeq ($(FS),jffs2-8MB)
+
+$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(FSNAME).bin: $(KDIR)/root.$(FS)
+ $(TARGET_CROSS)objcopy -O srec -I binary --adjust-vma 0xbe000000 $(KDIR)/root.$(FS) $(KDIR)/root.srec
+ grep -v S7 $(KDIR)/root.srec > $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(FS).img
+ grep -v S0 $(LINUX_DIR)/arch/mips/boot/compressed/images/zImage.flash.srec >> $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(FS).img
+
+install: $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(FSNAME).bin
+endif
ifeq ($(FS),tgz)
@@ -22,15 +47,30 @@ install: $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-rootfs.tar.gz
endif
+ifeq ($(FS),squashfs)
+$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(FSNAME).bin: $(KDIR)/root.$(FS)
+ $(TARGET_CROSS)objcopy -O srec -I binary --adjust-vma 0xbe000000 $(KDIR)/root.$(FS) $(KDIR)/root.srec
+ grep -v S7 $(KDIR)/root.srec > $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(FS).img
+ grep -v S0 $(LINUX_DIR)/arch/mips/boot/compressed/images/zImage.flash.srec >> $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(FS).img
-$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-vmlinuz: $(KDIR)/vmlinux
- $(CP) $^ $@
+endif
+$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-vmlinuz: $(KDIR)/zImage.flash
+ $(CP) $^ $@
+ifeq ($(IB),)
+clean: lzma-loader-clean
+prepare: lzma-loader-prepare
+compile: lzma-loader-compile
+else
clean:
prepare:
compile:
-install: $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-vmlinuz
+endif
install-ib:
+ mkdir -p $(IB_DIR)/staging_dir_$(ARCH)/bin
mkdir -p $(IB_DIR)/build_$(ARCH)/linux-$(KERNEL)-$(BOARD)
- $(CP) $(KDIR)/bzImage $(IB_DIR)/build_$(ARCH)/linux-$(KERNEL)-$(BOARD)/
+ $(CP) $(KDIR)/loader.elf $(IB_DIR)/build_$(ARCH)/
+ $(CP) $(KDIR)/vmlinux.lzma $(IB_DIR)/build_$(ARCH)/linux-$(KERNEL)-$(BOARD)/
+ $(TARGET_CROSS)objcopy -O srec -I binary --adjust-vma 0xbe000000 $(KDIR)/loader.elf $(KDIR)/loader.srec
+ grep -v S0 $(KDIR)/loader.srec > $(KDIR)/kernel.srec
diff --git a/target/linux/image/jffs2.mk b/target/linux/image/jffs2.mk
index 7df3aedbc..432df3e2b 100644
--- a/target/linux/image/jffs2.mk
+++ b/target/linux/image/jffs2.mk
@@ -1,4 +1,4 @@
-ifneq ($(CONFIG_mips),y)
+ifneq ($(CONFIG_BIG_ENDIAN),y)
JFFS2OPTS := --pad --little-endian --squash
else
JFFS2OPTS := --pad --big-endian --squash
diff --git a/target/linux/image/squashfs.mk b/target/linux/image/squashfs.mk
index 29ce5522d..abc58da1e 100644
--- a/target/linux/image/squashfs.mk
+++ b/target/linux/image/squashfs.mk
@@ -1,7 +1,7 @@
+ifneq ($(CONFIG_BIG_ENDIAN),y)
endian := le
-
-ifeq ($(ARCH),mips)
- endian := be
+else
+endian := be
endif
squashfs-prepare:
diff --git a/target/linux/image/xscale/Makefile b/target/linux/image/xscale/Makefile
new file mode 100644
index 000000000..04a89f9b1
--- /dev/null
+++ b/target/linux/image/xscale/Makefile
@@ -0,0 +1,36 @@
+include $(TOPDIR)/rules.mk
+
+KDIR:=$(BUILD_DIR)/linux-$(KERNEL)-$(BOARD)
+
+
+ifeq ($(FS),jffs2-8MB)
+
+$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(FS).img: $(KDIR)/root.$(FS)
+ $(CP) $^ $@
+
+install: $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(FS).img
+
+endif
+
+
+ifeq ($(FS),tgz)
+
+$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-rootfs.tar.gz: $(KDIR)/root.tar.gz
+ $(CP) $^ $@
+
+install: $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-rootfs.tar.gz
+
+endif
+
+
+$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-vmlinuz: $(KDIR)/vmlinux
+ $(CP) $^ $@
+
+
+clean:
+prepare:
+compile:
+install: $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-vmlinuz
+install-ib:
+ mkdir -p $(IB_DIR)/build_$(ARCH)/linux-$(KERNEL)-$(BOARD)
+ $(CP) $(KDIR)/bzImage $(IB_DIR)/build_$(ARCH)/linux-$(KERNEL)-$(BOARD)/