1 # SPDX-License-Identifier: GPL-2.0-only
3 # Copyright (C) 2012-2019 OpenWrt.org
4 # Copyright (C) 2016-2017 LEDE project
6 include $(TOPDIR
)/rules.mk
7 include $(INCLUDE_DIR
)/image.mk
10 FAT32_BLOCKS
=$(shell echo
$$(($(CONFIG_TARGET_KERNEL_PARTSIZE
)*1024*1024/$(FAT32_BLOCK_SIZE
))))
13 $(CP
) $(LINUX_DIR
)/COPYING
$(KDIR
)/COPYING.linux
17 define Build
/boot-common
19 mkfs.fat
-n boot
-C
$@.boot
$(FAT32_BLOCKS
)
20 mcopy
-i
$@.boot
$(KDIR
)/COPYING.linux
::
21 mcopy
-i
$@.boot
$(KDIR
)/LICENCE.broadcom
::
22 mcopy
-i
$@.boot cmdline.txt
::
23 mcopy
-i
$@.boot config.txt
::
24 mcopy
-i
$@.boot distroconfig.txt
::
25 mcopy
-i
$@.boot
$(IMAGE_KERNEL
) ::$(KERNEL_IMG
)
26 $(foreach dts
,$(shell echo
$(DEVICE_DTS
)),mcopy
-i
$@.boot
$(DTS_DIR
)/$(dts
).dtb
::;)
27 mmd
-i
$@.boot
::/overlays
28 mcopy
-i
$@.boot
$(DTS_DIR
)/overlays
/*.dtbo
::/overlays
/
29 mcopy
-i
$@.boot
$(DTS_DIR
)/overlays
/README
::/overlays
/
32 define Build
/boot-2708
33 mcopy
-i
$@.boot
$(KDIR
)/bootcode.bin
::
34 mcopy
-i
$@.boot
$(KDIR
)/start.elf
::
35 mcopy
-i
$@.boot
$(KDIR
)/start_cd.elf
::
36 mcopy
-i
$@.boot
$(KDIR
)/start_x.elf
::
37 mcopy
-i
$@.boot
$(KDIR
)/fixup.dat
::
38 mcopy
-i
$@.boot
$(KDIR
)/fixup_cd.dat
::
39 mcopy
-i
$@.boot
$(KDIR
)/fixup_x.dat
::
42 define Build
/boot-2711
43 mcopy
-i
$@.boot
$(KDIR
)/start4.elf
::
44 mcopy
-i
$@.boot
$(KDIR
)/start4cd.elf
::
45 mcopy
-i
$@.boot
$(KDIR
)/start4x.elf
::
46 mcopy
-i
$@.boot
$(KDIR
)/fixup4.dat
::
47 mcopy
-i
$@.boot
$(KDIR
)/fixup4cd.dat
::
48 mcopy
-i
$@.boot
$(KDIR
)/fixup4x.dat
::
51 define Build
/sdcard-img
52 .
/gen_rpi_sdcard_img.sh
$@
$@.boot
$(IMAGE_ROOTFS
) \
53 $(CONFIG_TARGET_KERNEL_PARTSIZE
) $(CONFIG_TARGET_ROOTFS_PARTSIZE
)
58 DEVICE_VENDOR
:= Raspberry Pi
60 KERNEL_IMG
:= kernel.img
61 IMAGES
:= factory.img.gz sysupgrade.img.gz
62 IMAGE
/sysupgrade.img.gz
:= boot-common | boot-2708 | sdcard-img | gzip | append-metadata
63 IMAGE
/factory.img.gz
:= boot-common | boot-2708 | sdcard-img | gzip
67 DEVICE_MODEL
:= B
/B
+/CM
/Zero
/ZeroW
69 bcm2708-rpi-b bcm2708-rpi-b-rev1 bcm2708-rpi-b-plus \
71 bcm2708-rpi-zero bcm2708-rpi-zero-w
72 SUPPORTED_DEVICES
:= \
73 rpi-b rpi-b-plus rpi-cm rpi-zero rpi-zero-w \
74 raspberrypi
,model-b raspberrypi
,model-b-plus raspberrypi
,model-b-rev2 \
75 raspberrypi
,compute-module raspberrypi
,compute-module-1 \
76 raspberrypi
,model-zero raspberrypi
,model-zero-w
78 cypress-firmware-43430-sdio \
79 brcmfmac-nvram-43430-sdio \
80 kmod-brcmfmac wpad-basic-mbedtls
82 ifeq ($(SUBTARGET
),bcm2708
)
87 DEVICE_MODEL
:= 2B
/2B
1.2
88 DEVICE_VARIANT
:= (32bit
)
89 DEVICE_ALT0_VENDOR
:= Raspberry Pi
90 DEVICE_ALT0_MODEL
:= 3B
/3B
+/CM3
91 DEVICE_ALT0_VARIANT
:= (32bit
)
92 DEVICE_ALT1_VENDOR
:= Raspberry Pi
93 DEVICE_ALT1_MODEL
:= 4B
/400/CM4
94 DEVICE_ALT1_VARIANT
:= (32bit
)
96 bcm2709-rpi-2-b bcm2710-rpi-2-b \
97 bcm2710-rpi-3-b bcm2710-rpi-3-b-plus \
98 bcm2711-rpi-4-b bcm2711-rpi-400 \
99 bcm2710-rpi-cm3 bcm2711-rpi-cm4 \
101 SUPPORTED_DEVICES
:= \
102 rpi-2-b rpi-3-b rpi-3-b-plus rpi-cm rpi-zero-2 \
103 raspberrypi
,2-model-b raspberrypi
,2-model-b-rev2 \
104 raspberrypi
,3-model-b raspberrypi
,3-model-b-plus \
105 raspberrypi
,3-compute-module raspberrypi
,compute-module-3 \
106 raspberrypi
,400 raspberrypi
,4-compute-module raspberrypi
,4-model-b \
107 raspberrypi
,model-zero-2
109 cypress-firmware-43430-sdio \
110 brcmfmac-nvram-43430-sdio \
111 cypress-firmware-43455-sdio \
112 brcmfmac-nvram-43455-sdio \
113 kmod-brcmfmac wpad-basic-mbedtls
114 IMAGE
/sysupgrade.img.gz
:= boot-common | boot-2708 | boot-2711 | sdcard-img | gzip | append-metadata
115 IMAGE
/factory.img.gz
:= boot-common | boot-2708 | boot-2711 | sdcard-img | gzip
117 ifeq ($(SUBTARGET
),bcm2709
)
118 TARGET_DEVICES
+= rpi-2
122 DEVICE_MODEL
:= 3B
/3B
+/CM3
123 DEVICE_VARIANT
:= (64bit
)
124 DEVICE_ALT0_VENDOR
:= Raspberry Pi
125 DEVICE_ALT0_MODEL
:= 2B-1.2
126 DEVICE_ALT0_VARIANT
:= (64bit
)
127 KERNEL_IMG
:= kernel8.img
129 broadcom
/bcm2710-rpi-2-b \
130 broadcom
/bcm2710-rpi-3-b broadcom
/bcm2710-rpi-3-b-plus \
131 broadcom
/bcm2710-rpi-cm3 \
132 broadcom
/bcm2710-rpi-zero-2
133 SUPPORTED_DEVICES
:= \
134 rpi-3-b rpi-3-b-plus rpi-zero-2 \
135 raspberrypi
,2-model-b-rev2 \
136 raspberrypi
,3-model-b raspberrypi
,3-model-b-plus \
137 raspberrypi
,3-compute-module raspberrypi
,compute-module-3 \
138 raspberrypi
,model-zero-2
140 cypress-firmware-43430-sdio \
141 brcmfmac-nvram-43430-sdio \
142 cypress-firmware-43455-sdio \
143 brcmfmac-nvram-43455-sdio \
144 kmod-brcmfmac wpad-basic-mbedtls
146 ifeq ($(SUBTARGET
),bcm2710
)
147 TARGET_DEVICES
+= rpi-3
151 DEVICE_MODEL
:= 4B
/400/CM4
152 DEVICE_VARIANT
:= (64bit
)
153 KERNEL_IMG
:= kernel8.img
155 broadcom
/bcm2711-rpi-400 \
156 broadcom
/bcm2711-rpi-4-b \
157 broadcom
/bcm2711-rpi-cm4
158 SUPPORTED_DEVICES
:= \
160 raspberrypi
,4-compute-module \
161 raspberrypi
,4-model-b
163 cypress-firmware-43455-sdio \
164 brcmfmac-nvram-43455-sdio \
165 kmod-brcmfmac wpad-basic-mbedtls \
166 kmod-usb-net-lan78xx \
168 IMAGE
/sysupgrade.img.gz
:= boot-common | boot-2711 | sdcard-img | gzip | append-metadata
169 IMAGE
/factory.img.gz
:= boot-common | boot-2711 | sdcard-img | gzip
171 ifeq ($(SUBTARGET
),bcm2711
)
172 TARGET_DEVICES
+= rpi-4
177 KERNEL_IMG
:= kernel_2712.img
178 DEVICE_DTS
:= broadcom
/bcm2712-rpi-5-b
179 SUPPORTED_DEVICES
:= raspberrypi
,5-model-b
181 cypress-firmware-43455-sdio \
182 brcmfmac-nvram-43455-sdio \
183 kmod-brcmfmac wpad-basic-mbedtls \
184 kmod-hwmon-pwmfan kmod-thermal \
185 kmod-usb-dwc3 kmod-usb3
186 IMAGE
/sysupgrade.img.gz
:= boot-common | boot-2711 | sdcard-img | gzip | append-metadata
187 IMAGE
/factory.img.gz
:= boot-common | boot-2711 | sdcard-img | gzip
189 ifeq ($(SUBTARGET
),bcm2712
)
190 TARGET_DEVICES
+= rpi-5
193 $(eval
$(call BuildImage
))