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