ar71xx: migrate led and network setup to board detection framework
[oweals/openwrt.git] / target / linux / mxs / image / Makefile
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
8 include $(TOPDIR)/rules.mk
9 include $(INCLUDE_DIR)/image.mk
10
11 BOARDS:= \
12         imx23-olinuxino \
13         imx28-duckbill
14
15 FAT32_BLOCK_SIZE=1024
16 FAT32_BLOCKS=$(shell echo $$(($(CONFIG_TARGET_BOOTFS_PARTSIZE)*1024*1024/$(FAT32_BLOCK_SIZE))))
17
18 define 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
24 endef
25
26 define 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
45 endef
46
47 define 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)
61 endef
62
63 define 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)
69 endef
70
71 define Image/Build/Profile/olinuxino-maxi
72         $(call Image/Build/SDCard-vfat-ext4,$(1),$(2),imx23-olinuxino,mx23_olinuxino)
73 endef
74
75 define Image/Build/Profile/olinuxino-micro
76         $(call Image/Build/SDCard-vfat-ext4,$(1),$(2),imx23-olinuxino,mx23_olinuxino)
77 endef
78
79 define Image/Build/Profile/duckbill
80         $(call Image/Build/SDCard-ext4-ext4,$(1),$(2),imx28-duckbill,duckbill)
81 endef
82
83 define 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
87 endef
88
89 $(eval $(call BuildImage))