X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=target%2Flinux%2Fbcm53xx%2Fimage%2FMakefile;h=0ba067d36482157abbc3e87ce775c67bfe770638;hb=598b29585ed9501e751b8d3faf3b6e017ad96baa;hp=a9ace12c2b5d4c6176815063c41d32fa5ed0477c;hpb=f24cb34239ed98748e0b479295253864f8bd2462;p=openwrt%2Fstaging%2Fwigyori.git diff --git a/target/linux/bcm53xx/image/Makefile b/target/linux/bcm53xx/image/Makefile index a9ace12c2b..0ba067d364 100644 --- a/target/linux/bcm53xx/image/Makefile +++ b/target/linux/bcm53xx/image/Makefile @@ -1,9 +1,7 @@ +# SPDX-License-Identifier: GPL-2.0-only # # Copyright (C) 2013 OpenWrt.org -# -# 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 @@ -49,10 +47,17 @@ define Build/buffalo-wzr-header mv $@.new $@ endef -define Build/trx-serial +# TRX with only one (kernel) partition +define Build/trx $(STAGING_DIR_HOST)/bin/trx \ -o $@.new \ -m 33554432 \ + -f $@ + mv $@.new $@ +endef + +define Build/trx-serial + $(STAGING_DIR_HOST)/bin/otrx create $@.new \ -f $(IMAGE_KERNEL) -a 1024 \ -f $@ -a 0x10000 -A $(KDIR)/fs_mark mv $@.new $@ @@ -63,9 +68,7 @@ define Build/trx-nand # if it grows up between releases # root: UBI with one extra block containing UBI mark to trigger erasing # rest of partition - $(STAGING_DIR_HOST)/bin/trx \ - -o $@.new \ - -m 33554432 \ + $(STAGING_DIR_HOST)/bin/otrx create $@.new \ -f $(IMAGE_KERNEL) -a 0x20000 -b 0x400000 \ -f $@ \ -A $(KDIR)/ubi_mark -a 0x20000 @@ -74,7 +77,14 @@ endef define Build/asus-trx $(STAGING_DIR_HOST)/bin/asustrx \ - -p $(PRODUCTID) -i $@ -o $@.new + -p $(ASUS_PRODUCTID) -i $@ -o $@.new + mv $@.new $@ +endef + +define Build/luxul-lxl + $(STAGING_DIR_HOST)/bin/lxlfw create $@.new \ + -i $@ \ + -b $(LUXUL_BOARD) mv $@.new $@ endef @@ -95,11 +105,17 @@ define Build/seama-nand -i $@.entity endef -DEVICE_VARS += PRODUCTID SIGNATURE NETGEAR_BOARD_ID NETGEAR_REGION TPLINK_BOARD +DEVICE_VARS += ASUS_PRODUCTID DEVICE_VARS += BUFFALO_TAG_PLATFORM BUFFALO_TAG_VERSION BUFFALO_TAG_MINOR - -BRCMFMAC_43602A1 := kmod-brcmfmac brcmfmac-firmware-43602a1-pcie -BRCMFMAC_4366B1 := kmod-brcmfmac brcmfmac-firmware-4366b1-pcie +DEVICE_VARS += SIGNATURE +DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_REGION TPLINK_BOARD +DEVICE_VARS += LUXUL_BOARD + +IEEE8021X := wpad-basic-wolfssl +B43 := $(IEEE8021X) kmod-b43 +BRCMFMAC_43602A1 := $(IEEE8021X) kmod-brcmfmac brcmfmac-firmware-43602a1-pcie +BRCMFMAC_4366B1 := $(IEEE8021X) kmod-brcmfmac brcmfmac-firmware-4366b1-pcie +BRCMFMAC_4366C0 := $(IEEE8021X) kmod-brcmfmac brcmfmac-firmware-4366c0-pcie USB2_PACKAGES := kmod-usb-ohci kmod-usb2 kmod-phy-bcm-ns-usb2 USB2_PACKAGES += kmod-usb-ledtrig-usbport USB3_PACKAGES := $(USB2_PACKAGES) kmod-usb3 kmod-phy-bcm-ns-usb3 @@ -107,9 +123,11 @@ USB3_PACKAGES := $(USB2_PACKAGES) kmod-usb3 kmod-phy-bcm-ns-usb3 define Device/Default # .dtb files are prefixed by SoC type, e.g. bcm4708- which is not included in device/image names # extract the full dtb name based on the device info - DEVICE_DTS := $(patsubst %.dtb,%,$(notdir $(wildcard $(if $(IB),$(KDIR),$(DTS_DIR))/*-$(1).dtb))) + DEVICE_DTS := $(patsubst %.dtb,%,$(notdir $(wildcard $(if $(IB),$(KDIR),$(DTS_DIR))/*-$(subst _,-,$(1)).dtb))) KERNEL := kernel-bin | append-dtb | lzma-d16 KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts) + KERNEL_INITRAMFS_SUFFIX := .trx + KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma-d16 | trx FILESYSTEMS := squashfs KERNEL_NAME := zImage IMAGE_NAME = $$(IMAGE_PREFIX)-$$(1).$$(2) @@ -120,49 +138,72 @@ define Device/Default endef define Device/asus + DEVICE_VENDOR := ASUS IMAGES := trx IMAGE/trx := append-ubi | trx-nand | asus-trx endef -define Device/asus-rt-ac56u - DEVICE_TITLE := Asus RT-AC56U - DEVICE_PACKAGES := kmod-b43 $(USB3_PACKAGES) +define Device/asus_rt-ac56u + $(call Device/asus) + DEVICE_MODEL := RT-AC56U + DEVICE_PACKAGES := $(B43) $(USB3_PACKAGES) + ASUS_PRODUCTID := RT-AC56U endef -TARGET_DEVICES += asus-rt-ac56u +TARGET_DEVICES += asus_rt-ac56u -define Device/asus-rt-ac68u - DEVICE_TITLE := Asus RT-AC68U +define Device/asus_rt-ac68u + $(call Device/asus) + DEVICE_MODEL := RT-AC68U DEVICE_PACKAGES := $(USB3_PACKAGES) + ASUS_PRODUCTID := RT-AC68U endef -TARGET_DEVICES += asus-rt-ac68u +TARGET_DEVICES += asus_rt-ac68u -define Device/asus-rt-ac87u - DEVICE_TITLE := Asus RT-AC87U +define Device/asus_rt-ac87u + $(call Device/asus) + DEVICE_MODEL := RT-AC87U DEVICE_PACKAGES := $(USB3_PACKAGES) + ASUS_PRODUCTID := RT-AC87U endef -TARGET_DEVICES += asus-rt-ac87u +TARGET_DEVICES += asus_rt-ac87u -define Device/asus-rt-n18u - DEVICE_TITLE := Asus RT-N18U +define Device/asus_rt-n18u + $(call Device/asus) + DEVICE_MODEL := RT-N18U DEVICE_PACKAGES := $(USB3_PACKAGES) + ASUS_PRODUCTID := RT-N18U +endef +TARGET_DEVICES += asus_rt-n18u + +# Buffalo devices have TFTP recovery mode which can work nicely with initramfs +# kernels. +# We should have two initramfs images for Buffalo: plain initramfs kernel and +# TRX with initramfs kernel. It's not possible right now so let's just build +# plain initramfs kernel as it may be more useful. +define Device/buffalo/Default + DEVICE_VENDOR := Buffalo + KERNEL_INITRAMFS_SUFFIX = $$(KERNEL_SUFFIX) + KERNEL_INITRAMFS = $$(KERNEL) endef -TARGET_DEVICES += asus-rt-n18u -define Device/buffalo-wxr-1900dhp - DEVICE_TITLE := Buffalo WXR-1900DHP +define Device/buffalo_wxr-1900dhp + $(call Device/buffalo/Default) + DEVICE_MODEL := WXR-1900DHP DEVICE_PACKAGES := $(USB3_PACKAGES) endef -TARGET_DEVICES += buffalo-wxr-1900dhp +TARGET_DEVICES += buffalo_wxr-1900dhp -define Device/buffalo-wzr-600dhp2 - DEVICE_TITLE := Buffalo WZR-600DHP2 - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) +define Device/buffalo_wzr-600dhp2 + $(call Device/buffalo/Default) + DEVICE_MODEL := WZR-600DHP2 + DEVICE_PACKAGES := $(B43) $(USB2_PACKAGES) endef -TARGET_DEVICES += buffalo-wzr-600dhp2 +TARGET_DEVICES += buffalo_wzr-600dhp2 -define Device/buffalo-wzr-900dhp - DEVICE_TITLE := Buffalo WZR-900DHP - DEVICE_PACKAGES := kmod-b43 $(USB3_PACKAGES) +define Device/buffalo_wzr-900dhp + $(call Device/buffalo/Default) + DEVICE_MODEL := WZR-900DHP + DEVICE_PACKAGES := $(B43) $(USB3_PACKAGES) BUFFALO_TAG_PLATFORM := bcm BUFFALO_TAG_VERSION := 9.99 BUFFALO_TAG_MINOR := 9.99 @@ -178,111 +219,237 @@ define Device/buffalo-wzr-900dhp buffalo-tag-dhp WZR-900DHP2 JP jp | buffalo-enc-tag | \ buffalo-dhp-image endef -TARGET_DEVICES += buffalo-wzr-900dhp +TARGET_DEVICES += buffalo_wzr-900dhp -define Device/buffalo-wzr-1750dhp - DEVICE_TITLE := Buffalo WZR-1750DHP - DEVICE_PACKAGES := kmod-b43 $(USB3_PACKAGES) +define Device/buffalo_wzr-1750dhp + $(call Device/buffalo/Default) + DEVICE_MODEL := WZR-1750DHP + DEVICE_PACKAGES := $(B43) $(USB3_PACKAGES) endef -TARGET_DEVICES += buffalo-wzr-1750dhp +TARGET_DEVICES += buffalo_wzr-1750dhp define Device/dlink + DEVICE_VENDOR := D-Link IMAGES := bin IMAGE/bin := append-ubi | seama-nand endef -define Device/dlink-dir-885l - DEVICE_TITLE := D-Link DIR-885L +define Device/dlink_dir-885l + DEVICE_MODEL := DIR-885L DEVICE_PACKAGES := $(BRCMFMAC_4366B1) $(USB3_PACKAGES) $(Device/dlink) SIGNATURE := wrgac42_dlink.2015_dir885l endef -TARGET_DEVICES += dlink-dir-885l +TARGET_DEVICES += dlink_dir-885l + +# Linksys devices are disabled due to problem with 2 TRX partitions +define Device/linksys_ea6300-v1 + DEVICE_VENDOR := Linksys + DEVICE_MODEL := EA6300 + DEVICE_VARIANT := v1 + DEVICE_PACKAGES := $(B43) $(USB3_PACKAGES) + BROKEN := y +endef +TARGET_DEVICES += linksys_ea6300-v1 -define Device/linksys-ea6300-v1 - DEVICE_TITLE := Linksys EA6300 V1 - DEVICE_PACKAGES := kmod-b43 $(USB3_PACKAGES) +define Device/linksys_ea6500-v2 + DEVICE_VENDOR := Linksys + DEVICE_MODEL := EA6500 + DEVICE_VARIANT := v2 + DEVICE_PACKAGES := $(B43) $(USB3_PACKAGES) endef -# Disabled due to problems with 2 TRX partitions -# TARGET_DEVICES += linksys-ea6300-v1 +TARGET_DEVICES += linksys_ea6500-v2 + +define Device/linksys_ea9200 + DEVICE_VENDOR := Linksys + DEVICE_MODEL := EA9200 + DEVICE_VARIANT := v1 + DEVICE_PACKAGES := $(BRCMFMAC_43602A1) $(USB3_PACKAGES) + BROKEN := y +endef +TARGET_DEVICES += linksys_ea9200 + +define Device/linksys_ea9500 + DEVICE_VENDOR := Linksys + DEVICE_MODEL := EA9500 + DEVICE_PACKAGES := $(BRCMFMAC_4366C0) $(USB3_PACKAGES) + DEVICE_DTS := bcm47094-linksys-panamera + BROKEN := y +endef +TARGET_DEVICES += linksys_ea9500 + +define Device/luxul + DEVICE_VENDOR := Luxul + IMAGES := lxl + IMAGE/lxl := append-ubi | trx-nand | luxul-lxl +endef + +define Device/luxul_abr-4500 + $(Device/luxul) + DEVICE_MODEL := ABR-4500 + DEVICE_PACKAGES := $(USB3_PACKAGES) + LUXUL_BOARD := ABR-4500 +endef +TARGET_DEVICES += luxul_abr-4500 + +define Device/luxul_xap-1610 + $(Device/luxul) + DEVICE_MODEL := XAP-1610 + DEVICE_PACKAGES := $(BRCMFMAC_4366C0) + IMAGE/lxl := append-rootfs | trx-serial | luxul-lxl + LUXUL_BOARD := XAP-1610 +endef +TARGET_DEVICES += luxul_xap-1610 + +define Device/luxul_xbr-4500 + $(Device/luxul) + DEVICE_MODEL := XBR-4500 + DEVICE_PACKAGES := $(USB3_PACKAGES) + LUXUL_BOARD := XBR-4500 +endef +TARGET_DEVICES += luxul_xbr-4500 + +define Device/luxul_xwr-3150 + $(Device/luxul) + DEVICE_MODEL := XWR-3150 + DEVICE_PACKAGES := $(BRCMFMAC_4366C0) $(USB3_PACKAGES) + DEVICE_DTS := bcm47094-luxul-xwr-3150-v1 + LUXUL_BOARD := XWR-3150 +endef +TARGET_DEVICES += luxul_xwr-3150 + +define Device/meraki_mr32 + DEVICE_VENDOR := Meraki + DEVICE_MODEL := MR32 + DEVICE_PACKAGES := $(B43) kmod-i2c-bcm-iproc kmod-i2c-gpio kmod-eeprom-at24 \ + kmod-leds-pwm kmod-hwmon-ina2xx kmod-bluetooth + DEVICE_DTS := bcm53016-meraki-mr32 +# Meraki FW r23 tries to resize the part.safe partition before it will +# flash the image. This is a bit of a problem, since resizing will fail +# if the partition is smaller than the old one. + KERNEL_LOADADDR := 0x00008000 + KERNEL_INITRAMFS_SUFFIX := .bin + KERNEL_INITRAMFS := kernel-bin | fit none $$(DTS_DIR)/$$(DEVICE_DTS).dtb | \ + pad-to 10362880 + KERNEL := kernel-bin | fit none $$(DTS_DIR)/$$(DEVICE_DTS).dtb + IMAGES := sysupgrade.bin +# Currently the only device that uses the new image check + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata + +# The loader is specifically looking for fdt@2: +# [ 3.190000] find_itb_subimage: error finding fdt@2: FDT_ERR_NOTFOUND +# The image won't boot, if it isn't found. :( + DEVICE_FDT_NUM := 2 +endef +TARGET_DEVICES += meraki_mr32 define Device/netgear + DEVICE_VENDOR := NETGEAR IMAGES := chk IMAGE/chk := append-ubi | trx-nand | netgear-chk NETGEAR_REGION := 1 endef -define Device/netgear-r6250 - DEVICE_TITLE := Netgear R6250 - DEVICE_PACKAGES := kmod-b43 $(USB3_PACKAGES) +define Device/netgear_r6250 + DEVICE_MODEL := R6250 + DEVICE_PACKAGES := $(B43) $(USB3_PACKAGES) $(Device/netgear) NETGEAR_BOARD_ID := U12H245T00_NETGEAR endef -TARGET_DEVICES += netgear-r6250 +TARGET_DEVICES += netgear_r6250 -define Device/netgear-r6300-v2 - DEVICE_TITLE := Netgear R6300 V2 - DEVICE_PACKAGES := kmod-b43 $(USB3_PACKAGES) +define Device/netgear_r6300-v2 + DEVICE_MODEL := R6300 + DEVICE_VARIANT := v2 + DEVICE_PACKAGES := $(B43) $(USB3_PACKAGES) $(Device/netgear) NETGEAR_BOARD_ID := U12H240T00_NETGEAR endef -TARGET_DEVICES += netgear-r6300-v2 +TARGET_DEVICES += netgear_r6300-v2 -define Device/netgear-r7000 - DEVICE_TITLE := Netgear R7000 +define Device/netgear_r7000 + DEVICE_MODEL := R7000 DEVICE_PACKAGES := $(USB3_PACKAGES) $(Device/netgear) NETGEAR_BOARD_ID := U12H270T00_NETGEAR endef -TARGET_DEVICES += netgear-r7000 +TARGET_DEVICES += netgear_r7000 -define Device/netgear-r7900 - DEVICE_TITLE := Netgear R7900 +define Device/netgear_r7900 + DEVICE_MODEL := R7900 DEVICE_PACKAGES := $(BRCMFMAC_43602A1) $(USB3_PACKAGES) $(Device/netgear) NETGEAR_BOARD_ID := U12H315T30_NETGEAR endef -TARGET_DEVICES += netgear-r7900 +TARGET_DEVICES += netgear_r7900 -define Device/netgear-r8000 - DEVICE_TITLE := Netgear R8000 +define Device/netgear_r8000 + DEVICE_MODEL := R8000 DEVICE_PACKAGES := $(BRCMFMAC_43602A1) $(USB3_PACKAGES) $(Device/netgear) NETGEAR_BOARD_ID := U12H315T00_NETGEAR endef -TARGET_DEVICES += netgear-r8000 +TARGET_DEVICES += netgear_r8000 -define Device/netgear-r8500 - DEVICE_TITLE := Netgear R8500 +define Device/netgear_r8500 + DEVICE_MODEL := R8500 DEVICE_PACKAGES := $(BRCMFMAC_4366B1) $(USB3_PACKAGES) $(Device/netgear) NETGEAR_BOARD_ID := U12H334T00_NETGEAR + DEFAULT := n endef -# TARGET_DEVICES += netgear-r8500 +TARGET_DEVICES += netgear_r8500 -define Device/smartrg-sr400ac - DEVICE_TITLE := SmartRG SR400ac +define Device/smartrg_sr400ac + DEVICE_VENDOR := SmartRG + DEVICE_MODEL := SR400ac DEVICE_PACKAGES := $(BRCMFMAC_43602A1) $(USB3_PACKAGES) IMAGES := trx IMAGE/trx := append-rootfs | trx-serial + KERNEL_INITRAMFS_SUFFIX := .bin + KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma-d16 +endef +TARGET_DEVICES += smartrg_sr400ac + +define Device/phicomm_k3 + DEVICE_VENDOR := PHICOMM + DEVICE_MODEL := K3 + DEVICE_PACKAGES := $(BRCMFMAC_4366C0) $(USB3_PACKAGES) + IMAGES := trx endef -TARGET_DEVICES += smartrg-sr400ac +TARGET_DEVICES += phicomm_k3 -define Device/tenda-ac9 - DEVICE_TITLE := Tenda AC9 - DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) +define Device/tenda_ac9 + DEVICE_VENDOR := Tenda + DEVICE_MODEL := AC9 + DEVICE_PACKAGES := $(B43) $(USB2_PACKAGES) IMAGES := trx IMAGE/trx := append-rootfs | trx-serial endef -TARGET_DEVICES += tenda-ac9 +TARGET_DEVICES += tenda_ac9 + +define Device/tplink_archer-c5-v2 + DEVICE_VENDOR := TP-Link + DEVICE_MODEL := Archer C5 + DEVICE_VARIANT := v2 + DEVICE_PACKAGES := $(B43) $(USB2_PACKAGES) + IMAGES := bin + IMAGE/bin := append-rootfs | bcm53xx-tplink-safeloader + TPLINK_BOARD := ARCHER-C5-V2 + BROKEN := y +endef +TARGET_DEVICES += tplink_archer-c5-v2 -define Device/tplink-archer-c9-v1 - DEVICE_TITLE := TP-LINK Archer C9 V1 +define Device/tplink_archer-c9-v1 + DEVICE_VENDOR := TP-Link + DEVICE_MODEL := Archer C9 + DEVICE_VARIANT := v1 DEVICE_PACKAGES := $(USB3_PACKAGES) IMAGES := bin IMAGE/bin := append-rootfs | bcm53xx-tplink-safeloader TPLINK_BOARD := ARCHERC9 + BROKEN := y endef -TARGET_DEVICES += tplink-archer-c9-v1 +TARGET_DEVICES += tplink_archer-c9-v1 $(eval $(call BuildImage))