oxnas: switch to new image generation template
[openwrt/openwrt.git] / target / linux / oxnas / image / Makefile
1 #
2 # Copyright (C) 2013-2016 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 STG212_UBIFS_OPTS = -m 2048 -e 126KiB -c 4096
12 KD20_UBIFS_OPTS = -m 2048 -e 126KiB -c 4096
13 POGOPLUG_PRO_UBIFS_OPTS = -m 2048 -e 126KiB -c 4096
14 POGOPLUG_V3_UBIFS_OPTS = -m 2048 -e 126KiB -c 4096
15
16 DEVICE_VARS += DEVICE_DTS KERNEL_SIZE PAGESIZE BLOCKSIZE SUBPAGESIZE
17 DEVICE_VARS += KERNEL_IN_UBI UBOOTENV_IN_UBI UBIFS_OPTS
18
19 KERNEL_LOADADDR := 0x60008000
20 TARGET_DEVICES = kd20 pogoplug-pro pogoplug-v3 stg212
21
22 define Device/Default
23 KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
24 KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb
25 KERNEL_NAME := zImage
26 KERNEL_INITRAMFS = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | ubootable
27 KERNEL_INITRAMFS_PREFIX = $$(IMAGE_PREFIX)-u-boot-initramfs
28 BLOCKSIZE := 128KiB
29 PAGESIZE := 2048
30 SUBPAGESIZE := 512
31 FILESYSTEMS := squashfs ubifs
32 PROFILES := Default
33 IMAGES := ubinized.bin sysupgrade.tar
34 IMAGE/ubinized.bin := append-ubi
35 IMAGE/sysupgrade.tar := sysupgrade-nand
36 KERNEL_IN_UBI := 1
37 UBOOTENV_IN_UBI := 1
38 endef
39
40
41 define Device/kd20
42 PROFILES := Default KD20
43 DEVICE_DTS := ox820-kd20
44 endef
45
46 define Device/pogoplug-pro
47 PROFILES := Default POGOPLUG_PRO
48 DEVICE_DTS := ox820-pogoplug-pro
49 endef
50
51 define Device/pogoplug-v3
52 PROFILES := Default POGOPLUG_V3
53 DEVICE_DTS := ox820-pogoplug-v3
54 endef
55
56 define Device/stg212
57 PROFILES := Default STG212
58 DEVICE_DTS := ox820-stg212
59 endef
60
61 VMLINUX:=$(BIN_DIR)/$(IMG_PREFIX)-vmlinux
62 UIMAGE:=$(BIN_DIR)/$(IMG_PREFIX)-uImage
63
64 define Build/ubootable
65 (dd if="$(KDIR)/u-boot.bin" bs=128k conv=sync; \
66 dd if="$@" bs=128k conv=sync ) >> $@.new
67 @mv "$@.new" "$@"
68 endef
69
70 define Image/BuildKernel
71 $(call Image/BuildKernel/Template/$(PROFILE))
72 endef
73
74 define Image/InstallKernel
75 $(call Image/InstallKernel/Template/$(PROFILE))
76 endef
77
78 define Image/Build
79 $(if $(Image/Build/$(1)), \
80 $(call Image/Build/$(1),$(1)), \
81 $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(PROFILE_SANITIZED)-$(1).img \
82 )
83 endef
84
85 $(eval $(call BuildImage))