bcm4908: build chk image for Netgear RAXE500
[openwrt/openwrt.git] / target / linux / bcm4908 / image / Makefile
1 # SPDX-License-Identifier: GPL-2.0-only
2
3 include $(TOPDIR)/rules.mk
4 include $(INCLUDE_DIR)/image.mk
5
6 DEVICE_VARS += ASUS_PRODUCTID ASUS_BUILD_NO ASUS_FW_REV ASUS_EXT_NO
7 DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_REGION
8 DEVICE_VARS += PKGTB_ITS
9
10 define Image/Prepare
11 cp bootfs-generic.its $(KDIR)/
12 sed -i "s=\$$$${dts_dir}=$(DTS_DIR)=" $(KDIR)/bootfs-generic.its
13 endef
14
15 define Build/bootfs
16 cat $@ | $(STAGING_DIR_HOST)/bin/lzma e -eos -si -so > $@.tmp
17 mv $@.tmp $@
18 sed -i "s=\$${kernel}=$@=" $(KDIR)/bootfs-generic.its
19 PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $(KDIR)/bootfs-generic.its $(KDIR)/bootfs-generic.itb
20 endef
21
22 define Build/bcm4908asus
23 $(STAGING_DIR_HOST)/bin/bcm4908asus create -i $@ \
24 -p $(ASUS_PRODUCTID) -b $(ASUS_BUILD_NO) -f $(ASUS_FW_REV) \
25 -e $(ASUS_EXT_NO)
26 endef
27
28 define Build/bcm4908img
29 rm -fr $@-bootfs
30 mkdir -p $@-bootfs
31 cp -r $(DEVICE_NAME)/* $@-bootfs/
32 touch $@-bootfs/1-openwrt
33 cp $(DTS_DIR)/$(firstword $(DEVICE_DTS)).dtb $@-bootfs/94908.dtb
34 cp $(KDIR)/bcm63xx-cfe/$(subst _,$(comma),$(DEVICE_NAME))/cferam.000 $@-bootfs/
35 cp $(IMAGE_KERNEL) $@-bootfs/vmlinux.lz
36
37 $(STAGING_DIR_HOST)/bin/mkfs.jffs2 --pad=0x800000 --little-endian --squash-uids \
38 -v -e 128KiB -o $@-bootfs.jffs2 -d $@-bootfs -m none -n
39 $(STAGING_DIR_HOST)/bin/bcm4908img create $@.new -f $@-bootfs.jffs2 \
40 -a 0x20000 -f $@
41 mv $@.new $@
42 endef
43
44 define Build/bcm4908kernel
45 $(STAGING_DIR_HOST)/bin/bcm4908kernel -i $@ -o $@.new
46 mv $@.new $@
47 endef
48
49 define Build/bcm4908lzma
50 $(STAGING_DIR_HOST)/bin/lzma e -lc1 -lp2 -pb2 -d22 $@ $@.new
51 mv $@.new $@
52 endef
53
54 define Build/pkgtb
55 mv $@ $@.rootfs
56 cp $(PKGTB_ITS) $@.its
57 sed -i "s=\$${bootfs}=$(KDIR)/bootfs-generic.itb=" $@.its
58 sed -i "s=\$${rootfs}=$@.rootfs=" $@.its
59 PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@
60 endef
61
62 define Device/Default
63 KERNEL := kernel-bin | bcm4908lzma | bcm4908kernel
64 KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
65 KERNEL_INITRAMFS_SUFFIX := .bin
66 KERNEL_INITRAMFS := kernel-bin | bcm4908lzma | bcm4908kernel
67 FILESYSTEMS := squashfs
68 KERNEL_NAME := Image
69 DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(1).$$(2)
70 BLOCKSIZE := 128k
71 PAGESIZE := 2048
72 IMAGE/bin := append-ubi | bcm4908img
73 endef
74
75 define Device/asus_gt-ac5300
76 DEVICE_VENDOR := Asus
77 DEVICE_MODEL := GT-AC5300
78 DEVICE_DTS := broadcom/bcm4908/bcm4908-asus-gt-ac5300
79 IMAGES := bin
80 IMAGE/bin := append-ubi | bcm4908img | bcm4908asus
81 ASUS_PRODUCTID := GT-AC5300
82 ASUS_BUILD_NO := 384
83 ASUS_FW_REV := 3.0.0.4
84 ASUS_EXT_NO := 21140
85 endef
86 TARGET_DEVICES += asus_gt-ac5300
87
88 define Device/netgear_r8000p
89 DEVICE_VENDOR := Netgear
90 DEVICE_MODEL := R8000P
91 DEVICE_DTS := broadcom/bcm4908/bcm4906-netgear-r8000p
92 IMAGES := bin
93 IMAGE/chk := append-ubi | bcm4908img | netgear-chk
94 NETGEAR_BOARD_ID := U12H359T00_NETGEAR
95 NETGEAR_REGION := 1
96 endef
97 TARGET_DEVICES += netgear_r8000p
98
99 define Device/tplink_archer-c2300-v1
100 DEVICE_VENDOR := TP-Link
101 DEVICE_MODEL := Archer C2300
102 DEVICE_VARIANT := v1
103 DEVICE_DTS := broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1
104 IMAGES := bin
105 IMAGE/bin := append-ubi | bcm4908img
106 BROKEN := y
107 endef
108 TARGET_DEVICES += tplink_archer-c2300-v1
109
110 define Device/netgear
111 DEVICE_VENDOR := NETGEAR
112 KERNEL := kernel-bin | bootfs
113 IMAGES := chk
114 IMAGE/chk := append-rootfs | pkgtb | netgear-chk
115 NETGEAR_REGION := 1
116 endef
117
118 define Device/netgear_raxe500
119 DEVICE_MODEL := RAXE500
120 $(Device/netgear)
121 PKGTB_ITS := pkgtb-bcm4908.its
122 NETGEAR_BOARD_ID := U12H449T00_NETGEAR
123 endef
124 # TARGET_DEVICES += netgear_raxe500
125
126 $(eval $(call BuildImage))