mediatek: make emmc image generation work on mt7622
[openwrt/openwrt.git] / target / linux / mediatek / image / Makefile
index 82525c9b374b89e59f51f73da840a21cdcbdf842..db702509ed3fcc1b20e80d17a34e61fb89a7de17 100644 (file)
@@ -1,28 +1,48 @@
-# Copyright (c) 2014 The Linux Foundation. All rights reserved.
+#
+# Copyright (C) 2012-2015 OpenWrt.org
+# Copyright (C) 2016-2017 LEDE project
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
 #
 include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/image.mk
 
-define Image/BuilduImage
-       cat $(LINUX_DIR)/arch/arm/boot/dts/mt7623-evb.dtb >> $(KDIR)/zImage$(1)
-       $(STAGING_DIR_HOST)/bin/lzma e $(KDIR)/zImage$(1) $(KDIR)/zImage$(1).lzma
-       mkimage -A arm -O linux -T kernel -C lzma -a 0x80008000 -e 0x80008000 -n 'MIPS OpenWrt Linux-$(LINUX_VERSION)'  -d $(KDIR)/zImage$(1).lzma $(KDIR)/uImage$(1)
-       $(CP) $(KDIR)/uImage$(1) $(BIN_DIR)/$(IMG_PREFIX)-uImage$(1)
+define Build/sysupgrade-emmc
+       rm -f $@.recovery
+       mkfs.fat -C $@.recovery 3070
+
+       ./gen_$(SUBTARGET)_emmc_img.sh $@ \
+               $(IMAGE_KERNEL) \
+               $@.recovery \
+               $(IMAGE_ROOTFS)
 endef
 
-define Image/BuildKernel
-       $(call Image/BuilduImage)
-ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
-       $(call Image/BuilduImage,-initramfs)
+# default all platform image(fit) build 
+define Device/Default
+  PROFILES = Default $$(DEVICE_NAME)
+  KERNEL_NAME := zImage
+  FILESYSTEMS := squashfs
+  DEVICE_DTS_DIR := $(DTS_DIR)
+  IMAGES := sysupgrade.bin
+  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 := 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
 
-define Image/Build/squashfs
-       $(call prepare_generic_squashfs,$(KDIR)/root.squashfs)
-endef
+include $(SUBTARGET).mk
 
 define Image/Build
        $(call Image/Build/$(1),$(1))
 endef
 
 $(eval $(call BuildImage))
+