bcm4908: pad firmware image bootfs JFFS2 partition to 8 MiB
[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
8 define Build/bcm4908asus
9 $(STAGING_DIR_HOST)/bin/bcm4908asus create -i $@ \
10 -p $(ASUS_PRODUCTID) -b $(ASUS_BUILD_NO) -f $(ASUS_FW_REV) \
11 -e $(ASUS_EXT_NO)
12 endef
13
14 define Build/bcm4908img
15 rm -fr $@-bootfs
16 mkdir -p $@-bootfs
17 cp -r $(DEVICE_NAME)/* $@-bootfs/
18 touch $@-bootfs/1-openwrt
19 cp $(DTS_DIR)/$(firstword $(DEVICE_DTS)).dtb $@-bootfs/94908.dtb
20 cp $(KDIR)/bcm63xx-cfe/$(subst _,$(comma),$(DEVICE_NAME))/cferam.000 $@-bootfs/
21 cp $(IMAGE_KERNEL) $@-bootfs/vmlinux.lz
22
23 $(STAGING_DIR_HOST)/bin/mkfs.jffs2 --pad=0x800000 --little-endian --squash-uids \
24 -v -e 128KiB -o $@-bootfs.jffs2 -d $@-bootfs -m none -n
25 $(STAGING_DIR_HOST)/bin/bcm4908img create $@.new -f $@-bootfs.jffs2 \
26 -a 0x20000 -f $@
27 mv $@.new $@
28 endef
29
30 define Build/bcm4908kernel
31 $(STAGING_DIR_HOST)/bin/bcm4908kernel -i $@ -o $@.new
32 mv $@.new $@
33 endef
34
35 define Build/bcm4908lzma
36 $(STAGING_DIR_HOST)/bin/lzma e -lc1 -lp2 -pb2 -d22 $@ $@.new
37 mv $@.new $@
38 endef
39
40 define Device/Default
41 KERNEL := kernel-bin | bcm4908lzma | bcm4908kernel
42 KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
43 KERNEL_INITRAMFS_SUFFIX := .bin
44 KERNEL_INITRAMFS := kernel-bin | bcm4908lzma | bcm4908kernel
45 FILESYSTEMS := squashfs
46 KERNEL_NAME := Image
47 DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(1).$$(2)
48 BLOCKSIZE := 128k
49 PAGESIZE := 2048
50 endef
51
52 define Device/asus_gt-ac5300
53 DEVICE_VENDOR := Asus
54 DEVICE_MODEL := GT-AC5300
55 DEVICE_DTS := broadcom/bcm4908/bcm4908-asus-gt-ac5300
56 IMAGES := bin
57 IMAGE/bin := append-ubi | bcm4908img | bcm4908asus
58 ASUS_PRODUCTID := GT-AC5300
59 ASUS_BUILD_NO := 384
60 ASUS_FW_REV := 3.0.0.4
61 ASUS_EXT_NO := 21140
62 endef
63 TARGET_DEVICES += asus_gt-ac5300
64
65 define Device/netgear_r8000p
66 DEVICE_VENDOR := Netgear
67 DEVICE_MODEL := R8000P
68 DEVICE_DTS := broadcom/bcm4908/bcm4906-netgear-r8000p
69 IMAGES := bin
70 IMAGE/bin := append-ubi | bcm4908img
71 endef
72 TARGET_DEVICES += netgear_r8000p
73
74 define Device/tplink_archer-c2300-v1
75 DEVICE_VENDOR := TP-Link
76 DEVICE_MODEL := Archer C2300
77 DEVICE_VARIANT := v1
78 DEVICE_DTS := broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1
79 IMAGES := bin
80 IMAGE/bin := append-ubi | bcm4908img
81 endef
82 TARGET_DEVICES += tplink_archer-c2300-v1
83
84 $(eval $(call BuildImage))