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
18 echo
$(IMG_PART_SIGNATURE
) > $@
-partuuid.txt
20 -e
's#@ROOT@#PARTUUID=$(IMG_PART_SIGNATURE)-02#g' \
21 cmdline.txt
> $@
-cmdline.txt
24 mkfs.fat
-n boot
-C
$@.boot
$(FAT32_BLOCKS
)
25 mcopy
-i
$@.boot
$(KDIR
)/COPYING.linux
::
26 mcopy
-i
$@.boot
$(KDIR
)/LICENCE.broadcom
::
27 mcopy
-i
$@.boot
$@
-cmdline.txt
::cmdline.txt
28 mcopy
-i
$@.boot config.txt
::
29 mcopy
-i
$@.boot distroconfig.txt
::
30 mcopy
-i
$@.boot
$@
-partuuid.txt
::partuuid.txt
31 mcopy
-i
$@.boot
$(IMAGE_KERNEL
) ::$(KERNEL_IMG
)
32 $(foreach dts
,$(shell echo
$(DEVICE_DTS
)),mcopy
-i
$@.boot
$(DTS_DIR
)/$(dts
).dtb
::;)
33 mmd
-i
$@.boot
::/overlays
34 mcopy
-i
$@.boot
$(DTS_DIR
)/overlays
/*.dtbo
::/overlays
/
35 mcopy
-i
$@.boot
$(DTS_DIR
)/overlays
/README
::/overlays
/
38 define Build
/boot-2708
39 mcopy
-i
$@.boot
$(KDIR
)/bootcode.bin
::
40 mcopy
-i
$@.boot
$(KDIR
)/start.elf
::
41 mcopy
-i
$@.boot
$(KDIR
)/start_cd.elf
::
42 mcopy
-i
$@.boot
$(KDIR
)/start_x.elf
::
43 mcopy
-i
$@.boot
$(KDIR
)/fixup.dat
::
44 mcopy
-i
$@.boot
$(KDIR
)/fixup_cd.dat
::
45 mcopy
-i
$@.boot
$(KDIR
)/fixup_x.dat
::
48 define Build
/boot-2711
49 mcopy
-i
$@.boot
$(KDIR
)/start4.elf
::
50 mcopy
-i
$@.boot
$(KDIR
)/start4cd.elf
::
51 mcopy
-i
$@.boot
$(KDIR
)/start4x.elf
::
52 mcopy
-i
$@.boot
$(KDIR
)/fixup4.dat
::
53 mcopy
-i
$@.boot
$(KDIR
)/fixup4cd.dat
::
54 mcopy
-i
$@.boot
$(KDIR
)/fixup4x.dat
::
57 define Build
/sdcard-img
58 SIGNATURE
="$(IMG_PART_SIGNATURE)" \
59 .
/gen_rpi_sdcard_img.sh
$@
$@.boot
$(IMAGE_ROOTFS
) \
60 $(CONFIG_TARGET_KERNEL_PARTSIZE
) $(CONFIG_TARGET_ROOTFS_PARTSIZE
)
65 DEVICE_VENDOR
:= Raspberry Pi
67 KERNEL_IMG
:= kernel.img
68 IMAGES
:= factory.img.gz sysupgrade.img.gz
69 IMAGE
/sysupgrade.img.gz
:= boot-common | boot-2708 | sdcard-img | gzip | append-metadata
70 IMAGE
/factory.img.gz
:= boot-common | boot-2708 | sdcard-img | gzip
74 DEVICE_MODEL
:= A
/A
+/B
/B
+/CM
/Zero
/ZeroW
76 broadcom
/bcm2708-rpi-b broadcom
/bcm2708-rpi-b-rev1 broadcom
/bcm2708-rpi-b-plus \
77 broadcom
/bcm2708-rpi-cm \
78 broadcom
/bcm2708-rpi-zero broadcom
/bcm2708-rpi-zero-w
79 SUPPORTED_DEVICES
:= \
84 raspberrypi
,model-a raspberrypi
,model-a-plus \
85 raspberrypi
,model-b raspberrypi
,model-b-plus raspberrypi
,model-b-rev2 \
86 raspberrypi
,compute-module raspberrypi
,compute-module-1 \
87 raspberrypi
,model-zero raspberrypi
,model-zero-w
89 cypress-firmware-43430-sdio \
90 brcmfmac-nvram-43430-sdio \
91 kmod-brcmfmac wpad-basic-mbedtls
93 ifeq ($(SUBTARGET
),bcm2708
)
98 DEVICE_MODEL
:= 2B
/2B
1.2
99 DEVICE_VARIANT
:= (32bit
)
100 DEVICE_ALT0_VENDOR
:= Raspberry Pi
101 DEVICE_ALT0_MODEL
:= 3A
+/3B
/3B
+/CM3
/Zero2
/Zero2W
102 DEVICE_ALT0_VARIANT
:= (32bit
)
103 DEVICE_ALT1_VENDOR
:= Raspberry Pi
104 DEVICE_ALT1_MODEL
:= 4B
/400/CM4
105 DEVICE_ALT1_VARIANT
:= (32bit
)
107 broadcom
/bcm2709-rpi-2-b broadcom
/bcm2710-rpi-2-b \
108 broadcom
/bcm2710-rpi-3-b broadcom
/bcm2710-rpi-3-b-plus \
109 broadcom
/bcm2711-rpi-4-b broadcom
/bcm2711-rpi-400 \
110 broadcom
/bcm2710-rpi-cm3 broadcom
/bcm2711-rpi-cm4 \
111 broadcom
/bcm2710-rpi-zero-2 broadcom
/bcm2710-rpi-zero-2-w
112 SUPPORTED_DEVICES
:= \
115 rpi-3-b rpi-3-b-plus \
118 rpi-zero-2 rpi-zero-2-w \
119 raspberrypi
,2-model-b raspberrypi
,2-model-b-rev2 \
120 raspberrypi
,3-model-a-plus \
121 raspberrypi
,3-model-b raspberrypi
,3-model-b-plus \
122 raspberrypi
,3-compute-module raspberrypi
,compute-module-3 \
123 raspberrypi
,400 raspberrypi
,4-compute-module raspberrypi
,4-model-b \
124 raspberrypi
,model-zero-2 raspberrypi
,model-zero-2-w
126 cypress-firmware-43430-sdio \
127 brcmfmac-nvram-43430-sdio \
128 cypress-firmware-43455-sdio \
129 brcmfmac-nvram-43455-sdio \
130 kmod-brcmfmac wpad-basic-mbedtls
131 IMAGE
/sysupgrade.img.gz
:= boot-common | boot-2708 | boot-2711 | sdcard-img | gzip | append-metadata
132 IMAGE
/factory.img.gz
:= boot-common | boot-2708 | boot-2711 | sdcard-img | gzip
134 ifeq ($(SUBTARGET
),bcm2709
)
135 TARGET_DEVICES
+= rpi-2
139 DEVICE_MODEL
:= 3A
+/3B
/3B
+/CM3
/Zero2
/Zero2W
140 DEVICE_VARIANT
:= (64bit
)
141 DEVICE_ALT0_VENDOR
:= Raspberry Pi
142 DEVICE_ALT0_MODEL
:= 2B-1.2
143 DEVICE_ALT0_VARIANT
:= (64bit
)
144 KERNEL_IMG
:= kernel8.img
146 broadcom
/bcm2710-rpi-2-b \
147 broadcom
/bcm2710-rpi-3-b broadcom
/bcm2710-rpi-3-b-plus \
148 broadcom
/bcm2710-rpi-cm3 \
149 broadcom
/bcm2710-rpi-zero-2 broadcom
/bcm2710-rpi-zero-2-w
150 SUPPORTED_DEVICES
:= \
152 rpi-3-b rpi-3-b-plus \
153 rpi-zero-2 rpi-zero-2-w \
154 raspberrypi
,2-model-b-rev2 \
155 raspberrypi
,3-model-a-plus \
156 raspberrypi
,3-model-b raspberrypi
,3-model-b-plus \
157 raspberrypi
,3-compute-module raspberrypi
,compute-module-3 \
158 raspberrypi
,model-zero-2 raspberrypi
,model-zero-2-w
160 cypress-firmware-43430-sdio \
161 brcmfmac-nvram-43430-sdio \
162 cypress-firmware-43455-sdio \
163 brcmfmac-nvram-43455-sdio \
164 kmod-brcmfmac wpad-basic-mbedtls
166 ifeq ($(SUBTARGET
),bcm2710
)
167 TARGET_DEVICES
+= rpi-3
171 DEVICE_MODEL
:= 4B
/400/CM4
172 DEVICE_VARIANT
:= (64bit
)
173 KERNEL_IMG
:= kernel8.img
175 broadcom
/bcm2711-rpi-400 \
176 broadcom
/bcm2711-rpi-4-b \
177 broadcom
/bcm2711-rpi-cm4
178 SUPPORTED_DEVICES
:= \
180 raspberrypi
,4-compute-module \
181 raspberrypi
,4-model-b
183 cypress-firmware-43455-sdio \
184 brcmfmac-nvram-43455-sdio \
185 kmod-brcmfmac wpad-basic-mbedtls \
186 kmod-usb-net-lan78xx \
188 IMAGE
/sysupgrade.img.gz
:= boot-common | boot-2711 | sdcard-img | gzip | append-metadata
189 IMAGE
/factory.img.gz
:= boot-common | boot-2711 | sdcard-img | gzip
191 ifeq ($(SUBTARGET
),bcm2711
)
192 TARGET_DEVICES
+= rpi-4
197 KERNEL_IMG
:= kernel_2712.img
198 DEVICE_DTS
:= broadcom
/bcm2712-rpi-5-b
199 SUPPORTED_DEVICES
:= raspberrypi
,5-model-b
201 cypress-firmware-43455-sdio \
202 brcmfmac-nvram-43455-sdio \
203 kmod-brcmfmac wpad-basic-mbedtls \
204 kmod-hwmon-pwmfan kmod-thermal
205 IMAGE
/sysupgrade.img.gz
:= boot-common | sdcard-img | gzip | append-metadata
206 IMAGE
/factory.img.gz
:= boot-common | sdcard-img | gzip
208 ifeq ($(SUBTARGET
),bcm2712
)
209 TARGET_DEVICES
+= rpi-5
212 $(eval
$(call BuildImage
))