2 # Copyright (C) 2012-2015 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
7 include $(TOPDIR
)/rules.mk
8 include $(INCLUDE_DIR
)/image.mk
9 include $(INCLUDE_DIR
)/host.mk
12 FAT32_BLOCKS
=$(shell echo
$$(($(CONFIG_BRCM2708_SD_BOOT_PARTSIZE
)*1024*1024/$(FAT32_BLOCK_SIZE
))))
15 define Build
/kernel-img
16 perl
$(LINUX_DIR
)/scripts
/mkknlimg
$@
$@.tmp
22 mkfs.fat
-C
$@.boot
$(FAT32_BLOCKS
)
23 mcopy
-i
$@.boot
$(KDIR
)/bootcode.bin
::
24 mcopy
-i
$@.boot
$(KDIR
)/COPYING.linux
::
25 mcopy
-i
$@.boot
$(KDIR
)/LICENCE.broadcom
::
26 mcopy
-i
$@.boot
$(KDIR
)/start.elf
::
27 mcopy
-i
$@.boot
$(KDIR
)/start_cd.elf
::
28 mcopy
-i
$@.boot
$(KDIR
)/fixup.dat
::
29 mcopy
-i
$@.boot
$(KDIR
)/fixup_cd.dat
::
30 mcopy
-i
$@.boot cmdline.txt
::
31 mcopy
-i
$@.boot config.txt
::
32 mcopy
-i
$@.boot
$(word 1,$^
) ::kernel.img
33 $(foreach dts
,$(shell echo
$(DEVICE_DTS
)),mcopy
-i
$@.boot
$(DTS_DIR
)/$(dts
).dtb
::;)
34 mmd
-i
$@.boot
::/overlays
35 mcopy
-i
$@.boot
$(DTS_DIR
)/overlays
/*.dtb
::/overlays
/
36 mcopy
-i
$@.boot
$(DTS_DIR
)/overlays
/README
::/overlays
/
39 define Build
/sdcard-img
40 .
/gen_rpi_sdcard_img.sh
$@
$@.boot
$(word 2,$^
) \
41 $(CONFIG_BRCM2708_SD_BOOT_PARTSIZE
) $(CONFIG_TARGET_ROOTFS_PARTSIZE
)
42 $(if
$(CONFIG_TARGET_IMAGES_GZIP
),gzip
-9n
-c
$@
> $(BIN_DIR
)/$(notdir $@
).gz
)
48 PROFILES
= Default
$$(DEVICE_PROFILE
)
49 KERNEL
:= kernel-bin | kernel-img
51 IMAGE
/sdcard.img
:= boot-img | sdcard-img
55 DEVICE_VARS
+= DEVICE_PROFILE DEVICE_DTS
62 DEVICE_PROFILE
:= $(1)
65 TARGET_DEVICES
+= $(2)
68 ### BCM2708/BCM2835 ###
69 ifeq ($(SUBTARGET
),bcm2708
)
70 # Raspberry Pi Models B/B+/CM
71 $(eval
$(call bcm27xx
,RaspberryPi
,rpi
,bcm2708-rpi-b bcm2708-rpi-b-plus bcm2708-rpi-cm
))
74 ### BCM2709/BCM2836 ###
75 ifeq ($(SUBTARGET
),bcm2709
)
76 # Raspberry Pi 2 Model B
77 $(eval
$(call bcm27xx
,RaspberryPi_2
,rpi-2
,bcm2709-rpi-2-b
))
80 ### BCM2710/BCM2837 ###
81 ifeq ($(SUBTARGET
),bcm2710
)
82 # Raspberry Pi 3 Model B
83 $(eval
$(call bcm27xx
,RaspberryPi_3
,rpi-3
,bcm2710-rpi-3-b
))
86 $(eval
$(call BuildImage
))