bcm4908: append UBI with rootfs to device images
[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 define Build/bcm4908lzma
7 $(STAGING_DIR_HOST)/bin/lzma e -lc1 -lp2 -pb2 -d22 $@ $@.new
8 mv $@.new $@
9 endef
10
11 define Build/bcm4908kernel
12 $(STAGING_DIR_HOST)/bin/bcm4908kernel -i $@ -o $@.new
13 mv $@.new $@
14 endef
15
16 define Build/bcm4908img
17 rm -fr $@-bootfs
18 mkdir -p $@-bootfs
19 cp -r $(DEVICE_NAME)/* $@-bootfs/
20 touch $@-bootfs/1-dummy
21 cp $(DTS_DIR)/$(firstword $(DEVICE_DTS)).dtb $@-bootfs/94908.dtb
22 cp $(KDIR)/bcm63xx-cfe/$(subst _,$(comma),$(DEVICE_NAME))/cferam.000 $@-bootfs/
23 cp $(IMAGE_KERNEL) $@-bootfs/vmlinux.lz
24
25 $(STAGING_DIR_HOST)/bin/mkfs.jffs2 --pad --little-endian --squash-uids -v -e 128KiB -o $@-bootfs.jffs2 -d $@-bootfs -m none -n
26 $(STAGING_DIR_HOST)/bin/bcm4908img create $@.new -f $@-bootfs.jffs2 -a 0x20000 -f $@
27 mv $@.new $@
28 endef
29
30 define Device/Default
31 KERNEL := kernel-bin | bcm4908lzma | bcm4908kernel
32 KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
33 KERNEL_INITRAMFS_SUFFIX := .bin
34 KERNEL_INITRAMFS := kernel-bin | bcm4908lzma | bcm4908kernel
35 FILESYSTEMS := squashfs
36 KERNEL_NAME := Image
37 IMAGE_NAME = $$(IMAGE_PREFIX)-$$(1).$$(2)
38 BLOCKSIZE := 128k
39 PAGESIZE := 2048
40 endef
41
42 define Device/asus_gt-ac5300
43 DEVICE_VENDOR := Asus
44 DEVICE_MODEL := GT-AC5300
45 DEVICE_DTS := broadcom/bcm4908/bcm4908-asus-gt-ac5300
46 IMAGES := bin
47 IMAGE/bin := append-ubi | bcm4908img
48 endef
49 TARGET_DEVICES += asus_gt-ac5300
50
51 define Device/netgear_r8000p
52 DEVICE_VENDOR := Netgear
53 DEVICE_MODEL := R8000P
54 DEVICE_DTS := broadcom/bcm4908/bcm4906-netgear-r8000p
55 IMAGES := bin
56 IMAGE/bin := append-ubi | bcm4908img
57 endef
58 TARGET_DEVICES += netgear_r8000p
59
60 $(eval $(call BuildImage))