diff --git a/Makefile b/Makefile index fb06de10..583701a6 100755 --- a/Makefile +++ b/Makefile @@ -89,6 +89,7 @@ config.local: $(eval BOXMODEL=hd51) @echo " 15) Maxytec Multibox SE 4K" @echo " 21) WWIO BRE2ZE4K" @echo " 31) Air Digital Zgemma H7" + @echo " 35) AXAS E4HD 4K Ultra" @echo " 41) VU+ Solo 4k" @echo " 42) VU+ Duo 4k" @echo " 43) VU+ Duo 4k SE" @@ -113,6 +114,7 @@ config.local: $(eval BOXMODEL=hd51) 15) boxmodel=multiboxse;; \ 21) boxmodel=bre2ze4k;; \ 31) boxmodel=h7;; \ + 35) boxmodel=e4hdultra;; \ 41) boxmodel=vusolo4k;; \ 42) boxmodel=vuduo4k;; \ 43) boxmodel=vuduo4kse;; \ diff --git a/make/environment-box.mk b/make/environment-box.mk index 3e456838..1efa8b40 100644 --- a/make/environment-box.mk +++ b/make/environment-box.mk @@ -15,13 +15,13 @@ # - Armbox -------------------------------------------------------------------- -# BOXTYPE armbox -------- + -# / \ -# BOXSERIES hd5x hd6x -# | | -# BOXFAMILY bcm7251s + hi3798mv200 + -# / | \ / | | \ -# BOXMODEL hd51 bre2ze4k h7 hd60 hd61 multibox multiboxse +# BOXTYPE + ----- armbox ----- + +# / \ +# BOXSERIES + hd5x + hd6x +# / \ | +# BOXFAMILY bcm7251s bcm7252s + hi3798mv200 + +# / | \ | / | | \ +# BOXMODEL hd51 bre2ze4k h7 e4hdultra hd60 hd61 multibox multiboxse # BOXTYPE armbox + ------ + ---- + -------- + ------- + ---- + # / | \ \ \ \ \ @@ -115,6 +115,10 @@ else ifneq ($(BOXFAMILY),) BOXTYPE = armbox BOXSERIES = hd5x BOXMODEL = hd51 + else ifeq ($(BOXFAMILY),bcm7252s) + BOXTYPE = armbox + BOXSERIES = hd5x + BOXMODEL = e4hdultra else ifeq ($(BOXFAMILY),hi3798mv200) BOXTYPE = armbox BOXSERIES = hd6x @@ -165,6 +169,10 @@ else ifneq ($(BOXMODEL),) BOXTYPE = armbox BOXSERIES = hd5x BOXFAMILY = bcm7251s + else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),e4hdultra)) + BOXTYPE = armbox + BOXSERIES = hd5x + BOXFAMILY = bcm7252s else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd60 hd61 multibox multiboxse)) BOXTYPE = armbox BOXSERIES = hd6x @@ -235,6 +243,8 @@ else ifeq ($(BOXMODEL),bre2ze4k) BOXNAME = "WWIO BRE2ZE4K" else ifeq ($(BOXMODEL),h7) BOXNAME = "Air Digital Zgemma H7" +else ifeq ($(BOXMODEL),e4hdultra) + BOXNAME = "AXAS E4HD 4K Ultra" else ifeq ($(BOXMODEL),hd60) BOXNAME = "AX/Mut@nt HD60" else ifeq ($(BOXMODEL),hd61) @@ -263,6 +273,7 @@ endif BOXMODELS = nevis apollo shiner kronos kronos_v2 BOXMODELS += hd51 bre2ze4k h7 +BOXMODELS += e4hdultra BOXMODELS += hd60 hd61 multibox multiboxse BOXMODELS += vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse BOXMODELS += vuduo diff --git a/make/environment-image.mk b/make/environment-image.mk index 07b80ffd..56a8f5b4 100644 --- a/make/environment-image.mk +++ b/make/environment-image.mk @@ -84,6 +84,8 @@ ifeq ($(BOXMODEL),$(filter $(BOXMODEL),vusolo4k vuduo4k vuduo4kse vuultimo4k vuz IMAGE_SUBDIR = $(subst vu,vuplus/,$(BOXMODEL)) else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),h7)) IMAGE_SUBDIR = zgemma/$(BOXMODEL) +else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),e4hdultra)) + IMAGE_SUBDIR = e4hd else IMAGE_SUBDIR = $(BOXMODEL) endif diff --git a/make/environment-linux.mk b/make/environment-linux.mk index 6f9b3b42..bad1fd92 100644 --- a/make/environment-linux.mk +++ b/make/environment-linux.mk @@ -27,7 +27,7 @@ else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),apollo shiner kronos kronos_v2)) KERNEL_CONFIG = $(PKG_FILES_DIR)/kernel-kronos.defconfig endif -else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7)) +else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 e4hdultra)) KERNEL_VERSION = 4.10.12 KERNEL_DIR = linux-$(KERNEL_VERSION) KERNEL_SOURCE = linux-$(KERNEL_VERSION)-arm.tar.gz @@ -35,7 +35,11 @@ else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7)) KERNEL_BRANCH = $(empty) KERNEL_DTB = $(KERNEL_OBJ_DIR)/arch/$(TARGET_ARCH)/boot/dts/bcm7445-bcm97445svmb.dtb +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),e4hdultra)) + KERNEL_CONFIG = $(PKG_FILES_DIR)/kernel-hd5x-e4hdultra.defconfig +else KERNEL_CONFIG = $(PKG_FILES_DIR)/kernel-hd5x.defconfig +endif BOOT_PARTITION = 1 @@ -239,7 +243,7 @@ endif KERNEL_MAKE_TARGETS = $(KERNEL_IMAGE) # build also the kernel-dtb for arm-hd5x and arm-hd6x -ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 hd60 hd61 multibox multiboxse)) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 e4hdultra hd60 hd61 multibox multiboxse)) KERNEL_MAKE_TARGETS += $(notdir $(KERNEL_DTB)) endif diff --git a/make/flash-images.mk b/make/flash-images.mk index 66f8c2de..9688e647 100644 --- a/make/flash-images.mk +++ b/make/flash-images.mk @@ -63,7 +63,7 @@ ifeq ($(BOXMODEL),$(filter $(BOXMODEL),apollo shiner)) make flash-image-coolstream ERASE_SIZE=0x40000 IMAGE_SUFFIX=$(BOXTYPE_SC)-apollo BOXNAME="Tank" make flash-image-coolstream ERASE_SIZE=0x20000 IMAGE_SUFFIX=$(BOXTYPE_SC)-shiner BOXNAME="Trinity" endif -ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7)) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 e4hdultra)) make flash-image-hd5x make flash-image-hd5x-multi endif @@ -135,7 +135,7 @@ flash-image-hd5x: | $(IMAGE_DIR) # ----------------------------------------------------------------------------- -# hd51, bre2ze4k, h7 +# hd51, bre2ze4k, h7, e4hdultra HD5X_IMAGE_NAME = disk HD5X_BOOT_IMAGE = boot.img HD5X_IMAGE_LINK = $(HD5X_IMAGE_NAME).ext4 @@ -192,11 +192,19 @@ flash-image-hd5x-multi: | $(IMAGE_DIR) parted -s $(EMMC_IMAGE) unit KiB mkpart storage ext4 $(STORAGE_PARTITION_OFFSET) 100% dd if=/dev/zero of=$(IMAGE_BUILD_DIR)/$(HD5X_BOOT_IMAGE) bs=$(BLOCK_SIZE) count=$(shell expr $(BOOT_PARTITION_SIZE) \* $(BLOCK_SECTOR)) mkfs.msdos -S 512 $(IMAGE_BUILD_DIR)/$(HD5X_BOOT_IMAGE) +ifeq ($(BOXMODEL), e4hdultra) + echo "boot emmcflash0.linuxkernel 'brcm_cma=504M@264M brcm_cma=192M@768M brcm_cma=1024M@2048M root=/dev/mmcblk0p3 rootsubdir=linuxrootfs1 kernel=/dev/mmcblk0p2 rw rootwait $(BOXMODEL)_4.boxmode=5'" > $(IMAGE_BUILD_DIR)/STARTUP + echo "boot emmcflash0.linuxkernel 'brcm_cma=504M@264M brcm_cma=192M@768M brcm_cma=1024M@2048M root=/dev/mmcblk0p3 rootsubdir=linuxrootfs1 kernel=/dev/mmcblk0p2 rw rootwait $(BOXMODEL)_4.boxmode=5'" > $(IMAGE_BUILD_DIR)/STARTUP_1 + echo "boot emmcflash0.linuxkernel2 'brcm_cma=504M@264M brcm_cma=192M@768M brcm_cma=1024M@2048M root=/dev/mmcblk0p8 rootsubdir=linuxrootfs2 kernel=/dev/mmcblk0p4 rw rootwait $(BOXMODEL)_4.boxmode=5'" > $(IMAGE_BUILD_DIR)/STARTUP_2 + echo "boot emmcflash0.linuxkernel3 'brcm_cma=504M@264M brcm_cma=192M@768M brcm_cma=1024M@2048M root=/dev/mmcblk0p8 rootsubdir=linuxrootfs3 kernel=/dev/mmcblk0p5 rw rootwait $(BOXMODEL)_4.boxmode=5'" > $(IMAGE_BUILD_DIR)/STARTUP_3 + echo "boot emmcflash0.linuxkernel4 'brcm_cma=504M@264M brcm_cma=192M@768M brcm_cma=1024M@2048M root=/dev/mmcblk0p8 rootsubdir=linuxrootfs4 kernel=/dev/mmcblk0p6 rw rootwait $(BOXMODEL)_4.boxmode=5'" > $(IMAGE_BUILD_DIR)/STARTUP_4 +else echo "boot emmcflash0.linuxkernel 'brcm_cma=520M@248M brcm_cma=192M@768M root=/dev/mmcblk0p3 rootsubdir=linuxrootfs1 kernel=/dev/mmcblk0p2 rw rootwait $(BOXMODEL)_4.boxmode=12'" > $(IMAGE_BUILD_DIR)/STARTUP echo "boot emmcflash0.linuxkernel 'root=/dev/mmcblk0p3 rootsubdir=linuxrootfs1 kernel=/dev/mmcblk0p2 rw rootwait $(BOXMODEL)_4.boxmode=1'" > $(IMAGE_BUILD_DIR)/STARTUP_1 echo "boot emmcflash0.linuxkernel2 'root=/dev/mmcblk0p8 rootsubdir=linuxrootfs2 kernel=/dev/mmcblk0p4 rw rootwait $(BOXMODEL)_4.boxmode=1'" > $(IMAGE_BUILD_DIR)/STARTUP_2 echo "boot emmcflash0.linuxkernel3 'root=/dev/mmcblk0p8 rootsubdir=linuxrootfs3 kernel=/dev/mmcblk0p5 rw rootwait $(BOXMODEL)_4.boxmode=1'" > $(IMAGE_BUILD_DIR)/STARTUP_3 echo "boot emmcflash0.linuxkernel4 'root=/dev/mmcblk0p8 rootsubdir=linuxrootfs4 kernel=/dev/mmcblk0p6 rw rootwait $(BOXMODEL)_4.boxmode=1'" > $(IMAGE_BUILD_DIR)/STARTUP_4 +endif mcopy -i $(IMAGE_BUILD_DIR)/$(HD5X_BOOT_IMAGE) -v $(IMAGE_BUILD_DIR)/STARTUP :: mcopy -i $(IMAGE_BUILD_DIR)/$(HD5X_BOOT_IMAGE) -v $(IMAGE_BUILD_DIR)/STARTUP_1 :: mcopy -i $(IMAGE_BUILD_DIR)/$(HD5X_BOOT_IMAGE) -v $(IMAGE_BUILD_DIR)/STARTUP_2 :: diff --git a/make/linux-kernel.mk b/make/linux-kernel.mk index f75a0b16..5984b5cc 100644 --- a/make/linux-kernel.mk +++ b/make/linux-kernel.mk @@ -166,6 +166,9 @@ BRE2ZE4K_PATCH = \ H7_PATCH = \ $(GFUTURES_4_10_PATCH) +E4HDULTRA_PATCH = \ + $(GFUTURES_4_10_PATCH) + HD60_PATCH = \ $(GFUTURES_4_4_PATCH) @@ -246,7 +249,7 @@ kernel.do_prepare: | $(DEPS_DIR) $(BUILD_DIR) $(MKDIR)/$(KERNEL_MODULES) $(INSTALL_DATA) $(KERNEL_CONFIG) $(KERNEL_OBJ_DIR)/.config $(MAKE) -C $(BUILD_DIR)/$(KERNEL_DIR) $(LINUX_KERNEL_MAKE_VARS) silentoldconfig -ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 hd60 hd61 multibox multiboxse)) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 e4hdultra hd60 hd61 multibox multiboxse)) $(INSTALL_DATA) $(PKG_FILES_DIR)/initramfs-subdirboot.cpio.gz $(KERNEL_OBJ_DIR) endif $(call TOUCH) diff --git a/make/target-blobs.mk b/make/target-blobs.mk index 28f5df9b..69326810 100644 --- a/make/target-blobs.mk +++ b/make/target-blobs.mk @@ -8,7 +8,7 @@ blobs: $(BLOBS_DEPENDENCIES) $(MAKE) firmware $(MAKE) $(BOXMODEL)-drivers -ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 hd60 hd61 multibox multiboxse vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse)) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 e4hdultra hd60 hd61 multibox multiboxse vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse)) $(MAKE) $(BOXMODEL)-libgles ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd60 hd61 multibox multiboxse)) $(MAKE) $(BOXMODEL)-libs @@ -59,6 +59,10 @@ H7_DRIVERS_VERSION = 20191123 H7_DRIVERS_SOURCE = h7-drivers-$(KERNEL_VERSION)-$(H7_DRIVERS_VERSION).zip H7_DRIVERS_SITE = http://source.mynonpublic.com/zgemma +E4HDULTRA_DRIVERS_VERSION = 20191101 +E4HDULTRA_DRIVERS_SOURCE = e4hd-drivers-$(KERNEL_VERSION)-$(E4HDULTRA_DRIVERS_VERSION).zip +E4HDULTRA_DRIVERS_SITE = http://source.mynonpublic.com/ceryon + HD60_DRIVERS_VERSION = 20200731 HD60_DRIVERS_SOURCE = hd60-drivers-$(KERNEL_VERSION)-$(HD60_DRIVERS_VERSION).zip HD60_DRIVERS_SITE = http://source.mynonpublic.com/gfutures @@ -171,7 +175,8 @@ endif hd51-drivers \ bre2ze4k-drivers \ -h7-drivers: $(DL_DIR)/$(BOXMODEL_DRIVERS_SOURCE) | $(TARGET_DIR) +h7-drivers \ +e4hdultra-drivers: $(DL_DIR)/$(BOXMODEL_DRIVERS_SOURCE) | $(TARGET_DIR) $(INSTALL) -d $(TARGET_modulesdir)/extra unzip -o $(DL_DIR)/$(BOXMODEL_DRIVERS_SOURCE) -d $(TARGET_modulesdir)/extra $(LINUX_RUN_DEPMOD) @@ -219,6 +224,11 @@ H7_LIBGLES_DIR = $(empty) H7_LIBGLES_SOURCE = h7-v3ddriver-$(H7_LIBGLES_VERSION).zip H7_LIBGLES_SITE = http://source.mynonpublic.com/zgemma +E4HDULTRA_LIBGLES_VERSION = 20191101 +E4HDULTRA_LIBGLES_DIR = $(empty) +E4HDULTRA_LIBGLES_SOURCE = 8100s-v3ddriver-$(E4HDULTRA_LIBGLES_VERSION).zip +E4HDULTRA_LIBGLES_SITE = https://source.mynonpublic.com/ceryon + HD60_LIBGLES_VERSION = 20181201 HD60_LIBGLES_DIR = $(empty) HD60_LIBGLES_SOURCE = hd60-mali-$(HD60_LIBGLES_VERSION).zip @@ -291,7 +301,8 @@ endif hd51-libgles \ bre2ze4k-libgles \ -h7-libgles: $(DL_DIR)/$(BOXMODEL_LIBGLES_SOURCE) | $(TARGET_DIR) +h7-libgles \ +e4hdultra-libgles: $(DL_DIR)/$(BOXMODEL_LIBGLES_SOURCE) | $(TARGET_DIR) unzip -o $(DL_DIR)/$(BOXMODEL_LIBGLES_SOURCE) -d $(TARGET_libdir) ln -sf libv3ddriver.so $(TARGET_libdir)/libEGL.so ln -sf libv3ddriver.so $(TARGET_libdir)/libGLESv2.so diff --git a/package/init-scripts/init-scripts.mk b/package/init-scripts/init-scripts.mk index e41a0163..06b71011 100644 --- a/package/init-scripts/init-scripts.mk +++ b/package/init-scripts/init-scripts.mk @@ -62,18 +62,18 @@ $(TARGET_sysconfdir)/init.d/hostname: $(INSTALL_EXEC) -D $(INIT_SCRIPTS_FILES_DIR)/hostname.init $(@) $(TARGET_sysconfdir)/init.d/partitions-by-name: -ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 hd60 hd61 multiboxse)) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 e4hdultra hd60 hd61 multiboxse)) $(INSTALL_EXEC) -D $(INIT_SCRIPTS_FILES_DIR)/partitions-by-name.init $(@) endif $(TARGET_sysconfdir)/init.d/proc: -ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 hd60 hd61 multiboxse vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse vuduo)) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 e4hdultra hd60 hd61 multiboxse vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse vuduo)) $(INSTALL_EXEC) -D $(INIT_SCRIPTS_FILES_DIR)/proc.init $(@) $(UPDATE-RC.D) $(@F) start 90 S . endif $(TARGET_sysconfdir)/init.d/resizerootfs: -ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 hd60 hd61 multiboxse)) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 e4hdultra hd60 hd61 multiboxse)) $(INSTALL_EXEC) -D $(INIT_SCRIPTS_FILES_DIR)/resizerootfs.init $(@) endif diff --git a/support/config.example b/support/config.example index 702d3c7f..4caa3a12 100644 --- a/support/config.example +++ b/support/config.example @@ -31,13 +31,14 @@ MAINTAINER = $(shell whoami) # WWIO #BOXMODEL = bre2ze4k -# Air Digital Zgemma H7 +# Air Digital #BOXMODEL = h7 -# Maxytec Multibox 4K -#BOXMODEL = multibox +# AXAS +#BOXMODEL = e4hdultra -# Maxytec Multibox SE 4K +# Maxytec +#BOXMODEL = multibox #BOXMODEL = multiboxse # Edison