copy initramfs kernel to bin directory
[openwrt/openwrt.git] / target / linux / ar7 / image / Makefile
index 8947f2fd99bfb788570b7c062bc7adeb9680c6fb..5580687bed00247dbfd74dc8cbf0fef64e894d6f 100644 (file)
@@ -1,5 +1,5 @@
-# 
-# Copyright (C) 2006 OpenWrt.org
+#
+# Copyright (C) 2006-2010 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -41,7 +41,9 @@ define Image/Prepare
                $(LOADER_MAKEOPTS) \
                clean compile
        $(OBJCOPY_SREC) $(KDIR)/loader.elf $(KDIR)/loader.srec
+       $(OBJCOPY_SREC) $(KDIR)/vmlinux.elf $(KDIR)/vmlinux.srec
        srec2bin $(KDIR)/loader.srec $(KDIR)/loader.bin
+       srec2bin $(KDIR)/vmlinux.srec $(KDIR)/vmlinux.bin
 endef
 
 define align/jffs2-64k
@@ -52,32 +54,54 @@ define align/jffs2-128k
 bs=131072 conv=sync
 endef
 
+define align/squashfs
+bs=65536 conv=sync
+endef
+
 define Image/Build/CyberTAN
-       (dd if=/dev/zero bs=16 count=1; cat $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).bin) | \
-               $(STAGING_DIR_HOST)/bin/addpattern -p $(3) -o $(BIN_DIR)/openwrt-$(2)-$(KERNEL)-$(4).bin
+       (dd if=/dev/zero bs=16 count=1; cat $(BIN_DIR)/$(IMG_PREFIX)-$(1).bin) | \
+               $(STAGING_DIR_HOST)/bin/addpattern -p $(3) -o $(BIN_DIR)/openwrt-$(2)-$(4)-code.bin
 endef
 
+define Image/Build/Titan
+       $(STAGING_DIR_HOST)/bin/mktitanimg -o $(BIN_DIR)/openwrt-$(2)-$(4)-code.bin -i $(KDIR)/loader.bin $(KDIR)/root.$(1) -a 0x10000 0x10000 -h 2  -p 0x4C575943 -s 0x0b010000
+       $(STAGING_DIR_HOST)/bin/mktitanimg -o $(BIN_DIR)/openwrt-$(2)-na-$(4)-code.bin -i $(KDIR)/loader.bin $(KDIR)/root.$(1) -a 0x10000 0x10000 -h 2  -p 0x4D575943 -s 0x0b010000
+endef
+
+
 #define Image/Build/sErCoMm
-#      cat sercomm/adam2.bin "$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).bin" > "$(KDIR)/dgfw.tmp"
+#      cat sercomm/adam2.bin "$(BIN_DIR)/$(IMG_PREFIX)-$(1).bin" > "$(KDIR)/dgfw.tmp"
 #      dd if=sercomm/$(2) of="$(KDIR)/dgfw.tmp" bs=$$$$((0x3e0000 - 80)) seek=1 conv=notrunc
-#      $(STAGING_DIR_HOST)/bin/dgfirmware -f -w "$(BIN_DIR)/openwrt-$(2)-$(KERNEL)-$(3).img" "$(KDIR)/dgfw.tmp"
+#      $(STAGING_DIR_HOST)/bin/dgfirmware -f -w "$(BIN_DIR)/openwrt-$(2)-$(3).img" "$(KDIR)/dgfw.tmp"
 #      rm -f "$(KDIR)/dgfw.tmp"
 #endef
 
 define Image/Build/EVA
-       $(STAGING_DIR_HOST)/bin/lzma2eva $(KERNEL_ENTRY) $(KERNEL_ENTRY) $(KDIR)/vmlinux.lzma $(BIN_DIR)/openwrt-$(2)-$(KERNEL)-$(1).bin
+       $(STAGING_DIR_HOST)/bin/lzma2eva $(EVA_LOADADDR) 0x$${shell $(TARGET_CROSS)nm $(KDIR)/linux-*/vmlinux | grep -w kernel_entry | cut -d' ' -f1} $(KDIR)/vmlinux.lzma $(KDIR)/loader.eva
+       dd if=$(KDIR)/loader.eva $(call align/$(1)) > $(BIN_DIR)/openwrt-$(2)-$(KERNEL)-$(1).bin
        cat $(KDIR)/root.$(1) >> $(BIN_DIR)/openwrt-$(2)-$(KERNEL)-$(1).bin
        $(call prepare_generic_squashfs,$(BIN_DIR)/openwrt-$(2)-$(KERNEL)-$(1).bin)
 endef
 
+define Image/Build/Initramfs
+       $(CP) $(KDIR)/vmlinux.bin $(BIN_DIR)/$(IMG_PREFIX)-initramfs.bin
+endef
+
 define Image/Build
-       dd if=$(KDIR)/loader.bin $(call align/$(1)) > $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).bin
-       cat $(KDIR)/root.$(1) >> $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).bin
-       $(call prepare_generic_squashfs,$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).bin)
+       dd if=$(KDIR)/loader.bin $(call align/$(1)) > $(BIN_DIR)/$(IMG_PREFIX)-$(1).bin
+       cat $(KDIR)/root.$(1) >> $(BIN_DIR)/$(IMG_PREFIX)-$(1).bin
+       $(call prepare_generic_squashfs,$(BIN_DIR)/$(IMG_PREFIX)-$(1).bin)
        $(call Image/Build/CyberTAN,$(1),AG1B,AG1B,$(1))
+       $(call Image/Build/CyberTAN,$(1),AG1A,AG1A,$(1))
        $(call Image/Build/CyberTAN,$(1),WA21,WA21,$(1))
        $(call Image/Build/CyberTAN,$(1),WA22,WA22,$(1))
        $(call Image/Build/CyberTAN,$(1),WAG2,WAG2,$(1))
+       $(call Image/Build/CyberTAN,$(1),AG310,AV2A -b -r 1.0,$(1))
+       $(call Image/Build/CyberTAN,$(1),AG241v2,AG3A -b -r 2.0,$(1))
+       $(call Image/Build/CyberTAN,$(1),AG241v2b,AG3B -b -r 2.0,$(1))
+       $(call Image/Build/CyberTAN,$(1),AG241v1,AG3A -b,$(1))
+       $(call Image/Build/CyberTAN,$(1),WAG54GP2v1,ATWL -b,$(1))
+       $(call Image/Build/CyberTAN,$(1),WAG54GP2v2,CTWL -b,$(1))
        $(call Image/Build/CyberTAN,$(1),WA31,WA31 -b,$(1))
        $(call Image/Build/CyberTAN,$(1),WA32,WA32 -b,$(1))
        $(call Image/Build/CyberTAN,$(1),WA7A,WA7A -b,$(1))
@@ -85,6 +109,10 @@ define Image/Build
 #      $(call Image/Build/sErCoMm,$(1),dg834,$(1))
 #      $(call Image/Build/sErCoMm,$(1),jdr454wb,$(1))
        $(call Image/Build/EVA,$(1),EVA)
+       $(call Image/Build/Titan,$(1),Titan,Titan,$(1))
+ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y)
+       $(call Image/Build/Initramfs)
+endif
 endef
 
 $(eval $(call BuildImage))