| 1 | # |
| 2 | # Copyright (C) 2012 OpenWrt.org |
| 3 | # |
| 4 | # This is free software, licensed under the GNU General Public License v2. |
| 5 | # See /LICENSE for more information. |
| 6 | # |
| 7 | include $(TOPDIR)/rules.mk |
| 8 | include $(INCLUDE_DIR)/image.mk |
| 9 | include $(INCLUDE_DIR)/host.mk |
| 10 | |
| 11 | define Image/Prepare |
| 12 | cp $(LINUX_DIR)/arch/arm/boot/Image $(KDIR)/Image |
| 13 | endef |
| 14 | |
| 15 | FAT32_BLOCK_SIZE=1024 |
| 16 | FAT32_BLOCKS=$(shell echo $$(($(CONFIG_BRCM2708_SD_BOOT_PARTSIZE)*1024*1024/$(FAT32_BLOCK_SIZE)))) |
| 17 | |
| 18 | define Image/Build/RaspberryPi |
| 19 | rm -f $(KDIR)/boot.img |
| 20 | |
| 21 | mkdosfs $(KDIR)/boot.img -C $(FAT32_BLOCKS) |
| 22 | # Raspberry Pi has no bootloader, instead the GPU loads and starts the kernel |
| 23 | mcopy -i $(KDIR)/boot.img $(BUILD_DIR)/brcm2708-gpu-fw-boot/arm128_start.elf :: |
| 24 | mcopy -i $(KDIR)/boot.img $(BUILD_DIR)/brcm2708-gpu-fw-boot/arm192_start.elf :: |
| 25 | mcopy -i $(KDIR)/boot.img $(BUILD_DIR)/brcm2708-gpu-fw-boot/arm224_start.elf :: |
| 26 | mcopy -i $(KDIR)/boot.img $(BUILD_DIR)/brcm2708-gpu-fw-boot/bootcode.bin :: |
| 27 | mcopy -i $(KDIR)/boot.img $(BUILD_DIR)/brcm2708-gpu-fw-boot/COPYING.linux :: |
| 28 | mcopy -i $(KDIR)/boot.img $(BUILD_DIR)/brcm2708-gpu-fw-boot/LICENCE.broadcom :: |
| 29 | mcopy -i $(KDIR)/boot.img $(BUILD_DIR)/brcm2708-gpu-fw-boot/loader.bin :: |
| 30 | mcopy -i $(KDIR)/boot.img $(BUILD_DIR)/brcm2708-gpu-fw-boot/arm$(2)_start.elf ::start.elf #Copy file for memory/gpu division |
| 31 | mcopy -i $(KDIR)/boot.img cmdline.txt :: |
| 32 | mcopy -i $(KDIR)/boot.img $(KDIR)/Image ::kernel.img # Copy OpenWrt built kernel |
| 33 | ./gen_rpi_sdcard_img.sh $(BIN_DIR)/$(IMG_PREFIX)-sdcard-vfat-$(1)_$(2).img $(KDIR)/boot.img $(KDIR)/root.$(1) \ |
| 34 | $(CONFIG_BRCM2708_SD_BOOT_PARTSIZE) $(CONFIG_TARGET_ROOTFS_PARTSIZE) |
| 35 | endef |
| 36 | |
| 37 | define Image/Build |
| 38 | $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1).img |
| 39 | $(CP) $(KDIR)/Image $(BIN_DIR)/$(IMG_PREFIX)-Image |
| 40 | |
| 41 | $(call Image/Build/RaspberryPi,$(1),128) |
| 42 | $(call Image/Build/RaspberryPi,$(1),192) |
| 43 | $(call Image/Build/RaspberryPi,$(1),224) |
| 44 | endef |
| 45 | |
| 46 | $(eval $(call BuildImage)) |
| 47 | |