mediatek: make emmc image generation work on mt7622
[openwrt/openwrt.git] / target / linux / mediatek / image / Makefile
index 9e2575b7ee4d24ab9e67b838ffe526d5da14da47..db702509ed3fcc1b20e80d17a34e61fb89a7de17 100644 (file)
@@ -8,13 +8,14 @@
 include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/image.mk
 
-# for arm
-KERNEL_LOADADDR := 0x80008000
+define Build/sysupgrade-emmc
+       rm -f $@.recovery
+       mkfs.fat -C $@.recovery 3070
 
-# build dtb
-define Build/dtb
-        $(call Image/BuildDTB,$(DEVICE_DTS_DIR)/$(DEVICE_DTS).dts,$(DEVICE_DTS_DIR)/$(DEVICE_DTS).dtb)
-       $(CP) $(DEVICE_DTS_DIR)/$(DEVICE_DTS).dtb $(BIN_DIR)/
+       ./gen_$(SUBTARGET)_emmc_img.sh $@ \
+               $(IMAGE_KERNEL) \
+               $@.recovery \
+               $(IMAGE_ROOTFS)
 endef
 
 # default all platform image(fit) build 
@@ -24,15 +25,20 @@ define Device/Default
   FILESYSTEMS := squashfs
   DEVICE_DTS_DIR := $(DTS_DIR)
   IMAGES := sysupgrade.bin
-  IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata 
+  IMAGE/sysupgrade.bin := append-kernel | pad-to 128k | append-rootfs | pad-rootfs | append-metadata
+  SUPPORTED_DEVICES := $(subst _,$(comma),$(1))
+ifeq ($(SUBTARGET),mt7623)
   KERNEL_NAME := zImage
-  KERNEL := dtb | kernel-bin | append-dtb | uImage none
-  KERNEL_INITRAMFS := dtb | kernel-bin | append-dtb | uImage none
+  KERNEL := kernel-bin | append-dtb | uImage none
+  KERNEL_INITRAMFS := kernel-bin | append-dtb | uImage none
+else
+  KERNEL_NAME := Image
+  KERNEL = kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
+  KERNEL_INITRAMFS = kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
+endif
 endef
 
-ifeq ($(SUBTARGET),mt7623)
-include mt7623.mk
-endif
+include $(SUBTARGET).mk
 
 define Image/Build
        $(call Image/Build/$(1),$(1))