change image generation, no need for duplicate images
[librecmc/librecmc.git] / target / linux / atheros / image / Makefile
index 5cfa774041b0886f3d9a49ee7aac4995f5a3d0f6..3806d92e9296661ac2a4cb75424fcd1759069cde 100644 (file)
@@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/image.mk
 
 define Image/BuildKernel
-       cp $(KDIR)/vmlinux.elf $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-vmlinux.elf
+       cp $(KDIR)/vmlinux.elf $(BIN_DIR)/openwrt-$(BOARD)-vmlinux.elf
        gzip -9 -c $(KDIR)/vmlinux > $(KDIR)/vmlinux.bin.gz
        $(STAGING_DIR_HOST)/bin/lzma e $(KDIR)/vmlinux $(KDIR)/vmlinux.bin.l7
-       dd if=$(KDIR)/vmlinux.bin.l7 of=$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-vmlinux.lzma bs=65536 conv=sync
-       dd if=$(KDIR)/vmlinux.bin.gz of=$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-vmlinux.gz bs=65536 conv=sync
+       dd if=$(KDIR)/vmlinux.bin.l7 of=$(BIN_DIR)/openwrt-$(BOARD)-vmlinux.lzma bs=65536 conv=sync
+       dd if=$(KDIR)/vmlinux.bin.gz of=$(BIN_DIR)/openwrt-$(BOARD)-vmlinux.gz bs=65536 conv=sync
 endef
 
 define Image/Build/squashfs
@@ -21,8 +21,27 @@ endef
 
 define Image/Build
        $(call Image/Build/$(1))
-       dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-root.$(1) bs=128k conv=sync
-endef
+       dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/openwrt-$(BOARD)-root.$(1) bs=128k conv=sync
+
+       echo -en "kernel\t\t0x01\t0xBE030000\t0x" > $(BIN_DIR)/ls5-parts
+       echo -en "$(shell printf "%08X\n" $(shell cat $(BIN_DIR)/openwrt-$(BOARD)-vmlinux.lzma | wc -c))" >> $(BIN_DIR)/ls5-parts
+       echo -e "\t0x80041000\t0x80041000\t$(BIN_DIR)/openwrt-$(BOARD)-vmlinux.lzma" >> $(BIN_DIR)/ls5-parts 
+       echo -en "rootfs\t\t0x02\t0x" >> $(BIN_DIR)/ls5-parts
+       echo -en "$(shell printf "%08X\n" $(shell expr $(shell cat $(BIN_DIR)/openwrt-$(BOARD)-vmlinux.lzma | wc -c) + 3187867648 ) )" >> $(BIN_DIR)/ls5-parts
+       echo -en "\t0x$(shell printf "%08X\n" $(shell expr 3735552 - $(shell cat $(BIN_DIR)/openwrt-$(BOARD)-vmlinux.lzma | wc -c) ) )" >> $(BIN_DIR)/ls5-parts
+       echo -e "\t0x00000000\t0x00000000\t$(BIN_DIR)/openwrt-$(BOARD)-root.$(1)" >> $(BIN_DIR)/ls5-parts
+       
+       echo -en "kernel\t\t0x01\t0xBFC30000\t0x" > $(BIN_DIR)/ls2-parts
+       echo -en "$(shell printf "%08X\n" $(shell cat $(BIN_DIR)/openwrt-$(BOARD)-vmlinux.lzma | wc -c))" >> $(BIN_DIR)/ls2-parts
+       echo -e "\t0x80041000\t0x80041000\t$(BIN_DIR)/openwrt-$(BOARD)-vmlinux.lzma" >> $(BIN_DIR)/ls2-parts
+       echo -en "rootfs\t\t0x02\t0x" >> $(BIN_DIR)/ls2-parts
+       echo -en "$(shell printf "%08X\n" $(shell expr $(shell cat $(BIN_DIR)/openwrt-$(BOARD)-vmlinux.lzma | wc -c) + 3217227776 ) )" >> $(BIN_DIR)/ls2-parts
+       echo -en "\t0x$(shell printf "%08X\n" $(shell expr 3866624 - $(shell cat $(BIN_DIR)/openwrt-$(BOARD)-vmlinux.lzma | wc -c) ) )" >> $(BIN_DIR)/ls2-parts
+       echo -e "\t0x00000000\t0x00000000\t$(BIN_DIR)/openwrt-$(BOARD)-root.$(1)" >> $(BIN_DIR)/ls2-parts
 
+       $(STAGING_DIR_HOST)/bin/mkfwimage -i $(BIN_DIR)/ls2-parts -v XS2.ar2316.OpenWRT -o $(BIN_DIR)/openwrt-$(BOARD)-ubnt-$(1).bin
+       $(STAGING_DIR_HOST)/bin/mkfwimage -i $(BIN_DIR)/ls5-parts -v XS5.ar2313.OpenWRT -o $(BIN_DIR)/openwrt-$(BOARD)-ubnt-$(1).bin
+       rm $(BIN_DIR)/ls2-parts $(BIN_DIR)/ls5-parts
+endef
 
 $(eval $(call BuildImage))