oxnas: reorganize image build code and nuke profiles

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This commit is contained in:
Daniel Golle 2016-05-15 04:31:25 +02:00
parent 449aba4fe8
commit 70eb03469f
7 changed files with 36 additions and 119 deletions

View file

@ -21,8 +21,9 @@ include $(INCLUDE_DIR)/target.mk
DEFAULT_PACKAGES += \
kmod-ata-core kmod-ata-oxnas-sata kmod-button-hotplug \
kmod-input-gpio-keys-polled kmod-leds-gpio kmod-usb2-oxnas \
uboot-envtools uboot-oxnas-ox820
kmod-input-gpio-keys-polled kmod-ledtrig-usbdev kmod-leds-gpio \
kmod-usb2-oxnas kmod-usb-storage uboot-envtools \
uboot-oxnas-ox820
KERNELNAME:=zImage dtbs

View file

@ -14,23 +14,28 @@ KD20_UBIFS_OPTS = -m 2048 -e 126KiB -c 4096
POGOPLUG_PRO_UBIFS_OPTS = -m 2048 -e 126KiB -c 4096
POGOPLUG_V3_UBIFS_OPTS = -m 2048 -e 126KiB -c 4096
DEVICE_VARS += DEVICE_DTS KERNEL_SIZE PAGESIZE BLOCKSIZE SUBPAGESIZE
DEVICE_VARS += DTS KERNEL_SIZE PAGESIZE BLOCKSIZE SUBPAGESIZE
DEVICE_VARS += KERNEL_IN_UBI UBOOTENV_IN_UBI UBIFS_OPTS
KERNEL_LOADADDR := 0x60008000
TARGET_DEVICES = akitio kd20 pogoplug-pro pogoplug-v3 stg212
define Build/ubootable
(dd if="$(KDIR)/u-boot.bin" bs=128k conv=sync; \
dd if="$@" bs=128k conv=sync ) >> $@.new
@mv "$@.new" "$@"
endef
define Device/Default
KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb
KERNEL_DEPENDS = $$(wildcard $$(DTS_DIR)/ox820-$$(DTS).dts)
KERNEL = kernel-bin | lzma | fit lzma $$(DTS_DIR)/ox820-$$(DTS).dtb
KERNEL_NAME := zImage
KERNEL_INITRAMFS = kernel-bin | lzma | fit lzma $$(DTS_DIR)/$$(DEVICE_DTS).dtb | ubootable
KERNEL_INITRAMFS = kernel-bin | lzma | fit lzma $$(DTS_DIR)/ox820-$$(DTS).dtb | ubootable
KERNEL_INITRAMFS_PREFIX = $$(IMAGE_PREFIX)-u-boot-initramfs
BLOCKSIZE := 128KiB
PAGESIZE := 2048
SUBPAGESIZE := 512
FILESYSTEMS := squashfs ubifs
PROFILES := Default
PROFILES = Default $$(DTS)
IMAGES := ubinized.bin sysupgrade.tar
IMAGE/ubinized.bin := append-ubi
IMAGE/sysupgrade.tar := sysupgrade-nand
@ -39,52 +44,39 @@ define Device/Default
endef
define Device/akitio
PROFILES := Default AKITIO
DEVICE_DTS := ox820-akitio
DTS := akitio
DEVICE_TITLE := Akitio MyCloud mini / Silverstone DC01
DEVICE_PACKAGES := kmod-i2c-gpio kmod-rtc-ds1307
endef
TARGET_DEVICES += akitio
define Device/kd20
PROFILES := Default KD20
DEVICE_DTS := ox820-kd20
DTS := kd20
DEVICE_TITLE := Shuttle KD20
DEVICE_PACKAGES := kmod-usb3 kmod-i2c-gpio kmod-rtc-pcf8563 kmod-gpio-beeper \
kmod-hwmon-core kmod-hwmon-gpiofan
endef
TARGET_DEVICES += kd20
define Device/pogoplug-pro
PROFILES := Default POGOPLUG_PRO
DEVICE_DTS := ox820-pogoplug-pro
DTS := pogoplug-pro
DEVICE_TITLE := Cloud Engines Pogoplug Pro (with mPCIe)
endef
TARGET_DEVICES += pogoplug-pro
define Device/pogoplug-v3
PROFILES := Default POGOPLUG_V3
DEVICE_DTS := ox820-pogoplug-v3
DTS := pogoplug-v3
DEVICE_TITLE := Cloud Engines Pogoplug V3 (no mPCIe)
endef
TARGET_DEVICES += pogoplug-v3
define Device/stg212
PROFILES := Default STG212
DEVICE_DTS := ox820-stg212
DTS := stg212
DEVICE_TITLE := MitraStar STG-212
endef
TARGET_DEVICES += stg212
VMLINUX:=$(BIN_DIR)/$(IMG_PREFIX)-vmlinux
UIMAGE:=$(BIN_DIR)/$(IMG_PREFIX)-uImage
define Build/ubootable
(dd if="$(KDIR)/u-boot.bin" bs=128k conv=sync; \
dd if="$@" bs=128k conv=sync ) >> $@.new
@mv "$@.new" "$@"
endef
define Image/BuildKernel
$(call Image/BuildKernel/Template/$(PROFILE))
endef
define Image/InstallKernel
$(call Image/InstallKernel/Template/$(PROFILE))
endef
define Image/Build
$(if $(Image/Build/$(1)), \
$(call Image/Build/$(1),$(1)), \
$(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(PROFILE_SANITIZED)-$(1).img \
)
endef
$(eval $(call BuildImage))

View file

@ -7,11 +7,11 @@
define Profile/Default
NAME:=Default Profile
PRIORITY:=1
PACKAGES:=\
kmod-usb-core kmod-usb3 kmod-ledtrig-usbdev \
kmod-usb-storage \
kmod-i2c-gpio kmod-rtc-pcf8563 kmod-rtc-ds1307 \
kmod-gpio-beeper kmod-hwmon-core kmod-hwmon-gpiofan
kmod-i2c-gpio kmod-gpio-beeper kmod-hwmon-core \
kmod-hwmon-gpiofan kmod-rtc-pcf8563 kmod-rtc-ds1307 \
kmod-usb3
endef
define Profile/Default/Description

View file

@ -1,17 +0,0 @@
# Copyright (C) 2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define Profile/AKITIO
NAME:=Akitio MyCloud mini / Silverstone DC01
PACKAGES:= \
kmod-usb-storage kmod-i2c-gpio kmod-rtc-ds1307
endef
define Profile/AKITIO/Description
Profile for the Akitio MyCloud mini aka. Silverstone DC01
endef
$(eval $(call Profile,AKITIO))

View file

@ -1,26 +0,0 @@
# Copyright (C) 2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define Profile/POGOPLUG_PRO
NAME:=Cloud Engines Pogoplug Pro
endef
define Profile/POGOPLUG_PRO/Description
Profile with built-in ox820 Pogoplug Pro device-tree
(board with miniPCIe slot)
endef
define Profile/POGOPLUG_V3
NAME:=Cloud Engines Pogoplug V3
endef
define Profile/POGOPLUG_V3/Description
Profile with built-in ox820 Pogoplug V3 device-tree
(board without miniPCIe slot)
endef
$(eval $(call Profile,POGOPLUG_PRO))
$(eval $(call Profile,POGOPLUG_V3))

View file

@ -1,15 +0,0 @@
# Copyright (C) 2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define Profile/STG212
NAME:=MitraStar STG-212
endef
define Profile/STG212/Description
Profile with built-in ox820 STG-212 device-tree
endef
$(eval $(call Profile,STG212))

View file

@ -1,18 +0,0 @@
# Copyright (C) 2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define Profile/KD20
NAME:=Shuttle KD20
PACKAGES:= \
kmod-usb3 kmod-usb-storage kmod-i2c-gpio kmod-rtc-pcf8563 \
kmod-gpio-beeper kmod-hwmon-core kmod-hwmon-gpiofan
endef
define Profile/KD20/Description
Profile with built-in ox820 KD20 device-tree
endef
$(eval $(call Profile,KD20))