+define Build/boot-scr
+ rm -f $@.bootscript
+ mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.script $@.bootscript
+endef
+
+define Build/boot-img
+ rm -f $@.boot
+ mkfs.fat -C $@.boot 16384
+ $(foreach dts,$(DEVICE_DTS), mcopy -i $@.boot $(DTS_DIR)/$(dts).dtb ::$(dts).dtb)
+ mcopy -i $@.boot $(IMAGE_KERNEL) ::zImage
+ mcopy -i $@.boot $@.bootscript ::boot.scr
+endef
+
+define Build/sdcard-img
+ ROOTFS_SIZE=$$(( $(CONFIG_TARGET_ROOTFS_PARTSIZE) * 1024 * 2 )); \
+ ./gen_mvebu_sdcard_img.sh $@ \
+ "$(KDIR)/openwrt-mvebu-clearfog-u-boot-spl.kwb" \
+ c 32768 $@.boot \
+ 83 $$ROOTFS_SIZE $(IMAGE_ROOTFS)
+endef
+
+define Device/Default
+ PROFILES := Default
+ DEVICE_DTS := $(1)
+ BOARD_NAME = $$(DEVICE_DTS)
+ KERNEL_NAME := zImage
+ KERNEL := kernel-bin | append-dtb | uImage none
+ SUPPORTED_DEVICES = $$(DEVICE_DTS)
+endef
+
+define Device/UBI
+ IMAGES := sysupgrade.bin
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
+endef
+
+define Device/UBI-factory
+ $(Device/UBI)
+ UBINIZE_OPTS := -E 5
+ IMAGES += factory.img
+ IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | pad-to $$$$(PAGESIZE)
+endef
+
+define Device/NAND-128K
+ $(Device/UBI)
+ BLOCKSIZE := 128k
+ PAGESIZE := 2048
+ SUBPAGESIZE := 512
+ VID_HDR_OFFSET := 2048
+endef
+
+define Device/NAND-256K
+ $(Device/UBI)
+ BLOCKSIZE := 256k
+ PAGESIZE := 4096
+endef
+
+define Device/NAND-512K
+ $(Device/UBI)
+ BLOCKSIZE := 512k
+ PAGESIZE := 4096
+endef
+
+define Device/linksys
+ DEVICE_TITLE := Linksys $(1)
+ DEVICE_PACKAGES := kmod-mwlwifi wpad-mini swconfig
+endef
+
+define Device/armada-385-linksys
+ $(Device/NAND-128K)
+ $(Device/UBI-factory)
+ KERNEL_SIZE := 6144k
+endef