X-Git-Url: https://git.archive.openwrt.org/?p=openwrt.git;a=blobdiff_plain;f=target%2Flinux%2Flantiq%2Fimage%2FMakefile;h=d78c035ecdadac419c0b187451e5583456c53b5e;hp=726092db8f992585fb8404cb1bc6aa672885326a;hb=38bb7dfade6e458668473bbcd9d7a4f863285f1d;hpb=37726d192d63608040db9f88050450f76c988ec7 diff --git a/target/linux/lantiq/image/Makefile b/target/linux/lantiq/image/Makefile index 726092db8f..d78c035ecd 100644 --- a/target/linux/lantiq/image/Makefile +++ b/target/linux/lantiq/image/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2010-2012 OpenWrt.org +# Copyright (C) 2010-2016 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -8,12 +8,14 @@ # boards missing since devicetree update #EASY50712 ARV3527P +JFFS2_BLOCKSIZE = 64k 128k 256k + +KERNEL_LOADADDR = 0x80002000 +KERNEL_ENTRY = 0x80002000 + include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk -JFFS2_BLOCKSIZE = 64k 128k 256k -KDIR_TMP:=$(KDIR)/tmp - LOADER_MAKE := $(NO_TRACE_MAKE) -C lzma-loader KDIR=$(KDIR) define Image/BuildLoader/Template @@ -33,8 +35,8 @@ endef define PatchKernelLzma cp $(KDIR)/vmlinux$(2) $(KDIR)/vmlinux$(2)-$(1) $(LINUX_DIR)/scripts/dtc/dtc -O dtb -o $(KDIR)/$(1).dtb ../dts/$(1).dts - $(STAGING_DIR_HOST)/bin/patch-dtb $(KDIR)/vmlinux$(2)-$(1) $(KDIR)/$(1).dtb - $(call CompressLzma,$(KDIR)/vmlinux$(2)-$(1),$(KDIR)/vmlinux$(2)-$(1).lzma) + cat $(KDIR)/vmlinux$(2)-$(1) $(KDIR)/$(1).dtb > $(KDIR)/vmlinux$(2)-$(1).tmp + $(call CompressLzma,$(KDIR)/vmlinux$(2)-$(1).tmp,$(KDIR)/vmlinux$(2)-$(1).lzma) endef define MkBrnImage @@ -61,22 +63,6 @@ define MkImageEVA cat ./eva.dummy.squashfs >> $(KDIR)/$(1)$(2).eva.align.64k endef -define CompressGzip - gzip -c $(1) > $(2) -endef - -define PatchKernelGzip - cp $(KDIR)/vmlinux$(3) $(KDIR)/vmlinux$(3)-$(1) - $(STAGING_DIR_HOST)/bin/patch-cmdline $(KDIR)/vmlinux$(3)-$(1) '$(strip $(2))' - $(call CompressGzip,$(KDIR)/vmlinux$(3)-$(1),$(KDIR)/vmlinux$(3)-$(1).gzip) -endef - -define MkImageGzip - mkimage -A mips -O linux -T kernel -a 0x80002000 -C gzip \ - -e 0x80002000 -n 'MIPS OpenWrt Linux-$(LINUX_VERSION)' \ - -d $(KDIR)/vmlinux$(2)-$(1).gzip $(KDIR)/uImage-$(1)$(2) -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) @@ -285,33 +271,79 @@ ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) endif endef -define Image/BuildKernelGzip/Template - $(call PatchKernelGzip,$(1),$(if $(2),$(2) machtype=$(1),)) - $(call MkImageGzip,$(1)) - $(CP) $(KDIR)/uImage-$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1)-uImage -ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) - $(call PatchKernelGzip,$(1),$(if $(2),$(2) machtype=$(1),),-initramfs) - $(call MkImageGzip,$(1),-initramfs) - $(CP) $(KDIR)/uImage-$(1)-initramfs $(BIN_DIR)/$(IMG_PREFIX)-$(1)-uImage-initramfs -endif + +### Kernel scripts ### +define Build/append-dtb + $(call Image/BuildDTB,../dts/$(DEVICE_DTS).dts,$@.dtb) + cat $@.dtb >> $@ endef +define Build/tplink-fw + mktplinkfw2 -c -B $(BOARD_ID) -s \ + -k $@ -o $@.new + mv $@.new $@ +endef + +define Build/mktplinkfw2 + mktplinkfw2 -B $(BOARD_ID) -s -a 0x4 -j \ + -k $(word 1,$^) -r $(word 2,$^) \ + -o $@ +endef + + +# Shared device definition: applies to every defined device +define Device/Default + PROFILES = Default $$(DEVICE_PROFILE) + KERNEL_DEPENDS = $$(wildcard ../dts/$$(DEVICE_DTS).dts) + KERNEL_INITRAMFS_NAME = $$(KERNEL_NAME)-initramfs + KERNEL := kernel-bin | append-dtb | lzma | uImage lzma + KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma + FILESYSTEMS := squashfs + DEVICE_PROFILE := + DEVICE_DTS := + IMAGES := sysupgrade.bin + IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs +endef +DEVICE_VARS += BOARD_ID DEVICE_PROFILE DEVICE_DTS + +define Device/lantiqTpLink + KERNEL := kernel-bin | append-dtb | lzma + KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | tplink-fw + IMAGES := tplink + IMAGE/tplink := mktplinkfw2 +endef + +define lantiqTpLink + define Device/$(1) + $$(Device/lantiqTpLink) + DEVICE_PROFILE := $(1) + DEVICE_DTS := $(1) + BOARD_ID := $(2) + endef + TARGET_DEVICES += $(1) +endef + +define lantiqImage + define Device/$(1) + $$(Device/lantiqImage) + DEVICE_PROFILE := $(1) + DEVICE_DTS := $(1) + endef + TARGET_DEVICES += $(1) +endef -ifeq ($(CONFIG_TARGET_lantiq_falcon),y) -Image/BuildKernel/Profile/EASY98000NOR=$(call Image/BuildKernel/Template,EASY98000NOR) -Image/Build/Profile/EASY98000NOR=$(call Image/Build/$(1),$(1),EASY98000NOR) +ifeq ($(CONFIG_TARGET_lantiq_falcon),y) -Image/BuildKernel/Profile/EASY98000SFLASH=$(call Image/BuildKernel/Template,EASY98000SFLASH) -Image/Build/Profile/EASY98000SFLASH=$(call Image/Build/$(1),$(1),EASY98000SFLASH) +$(eval $(call lantiqImage,EASY98000NOR)) +$(eval $(call lantiqImage,EASY98000SFLASH)) endif ifeq ($(CONFIG_TARGET_lantiq_ase),y) -Image/BuildKernel/Profile/DGN1000B=$(call Image/BuildKernel/Template,DGN1000B) -Image/Build/Profile/DGN1000B=$(call Image/Build/$(1),$(1),DGN1000B) +$(eval $(call lantiqImage,DGN1000B)) endif @@ -322,53 +354,23 @@ ifeq ($(CONFIG_TARGET_lantiq_xway),y) Image/BuildKernel/Profile/BTHOMEHUBV2B=$(call Image/BuildKernel/Template,BTHOMEHUBV2B) Image/Build/Profile/BTHOMEHUBV2B=$(call Image/BuildNAND/$(1),$(1),BTHOMEHUBV2B) -Image/BuildKernel/Profile/EASY50712=$(call Image/BuildKernel/Template,EASY50712) -Image/Build/Profile/EASY50712=$(call Image/Build/$(1),$(1),EASY50712) - -Image/BuildKernel/Profile/ACMP252=$(call Image/BuildKernel/Template,ACMP252) -Image/Build/Profile/ACMP252=$(call Image/Build/$(1),$(1),ACMP252) - -Image/BuildKernel/Profile/ARV4510PW=$(call Image/BuildKernel/Template,ARV4510PW) -Image/Build/Profile/ARV4510PW=$(call Image/Build/$(1),$(1),ARV4510PW) - -Image/BuildKernel/Profile/ARV4525PW=$(call Image/BuildKernel/Template,ARV4525PW) -Image/Build/Profile/ARV4525PW=$(call Image/Build/$(1),$(1),ARV4525PW) - -Image/BuildKernel/Profile/ARV7525PW=$(call Image/BuildKernel/Template,ARV7525PW) -Image/Build/Profile/ARV7525PW=$(call Image/Build/$(1),$(1),ARV7525PW) - -Image/BuildKernel/Profile/ARV4518PWR01=$(call Image/BuildKernel/Template,ARV4518PWR01) -Image/Build/Profile/ARV4518PWR01=$(call Image/Build/$(1),$(1),ARV4518PWR01) - -Image/BuildKernel/Profile/ARV4518PWR01A=$(call Image/BuildKernel/Template,ARV4518PWR01A) -Image/Build/Profile/ARV4518PWR01A=$(call Image/Build/$(1),$(1),ARV4518PWR01A) - -Image/BuildKernel/Profile/ARV4519PW=$(call Image/BuildKernel/Template,ARV4519PW) -Image/Build/Profile/ARV4519PW=$(call Image/Build/$(1),$(1),ARV4519PW) - -Image/BuildKernel/Profile/ARV4520PW=$(call Image/BuildKernel/Template,ARV4520PW) -Image/Build/Profile/ARV4520PW=$(call Image/Build/$(1),$(1),ARV4520PW) - -Image/BuildKernel/Profile/ARV452CQW=$(call Image/BuildKernel/Template,ARV452CQW) -Image/Build/Profile/ARV452CQW=$(call Image/Build/$(1),$(1),ARV452CQW) - -Image/BuildKernel/Profile/ARV7510PW22=$(call Image/BuildKernel/Template,ARV7510PW22) -Image/Build/Profile/ARV7510PW22=$(call Image/Build/$(1),$(1),ARV7510PW22) - -Image/BuildKernel/Profile/ARV7518PW=$(call Image/BuildKernel/Template,ARV7518PW) -Image/Build/Profile/ARV7518PW=$(call Image/Build/$(1),$(1),ARV7518PW) - -Image/BuildKernel/Profile/ARV7519PW=$(call Image/BuildKernel/Template,ARV7519PW) -Image/Build/Profile/ARV7519PW=$(call Image/Build/$(1),$(1),ARV7519PW) - -Image/BuildKernel/Profile/ARV752DPW=$(call Image/BuildKernel/Template,ARV752DPW) -Image/Build/Profile/ARV752DPW=$(call Image/Build/$(1),$(1),ARV752DPW) - -Image/BuildKernel/Profile/ARV752DPW22=$(call Image/BuildKernel/Template,ARV752DPW22) -Image/Build/Profile/ARV752DPW22=$(call Image/Build/$(1),$(1),ARV752DPW22) - -Image/BuildKernel/Profile/GIGASX76X=$(call Image/BuildKernel/Template,GIGASX76X) -Image/Build/Profile/GIGASX76X=$(call Image/Build/$(1),$(1),GIGASX76X) +$(eval $(call lantiqImage,EASY50712)) +$(eval $(call lantiqImage,ACMP252)) +$(eval $(call lantiqImage,ARV4510PW)) +$(eval $(call lantiqImage,ARV4525PW)) +$(eval $(call lantiqImage,ARV7525PW)) +$(eval $(call lantiqImage,ARV4518PWR01)) +$(eval $(call lantiqImage,ARV4518PWR01A)) +$(eval $(call lantiqImage,ARV4519PW)) +$(eval $(call lantiqImage,ARV4520PW)) +$(eval $(call lantiqImage,ARV452CQW)) +$(eval $(call lantiqImage,ARV7510PW22)) +$(eval $(call lantiqImage,ARV7518PW)) +$(eval $(call lantiqImage,ARV7519PW)) +$(eval $(call lantiqImage,ARV752DPW)) +$(eval $(call lantiqImage,ARV752DPW22)) +$(eval $(call lantiqImage,ARV8539PW22)) +$(eval $(call lantiqImage,GIGASX76X)) # AR9 @@ -381,23 +383,15 @@ Image/Build/Profile/DGN3500=$(call Image/BuildDGN3500/$(1),$(1),DGN3500) Image/BuildKernel/Profile/DGN3500B=$(call Image/BuildKernel/Template,DGN3500B) Image/Build/Profile/DGN3500B=$(call Image/BuildDGN3500B/$(1),$(1),DGN3500B) -Image/BuildKernel/Profile/WBMRA=$(call Image/BuildKernel/Template,WBMR) -Image/Build/Profile/WBMRA=$(call Image/Build/$(1),$(1),WBMR) - -Image/BuildKernel/Profile/WBMRB=$(call Image/BuildKernel/Template,WBMR) -Image/Build/Profile/WBMRB=$(call Image/Build/$(1),$(1),WBMR) +$(eval $(call lantiqImage,WBMRA)) +$(eval $(call lantiqImage,WBMRB)) Image/BuildKernel/Profile/FRITZ7320=$(call Image/BuildKernelEVA/Template,FRITZ7320) Image/Build/Profile/FRITZ7320=$(call Image/BuildEVA/$(1),$(1),FRITZ7320) -Image/BuildKernel/Profile/GR7000=$(call Image/BuildKernel/Template,GR7000) -Image/Build/Profile/GR7000=$(call Image/Build/$(1),$(1),GR7000) - -Image/BuildKernel/Profile/H201L=$(call Image/BuildKernel/Template,H201L) -Image/Build/Profile/H201L=$(call Image/Build/$(1),$(1),H201L) - -Image/BuildKernel/Profile/P2601HNFX=$(call Image/BuildKernel/Template,P2601HNFX) -Image/Build/Profile/P2601HNFX=$(call Image/Build/$(1),$(1),P2601HNFX) +$(eval $(call lantiqImage,GR7000)) +$(eval $(call lantiqImage,H201L)) +$(eval $(call lantiqImage,P2601HNFX)) endif @@ -411,17 +405,13 @@ Image/Build/Profile/P2812HNUF1=$(call Image/BuildNAND/$(1),$(1),P2812HNUF1) Image/BuildKernel/Profile/P2812HNUF3=$(call Image/BuildKernel/Template,P2812HNUF3) Image/Build/Profile/P2812HNUF3=$(call Image/BuildNAND/$(1),$(1),P2812HNUF3) -Image/BuildKernel/Profile/ARV7519RW22=$(call Image/BuildKernel/Template,ARV7519RW22,$(1)) -Image/Build/Profile/ARV7519RW22=$(call Image/Build/$(1),$(1),ARV7519RW22) +$(eval $(call lantiqImage,ARV7519RW22)) Image/BuildKernel/Profile/BTHOMEHUBV5A=$(call Image/BuildKernel/Template,BTHOMEHUBV5A) Image/Build/Profile/BTHOMEHUBV5A=$(call Image/BuildNAND/$(1),$(1),BTHOMEHUBV5A) -Image/BuildKernel/Profile/EASY80920NAND=$(call Image/BuildKernel/Template,EASY80920NAND) -Image/Build/Profile/EASY80920NAND=$(call Image/Build/$(1),$(1),EASY80920NAND) - -Image/BuildKernel/Profile/EASY80920NOR=$(call Image/BuildKernel/Template,EASY80920NOR) -Image/Build/Profile/EASY80920NOR=$(call Image/Build/$(1),$(1),EASY80920NOR) +$(eval $(call lantiqImage,EASY80920NAND)) +$(eval $(call lantiqImage,EASY80920NOR)) Image/BuildKernel/Profile/FRITZ3370=$(call Image/BuildKernelEVA/Template,FRITZ3370) Image/Build/Profile/FRITZ3370=$(call Image/BuildEVA/$(1),$(1),FRITZ3370) @@ -432,37 +422,26 @@ Image/Build/Profile/VG3503J=$(call Image/BuildLoader/$(1),$(1),VG3503J) Image/BuildKernel/Profile/VG3503J_V2=$(call Image/BuildKernelLoader/Template,VG3503J_V2) Image/Build/Profile/VG3503J_V2=$(call Image/BuildLoader/$(1),$(1),VG3503J_V2) -Image/BuildKernel/Profile/TDW8970=$(call Image/BuildKernelTPLink/Template,TDW8970,TD-W8970v1,$(1)) -Image/Build/Profile/TDW8970=$(call Image/BuildTPLink/$(1),$(1),TDW8970,TD-W8970v1) - -Image/BuildKernel/Profile/VGV7510KW22NOR=$(call Image/BuildKernel/Template,VGV7510KW22NOR,$(1)) -Image/Build/Profile/VGV7510KW22NOR=$(call Image/Build/$(1),$(1),VGV7510KW22NOR) +$(eval $(call lantiqTpLink,TDW8970,TD-W8970v1)) +$(eval $(call lantiqTpLink,TDW8980,TD-W8980v1)) +$(eval $(call lantiqTpLink,VR200v,ArcherVR200V)) +$(eval $(call lantiqImage,VGV7510KW22NOR)) Image/BuildKernel/Profile/VGV7510KW22BRN=$(call Image/BuildKernel/Template,VGV7510KW22BRN,$(1)) -Image/Build/Profile/VGV7510KW22BRN=$(call Image/Build/$(1),$(1),VGV7510KW22BRN,5BRNDA6431,0x12345678,0x04c11db7,$(1)) +Image/Build/Profile/VGV7510KW22BRN=$(call Image/Build/$(1),$(1),VGV7510KW22BRN,BRNDA6431,0x12345678,0x04c11db7,$(1)) -Image/BuildKernel/Profile/VGV7519NOR=$(call Image/BuildKernel/Template,VGV7519NOR,$(1)) -Image/Build/Profile/VGV7519NOR=$(call Image/Build/$(1),$(1),VGV7519NOR) +$(eval $(call lantiqImage,VGV7519NOR)) Image/BuildKernel/Profile/VGV7519BRN=$(call Image/BuildKernel/Template,VGV7519BRN,$(1)) Image/Build/Profile/VGV7519BRN=$(call Image/Build/$(1),$(1),VGV7519BRN,5D00008000,0x12345678,0x2083b8ed,$(1)) define Image/Prepare - $(call Image/Prepare/Profile,VG3503J) - $(call Image/Prepare/Profile,VG3503J_V2) + $(call Image/Prepare/Profile,$(PROFILE)) endef endif -ifeq ($(CONFIG_TARGET_lantiq_svip_be),y) - -Image/BuildKernel/Profile/EASY33016=$(call Image/BuildKernelGzip/Template,EASY33016) -Image/Build/Profile/EASY33016=$(call Image/Build/$(1),$(1),EASY33016) - -endif - - define Image/BuildKernel $(call Image/BuildKernel/Profile/$(PROFILE)) endef