mirror of
https://github.com/openwrt/openwrt.git
synced 2025-04-23 02:14:12 +00:00
Currently, bcm63xx-cfe is being installed into kernel build dir, however that does not work for Image Builder as only certain artifacts from kernel build dir are included in Image Builder. So, simply install bcm63xx-cfe into image staging dir so its artifacts can be used in Image Builder as well. Fixes: #18408 Fixes: #18409 Link: https://github.com/openwrt/openwrt/pull/18463 Signed-off-by: Robert Marko <robimarko@gmail.com>
139 lines
3.9 KiB
Makefile
139 lines
3.9 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
include $(INCLUDE_DIR)/image.mk
|
|
|
|
DEVICE_VARS += ASUS_PRODUCTID ASUS_BUILD_NO ASUS_FW_REV ASUS_EXT_NO
|
|
DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_REGION
|
|
DEVICE_VARS += SOC
|
|
|
|
define Image/Prepare
|
|
cp bootfs*.its* $(KDIR)/
|
|
sed -i "s=\$$$${images_dir}=$(STAGING_DIR_IMAGE)=" $(KDIR)/bootfs*.its*
|
|
sed -i "s=\$$$${dts_dir}=$(DTS_DIR)=" $(KDIR)/bootfs*.its*
|
|
endef
|
|
|
|
define Build/bootfs
|
|
cat $@ | $(STAGING_DIR_HOST)/bin/lzma e -eos -si -so > $@.tmp
|
|
mv $@.tmp $@
|
|
sed -i "s=\$${kernel}=$@=" $(KDIR)/bootfs*.its*
|
|
PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $(KDIR)/bootfs-bcm4908.its $(KDIR)/bootfs-bcm4908.itb
|
|
PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $(KDIR)/bootfs-bcm4912.its $(KDIR)/bootfs-bcm4912.itb
|
|
endef
|
|
|
|
define Build/bcm4908asus
|
|
$(STAGING_DIR_HOST)/bin/bcm4908asus create -i $@ \
|
|
-p $(ASUS_PRODUCTID) -b $(ASUS_BUILD_NO) -f $(ASUS_FW_REV) \
|
|
-e $(ASUS_EXT_NO)
|
|
endef
|
|
|
|
define Build/bcm4908img
|
|
rm -fr $@-bootfs
|
|
mkdir -p $@-bootfs
|
|
cp -r $(DEVICE_NAME)/* $@-bootfs/
|
|
touch $@-bootfs/1-openwrt
|
|
cp $(DTS_DIR)/$(firstword $(DEVICE_DTS)).dtb $@-bootfs/94908.dtb
|
|
cp $(STAGING_DIR_IMAGE)/bcm63xx-cfe/$(subst _,$(comma),$(DEVICE_NAME))/cferam.000 $@-bootfs/
|
|
cp $(IMAGE_KERNEL) $@-bootfs/vmlinux.lz
|
|
|
|
$(STAGING_DIR_HOST)/bin/mkfs.jffs2 --pad=0x800000 --little-endian --squash-uids \
|
|
-v -e 128KiB -o $@-bootfs.jffs2 -d $@-bootfs -m none -n
|
|
$(STAGING_DIR_HOST)/bin/bcm4908img create $@.new -f $@-bootfs.jffs2 \
|
|
-a 0x20000 -f $@
|
|
mv $@.new $@
|
|
endef
|
|
|
|
define Build/bcm4908kernel
|
|
$(STAGING_DIR_HOST)/bin/bcm4908kernel -i $@ -o $@.new
|
|
mv $@.new $@
|
|
endef
|
|
|
|
define Build/bcm4908lzma
|
|
$(STAGING_DIR_HOST)/bin/lzma e -lc1 -lp2 -pb2 -d22 $@ $@.new
|
|
mv $@.new $@
|
|
endef
|
|
|
|
define Build/pkgtb
|
|
mv $@ $@.rootfs
|
|
cp pkgtb-$(SOC).its $@.its
|
|
sed -i "s=\$${bootfs}=$(KDIR)/bootfs-$(SOC).itb=" $@.its
|
|
sed -i "s=\$${rootfs}=$@.rootfs=" $@.its
|
|
PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@
|
|
endef
|
|
|
|
define Device/Default
|
|
KERNEL := kernel-bin | bcm4908lzma | bcm4908kernel
|
|
KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
|
|
KERNEL_INITRAMFS_SUFFIX := .bin
|
|
KERNEL_INITRAMFS := kernel-bin | bcm4908lzma | bcm4908kernel
|
|
FILESYSTEMS := squashfs
|
|
KERNEL_NAME := Image
|
|
DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(1).$$(2)
|
|
BLOCKSIZE := 128k
|
|
PAGESIZE := 2048
|
|
IMAGE/bin := append-ubi | bcm4908img
|
|
endef
|
|
|
|
define Device/asus_gt-ac5300
|
|
DEVICE_VENDOR := ASUS
|
|
DEVICE_MODEL := GT-AC5300
|
|
DEVICE_DTS := broadcom/bcmbca/bcm4908-asus-gt-ac5300
|
|
IMAGES := bin
|
|
IMAGE/bin := append-ubi | bcm4908img | bcm4908asus
|
|
ASUS_PRODUCTID := GT-AC5300
|
|
ASUS_BUILD_NO := 384
|
|
ASUS_FW_REV := 3.0.0.4
|
|
ASUS_EXT_NO := 21140
|
|
endef
|
|
TARGET_DEVICES += asus_gt-ac5300
|
|
|
|
define Device/asus_gt-ax6000
|
|
DEVICE_VENDOR := ASUS
|
|
DEVICE_MODEL := GT-AX6000
|
|
DEVICE_DTS := broadcom/bcmbca/bcm4912-asus-gt-ax6000
|
|
IMAGES := pkgtb
|
|
IMAGE/pkgtb := append-rootfs | pkgtb
|
|
SOC := bcm4912
|
|
endef
|
|
# TARGET_DEVICES += asus_gt-ax6000
|
|
|
|
define Device/netgear_r8000p
|
|
DEVICE_VENDOR := Netgear
|
|
DEVICE_MODEL := R8000P
|
|
DEVICE_DTS := broadcom/bcmbca/bcm4906-netgear-r8000p
|
|
IMAGES := bin
|
|
IMAGE/chk := append-ubi | bcm4908img | netgear-chk
|
|
NETGEAR_BOARD_ID := U12H359T00_NETGEAR
|
|
NETGEAR_REGION := 1
|
|
endef
|
|
TARGET_DEVICES += netgear_r8000p
|
|
|
|
define Device/tplink_archer-c2300-v1
|
|
DEVICE_VENDOR := TP-Link
|
|
DEVICE_MODEL := Archer C2300
|
|
DEVICE_VARIANT := v1
|
|
DEVICE_DTS := broadcom/bcmbca/bcm4906-tplink-archer-c2300-v1
|
|
IMAGES := bin
|
|
IMAGE/bin := append-ubi | bcm4908img
|
|
BROKEN := y
|
|
endef
|
|
TARGET_DEVICES += tplink_archer-c2300-v1
|
|
|
|
define Device/netgear
|
|
DEVICE_VENDOR := NETGEAR
|
|
KERNEL := kernel-bin | bootfs
|
|
IMAGES := chk
|
|
IMAGE/chk := append-rootfs | pkgtb | netgear-chk
|
|
NETGEAR_REGION := 1
|
|
endef
|
|
|
|
define Device/netgear_raxe500
|
|
DEVICE_MODEL := RAXE500
|
|
$(Device/netgear)
|
|
SOC := bcm4908
|
|
NETGEAR_BOARD_ID := U12H449T00_NETGEAR
|
|
endef
|
|
# TARGET_DEVICES += netgear_raxe500
|
|
|
|
$(eval $(call BuildImage))
|