1# 2# Copyright (C) 2013-2015 OpenWrt.org 3# 4# This is free software, licensed under the GNU General Public License v2. 5# See /LICENSE for more information. 6# 7 8include $(TOPDIR)/rules.mk 9include $(INCLUDE_DIR)/image.mk 10 11BOARDS:= \ 12 imx23-olinuxino \ 13 imx28-duckbill 14 15FAT32_BLOCK_SIZE=1024 16FAT32_BLOCKS=$(shell echo $$(($(CONFIG_TARGET_BOOTFS_PARTSIZE)*1024*1024/$(FAT32_BLOCK_SIZE)))) 17 18define Image/BuildKernel 19 mkimage -A arm -O linux -T kernel -C none \ 20 -a 0x40008000 -e 0x40008000 \ 21 -n 'ARM OpenWrt Linux-$(LINUX_VERSION)' \ 22 -d $(KDIR)/zImage $(KDIR)/uImage 23 cp $(KDIR)/uImage $(BIN_DIR)/$(IMG_PREFIX)-uImage 24endef 25 26define Image/InstallKernel 27 28 ifneq ($(CONFIG_TARGET_ROOTFS_INCLUDE_ZIMAGE),) 29 mkdir -p $(TARGET_DIR)/boot 30 cp $(KDIR)/zImage $(TARGET_DIR)/boot/ 31 endif 32 33 ifneq ($(CONFIG_TARGET_ROOTFS_INCLUDE_UIMAGE),) 34 mkdir -p $(TARGET_DIR)/boot 35 cp $(KDIR)/uImage $(TARGET_DIR)/boot/ 36 endif 37 38 ifneq ($(CONFIG_TARGET_ROOTFS_INCLUDE_DTB),) 39 mkdir -p $(TARGET_DIR)/boot 40 $(foreach board,$(BOARDS), 41 $(CP) $(DTS_DIR)/$(board).dtb $(TARGET_DIR)/boot/ 42 ) 43 endif 44 45endef 46 47define Image/Build/SDCard-vfat-ext4 48 rm -f $(KDIR)/boot.img 49 mkdosfs $(KDIR)/boot.img -C $(FAT32_BLOCKS) 50 51 mcopy -i $(KDIR)/boot.img $(DTS_DIR)/$(3).dtb ::$(3).dtb 52 mcopy -i $(KDIR)/boot.img $(BIN_DIR)/$(IMG_PREFIX)-uImage ::uImage 53 54 ./gen_sdcard_vfat_ext4.sh \ 55 $(BIN_DIR)/$(2) \ 56 $(BIN_DIR)/uboot-mxs-$(4)/uboot-mxs-$(4).sb \ 57 $(KDIR)/boot.img \ 58 $(KDIR)/root.$(1) \ 59 $(CONFIG_TARGET_BOOTFS_PARTSIZE) \ 60 $(CONFIG_TARGET_ROOTFS_PARTSIZE) 61endef 62 63define Image/Build/SDCard-ext4-ext4 64 ./gen_sdcard_ext4_ext4.sh \ 65 $(BIN_DIR)/$(2) \ 66 $(BIN_DIR)/uboot-mxs-$(4)/uboot-mxs-$(4).sb \ 67 $(KDIR)/root.$(1) \ 68 $(CONFIG_TARGET_ROOTFS_PARTSIZE) 69endef 70 71define Image/Build/Profile/olinuxino-maxi 72 $(call Image/Build/SDCard-vfat-ext4,$(1),$(2),imx23-olinuxino,mx23_olinuxino) 73endef 74 75define Image/Build/Profile/olinuxino-micro 76 $(call Image/Build/SDCard-vfat-ext4,$(1),$(2),imx23-olinuxino,mx23_olinuxino) 77endef 78 79define Image/Build/Profile/duckbill 80 $(call Image/Build/SDCard-ext4-ext4,$(1),$(2),imx28-duckbill,duckbill) 81endef 82 83define Image/Build 84 $(call Image/Build/$(1),$(1)) 85 $(call Image/Build/Profile/$(PROFILE),$(1),$(IMG_PREFIX)-$(PROFILE)-sdcard.img) 86 dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1) bs=128k conv=sync 87endef 88 89$(eval $(call BuildImage)) 90