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
/build-dtb
16 $(LINUX_DIR
)/scripts
/dtc
/dtc
-O dtb
-o
$@.dtb
$(DTS_DIR
)/$(DEVICE_DTS
).dts
20 cat config.txt
> $@.config
21 echo
-e
"\ndevice_tree=$(DEVICE_DTS).dtb" >> $@.config
26 mkfs.fat
-C
$@.boot
$(FAT32_BLOCKS
)
27 mcopy
-i
$@.boot
$(KDIR
)/bootcode.bin
::
28 mcopy
-i
$@.boot
$(KDIR
)/COPYING.linux
::
29 mcopy
-i
$@.boot
$(KDIR
)/LICENCE.broadcom
::
30 mcopy
-i
$@.boot
$(KDIR
)/start.elf
::
31 mcopy
-i
$@.boot
$(KDIR
)/start_cd.elf
::
32 mcopy
-i
$@.boot
$(KDIR
)/fixup.dat
::
33 mcopy
-i
$@.boot
$(KDIR
)/fixup_cd.dat
::
34 mcopy
-i
$@.boot cmdline.txt
::
35 mcopy
-i
$@.boot
$@.config
::config.txt
36 mcopy
-i
$@.boot
$(word 1,$^
) ::kernel.img
37 mcopy
-i
$@.boot
$@.dtb
::$(DEVICE_DTS
).dtb
40 define Build
/sdcard-img
41 .
/gen_rpi_sdcard_img.sh
$@
$@.boot
$(word 2,$^
) \
42 $(CONFIG_BRCM2708_SD_BOOT_PARTSIZE
) $(CONFIG_TARGET_ROOTFS_PARTSIZE
)
48 PROFILES
= Default
$$(DEVICE_PROFILE
)
51 IMAGE
/sdcard.bin
:= build-dtb | gen-cfg | boot-img | sdcard-img
56 DEVICE_VARS
+= DEVICE_PROFILE DEVICE_NAME DEVICE_DTS
63 DEVICE_PROFILE
:= $(1)
67 TARGET_DEVICES
+= $(2)
70 # Raspberry Pi Model B
71 $(eval
$(call add_bcm2708
,RaspberryPi
,rpi-b
,bcm2708-rpi-b
))
72 # Raspberry Pi Model B+
73 $(eval
$(call add_bcm2708
,RaspberryPi
,rpi-b-plus
,bcm2708-rpi-b-plus
))
74 # Raspberry Pi 2 Model B
75 $(eval
$(call add_bcm2708
,RaspberryPi2
,rpi-2-b
,bcm2709-rpi-2-b
))
77 $(eval
$(call BuildImage
))