image: add a helper variable for getting kernel/rootfs from within image Build/*...
[openwrt/openwrt.git] / target / linux / lantiq / image / Makefile
index da1ace9711dee99a5880e71a69144b8b58188804..f45da41dfc3692350fcf72b25d528aa935784316 100644 (file)
@@ -18,10 +18,8 @@ include $(INCLUDE_DIR)/image.mk
 
 ifeq ($(SUBTARGET),xway)
   UBIFS_OPTS := -m 512 -e 15872 -c 1959
-  UBI_OPTS:="-m 512 -p 16KiB -s 256"
 else
   UBIFS_OPTS := -m 2048 -e 126KiB -c 4096
-  UBI_OPTS:="-m 2048 -p 128KiB -s 512"
 endif
 
 LOADER_MAKE := $(NO_TRACE_MAKE) -C lzma-loader KDIR=$(KDIR)
@@ -35,6 +33,11 @@ define Image/BuildLoader/Template
                compile loader.bin
 endef
 
+define Build/eva-image
+       lzma2eva $(KERNEL_LOADADDR) $(KERNEL_LOADADDR) $@ $@.new
+       ( dd if=$@.new bs=64k conv=sync; cat ./eva.dummy.squashfs; ) > $@
+endef
+
 
 define CompressLzma
        $(STAGING_DIR_HOST)/bin/lzma e $(1) $(2)
@@ -53,13 +56,6 @@ define MkImageLzma
                -d $(KDIR)/vmlinux$(2)-$(1).lzma $(KDIR)/uImage-$(1)$(2)
 endef
 
-define MkImageEVA
-       lzma2eva 0x80002000 0x80002000 $(KDIR)/vmlinux$(2)-$(1).lzma $(KDIR)/$(1)$(2).eva.prealign
-       dd if=$(KDIR)/$(1)$(2).eva.prealign of=$(KDIR)/$(1)$(2).eva.align.64k bs=64k conv=sync
-       dd if=$(KDIR)/$(1)$(2).eva.prealign of=$(KDIR)/$(1)$(2).eva.align.128k bs=128k conv=sync
-       cat ./eva.dummy.squashfs >> $(KDIR)/$(1)$(2).eva.align.64k
-endef
-
 define Image/Build/squashfs
        cat $(KDIR)/uImage-$(2) $(KDIR)/root.$(1) > $(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).image
        $(call prepare_generic_squashfs,$(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).image)
@@ -102,11 +98,6 @@ define Image/BuildDGN3500B/squashfs
 endef
 
 
-define Image/BuildEVA/squashfs
-       cat $(KDIR)/$(2).eva.align.64k $(KDIR)/root.$(1) > $(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).image.eva
-       $(call prepare_generic_squashfs,$(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).image.eva)
-endef
-
 define Image/BuildLoader/squashfs
        dd if=$(KDIR)/loader-$(2).bin of=$(KDIR)/loader-$(2).bin.padded bs=3072k conv=sync
        cat $(KDIR)/loader-$(2).bin.padded $(KDIR)/root.$(1) > $(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).image
@@ -154,14 +145,6 @@ define Image/Prepare/Template
        $(Image/Prepare/InitramfsTemplate)
 endef
 
-define Image/BuildKernelEVA/Template
-       $(call PatchKernelLzma,$(1))
-       $(call MkImageEVA,$(1))
-       $(CP) $(KDIR)/$(1).eva.align.64k $(BIN_DIR)/$(IMG_PREFIX)-$(1).eva.align.64k
-       $(CP) $(KDIR)/$(1).eva.align.128k $(BIN_DIR)/$(IMG_PREFIX)-$(1).eva.align.128k
-endef
-
-
 ### Kernel scripts ###
 define Build/mkbrncmdline
    mkbrncmdline -i $@ -o $@.new BRN-BOOT
@@ -169,21 +152,21 @@ define Build/mkbrncmdline
 endef
 
 define Build/mkbrnimg
-   mkbrnimg -s $(SIGNATURE) -m $(MAGIC) -p $(CRC32_POLY) -o $@ $(word 1,$^) $(word 2,$^)
+   mkbrnimg -s $(SIGNATURE) -m $(MAGIC) -p $(CRC32_POLY) -o $@ $(IMAGE_KERNEL) $(IMAGE_ROOTFS)
 endef
 
 define Build/fullimage
        mkimage -A mips -O linux -C lzma -T filesystem -a 0x00  \
                -e 0x00 -n 'LEDE RootFS' \
-               -d $(word 2,$^) $(word 2,$^).new
+               -d $(IMAGE_ROOTFS) $(IMAGE_ROOTFS).new
 
-       cat $(word 1,$^) $(word 2,$^).new > $@.tmp
+       cat $(IMAGE_KERNEL) $(IMAGE_ROOTFS).new > $@.tmp
 
        mkimage -A mips -O linux -T multi -a 0x00 -C none \
                -e 0x00 -n 'OpenWrt fullimage' \
                -d $@.tmp $@
 
-       rm $(word 2,$^).new
+       rm $(IMAGE_ROOTFS).new
        rm $@.tmp
 endef
 
@@ -219,7 +202,7 @@ endef
 
 define Device/NAND
   $(Device/NAND/$(SUBTARGET))
-  IMAGE/sysupgrade.bin := sysupgrade-nand
+  IMAGE/sysupgrade.bin := sysupgrade-tar
 endef
 
 define Device/lantiqBrnImage
@@ -235,6 +218,11 @@ define Device/lantiqFullImage
   IMAGE/fullimage.img := fullimage | check-size $$$$(IMAGE_SIZE)
 endef
 
+define Device/AVM
+  $(Device/NAND)
+  KERNEL := kernel-bin | append-dtb | lzma | eva-image
+endef
+
 ifeq ($(SUBTARGET),xway_legacy)
 
 define Device/ARV4520PW
@@ -301,10 +289,8 @@ ifeq ($(SUBTARGET),xway)
 
 # Danube
 
-Image/BuildKernel/Profile/BTHOMEHUBV2B=$(call Image/BuildKernel/Template,BTHOMEHUBV2B)
-Image/Build/Profile/BTHOMEHUBV2B=$(call Image/BuildNAND/$(1),$(1),BTHOMEHUBV2B)
-
-define LegacyDevice/BTHOMEHUBV2B
+define Device/BTHOMEHUBV2B
+  $(Device/NAND)
   DEVICE_TITLE := BT Home Hub 2B
   DEVICE_PACKAGES :=  kmod-ltq-hcd-danube kmod-ledtrig-usbdev \
        kmod-ltq-adsl-danube-mei kmod-ltq-adsl-danube \
@@ -314,7 +300,7 @@ define LegacyDevice/BTHOMEHUBV2B
        kmod-ath9k wpad-mini \
        swconfig
 endef
-LEGACY_DEVICES += BTHOMEHUBV2B
+TARGET_DEVICES += BTHOMEHUBV2B
 
 define Device/EASY50712
   IMAGE_SIZE := 3776k
@@ -468,10 +454,8 @@ TARGET_DEVICES += GIGASX76X
 
 # AR9
 
-Image/BuildKernel/Profile/BTHOMEHUBV3A=$(call Image/BuildKernel/Template,BTHOMEHUBV3A)
-Image/Build/Profile/BTHOMEHUBV3A=$(call Image/BuildNAND/$(1),$(1),BTHOMEHUBV3A)
-
-define LegacyDevice/BTHOMEHUBV3A
+define Device/BTHOMEHUBV3A
+  $(Device/NAND)
   DEVICE_TITLE := BT Home Hub 3A
   DEVICE_PACKAGES := kmod-usb-dwc2 kmod-ledtrig-usbdev \
        kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
@@ -481,7 +465,7 @@ define LegacyDevice/BTHOMEHUBV3A
        kmod-ath9k wpad-mini \
        swconfig uboot-envtools
 endef
-LEGACY_DEVICES += BTHOMEHUBV3A
+TARGET_DEVICES += BTHOMEHUBV3A
 
 Image/BuildKernel/Profile/DGN3500=$(call Image/BuildKernel/Template,DGN3500)
 Image/Build/Profile/DGN3500=$(call Image/BuildDGN3500/$(1),$(1),DGN3500)
@@ -537,10 +521,8 @@ define Device/WBMRB
 endef
 TARGET_DEVICES += WBMRB
 
-Image/BuildKernel/Profile/FRITZ7320=$(call Image/BuildKernelEVA/Template,FRITZ7320)
-Image/Build/Profile/FRITZ7320=$(call Image/BuildEVA/$(1),$(1),FRITZ7320)
-
-define LegacyDevice/FRITZ7320
+define Device/FRITZ7320
+  $(Device/AVM)
   DEVICE_TITLE := 1&1 HomeServer - FRITZ7320
   DEVICE_PACKAGES := kmod-ath9k wpad-mini \
        kmod-ltq-adsl-ar9-mei kmod-ltq-adsl-ar9 \
@@ -549,7 +531,7 @@ define LegacyDevice/FRITZ7320
        kmod-ltq-deu-ar9 kmod-usb-dwc2 \
        kmod-ath9k wpad-mini
 endef
-LEGACY_DEVICES += FRITZ7320
+TARGET_DEVICES += FRITZ7320
 
 define Device/H201L
   IMAGE_SIZE := 7808k
@@ -584,23 +566,19 @@ ifeq ($(SUBTARGET),xrx200)
 
 # VR9
 
-Image/BuildKernel/Profile/P2812HNUF1=$(call Image/BuildKernel/Template,P2812HNUF1)
-Image/Build/Profile/P2812HNUF1=$(call Image/BuildNAND/$(1),$(1),P2812HNUF1)
-
-define LegacyDevice/P2812HNUF1
+define Device/P2812HNUF1
+  $(Device/NAND)
   DEVICE_TITLE := ZyXEL P-2812HNU-F1
   DEVICE_PACKAGES := kmod-rt2800-pci wpad-mini kmod-usb-dwc2
 endef
-LEGACY_DEVICES += P2812HNUF1
-
-Image/BuildKernel/Profile/P2812HNUF3=$(call Image/BuildKernel/Template,P2812HNUF3)
-Image/Build/Profile/P2812HNUF3=$(call Image/BuildNAND/$(1),$(1),P2812HNUF3)
+TARGET_DEVICES += P2812HNUF1
 
-define LegacyDevice/P2812HNUF3
+define Device/P2812HNUF3
+  $(Device/NAND)
   DEVICE_TITLE := ZyXEL P-2812HNU-F3
   DEVICE_PACKAGES := kmod-rt2800-pci wpad-mini kmod-usb-dwc2
 endef
-LEGACY_DEVICES += P2812HNUF3
+TARGET_DEVICES += P2812HNUF3
 
 define Device/ARV7519RW22
   IMAGE_SIZE := 31232k
@@ -609,15 +587,12 @@ define Device/ARV7519RW22
 endef
 TARGET_DEVICES += ARV7519RW22
 
-
-Image/BuildKernel/Profile/BTHOMEHUBV5A=$(call Image/BuildKernel/Template,BTHOMEHUBV5A)
-Image/Build/Profile/BTHOMEHUBV5A=$(call Image/BuildNAND/$(1),$(1),BTHOMEHUBV5A)
-
-define LegacyDevice/BTHOMEHUBV5A
+define Device/BTHOMEHUBV5A
+  $(Device/NAND)
   DEVICE_TITLE := BT Home Hub 5A
   DEVICE_PACKAGES := kmod-ath9k kmod-ath10k wpad-mini kmod-usb-dwc2
 endef
-LEGACY_DEVICES += BTHOMEHUBV5A
+TARGET_DEVICES += BTHOMEHUBV5A
 
 define Device/EASY80920NAND
   $(Device/lantiqFullImage)
@@ -634,23 +609,19 @@ define Device/EASY80920NOR
 endef
 TARGET_DEVICES += EASY80920NOR
 
-Image/BuildKernel/Profile/FRITZ3370=$(call Image/BuildKernelEVA/Template,FRITZ3370)
-Image/Build/Profile/FRITZ3370=$(call Image/BuildEVA/$(1),$(1),FRITZ3370)
-
-define LegacyDevice/FRITZ3370
+define Device/FRITZ3370
+  $(Device/AVM)
   DEVICE_TITLE := Fritz!Box WLan - FRITZ3370
   DEVICE_PACKAGES := kmod-ath9k wpad-mini kmod-usb-dwc2
 endef
-LEGACY_DEVICES += FRITZ3370
-
-Image/BuildKernel/Profile/FRITZ7360SL=$(call Image/BuildKernelEVA/Template,FRITZ7360SL)
-Image/Build/Profile/FRITZ7360SL=$(call Image/BuildEVA/$(1),$(1),FRITZ7360SL)
+TARGET_DEVICES += FRITZ3370
 
-define LegacyDevice/FRITZ7360SL
+define Device/FRITZ7360SL
+  $(Device/AVM)
   DEVICE_TITLE := 1&1 HomeServer - FRITZ7360SL
   DEVICE_PACKAGES := kmod-ath9k wpad-mini kmod-usb-dwc2
 endef
-LEGACY_DEVICES += FRITZ7360L
+TARGET_DEVICES += FRITZ7360SL
 
 Image/Prepare/Profile/VG3503J=$(call Image/Prepare/Template,VG3503J)
 Image/BuildKernel/Profile/VG3503J=$(call Image/BuildKernelLoader/Template,VG3503J)
@@ -708,35 +679,6 @@ TARGET_DEVICES += VGV7519BRN
 
 endif
 
-define Image/BuildNAND/squashfs
-       $(call prepare_generic_squashfs,$(KDIR)/root.$(1))
-       $(call Image/Build/UbinizeImage,$(2),,squashfs,$(UBI_OPTS))
-       $(call Image/Build/SysupgradeNAND,$(2),$(1),$(KDIR)/uImage-$(2))
-endef
-
-define Image/Build/ubifs
-       $(CP) $(KDIR)/root.ubifs $(BIN_DIR)/$(IMG_PREFIX)-$(2)-rootfs.ubifs
-endef
-
-define Image/Build/ubi
-       $(CP) $(KDIR)/root.ubi $(BIN_DIR)/$(IMG_PREFIX)-$(2)-rootfs.ubi
-       $(CP) $(KDIR)/root-overlay.ubi $(BIN_DIR)/$(IMG_PREFIX)-$(2)-rootfs-overlay.ubi
-endef
-
-define Image/BuildEVA/ubi
-       $(CP) $(KDIR)/root.ubi $(BIN_DIR)/$(IMG_PREFIX)-$(2)-rootfs.ubi
-       $(CP) $(KDIR)/root-overlay.ubi $(BIN_DIR)/$(IMG_PREFIX)-$(2)-rootfs-overlay.ubi
-endef
-
-define Image/BuildNAND/ubifs
-       $(call Image/Build/UbinizeImage,$(2),,ubifs,$(UBI_OPTS))
-       $(call Image/Build/SysupgradeNAND,$(2),$(1),$(KDIR)/uImage-$(2))
-endef
-
-define Image/BuildEVA/ubifs
-       $(CP) $(KDIR)/root.ubifs $(BIN_DIR)/$(IMG_PREFIX)-$(2)-rootfs.ubifs
-endef
-
 define Image/Prepare/Profile
        $(call Image/Prepare/Profile/$(1))
 endef