From 957986617cf1c78a45cd6e2b102b342626cf0d1f Mon Sep 17 00:00:00 2001 From: vanhofen Date: Sun, 30 May 2021 23:39:40 +0200 Subject: [PATCH] - add Maxytec Multibox SE 4K --- Makefile | 2 + make/environment-box.mk | 28 ++++--- make/environment-linux.mk | 17 ++++- make/flash-images.mk | 111 +++++++++++++++++++++++++--- make/linux-kernel.mk | 7 +- make/target-blobs.mk | 27 +++++-- make/target-scripts.mk | 12 +-- support/config.example | 3 + support/online-update/get-image.php | 6 +- support/online-update/update.php | 6 ++ 10 files changed, 184 insertions(+), 35 deletions(-) diff --git a/Makefile b/Makefile index db35aa48..5db224e1 100755 --- a/Makefile +++ b/Makefile @@ -85,6 +85,7 @@ config.local: $(eval BOXMODEL=hd51) @echo " 11) AX/Mutant HD51" @echo " 12) AX/Mutant HD60" @echo " 13) AX/Mutant HD61" + @echo " 14) Maxytec Multibox SE 4K" @echo " 21) WWIO BRE2ZE4K" @echo " 31) Air Digital Zgemma H7" @echo " 41) VU+ Solo 4k" @@ -107,6 +108,7 @@ config.local: $(eval BOXMODEL=hd51) 11) boxmodel=hd51;; \ 12) boxmodel=hd60;; \ 13) boxmodel=hd61;; \ + 13) boxmodel=multiboxse;; \ 21) boxmodel=bre2ze4k;; \ 31) boxmodel=h7;; \ 41) boxmodel=vusolo4k;; \ diff --git a/make/environment-box.mk b/make/environment-box.mk index cc9171d1..09923d62 100644 --- a/make/environment-box.mk +++ b/make/environment-box.mk @@ -15,13 +15,21 @@ # - Armbox -------------------------------------------------------------------- -# BOXTYPE armbox ---- + -- + ------ + ----- + ------- + -------- + ------ + ----- + -# / | \ \ \ \ \ \ \ -# BOXSERIES hd5x hd6x vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse -# | | | | | | | | | -# BOXFAMILY bcm7251s hi3798m bcm7376 bcm7278 bcm7444s bcm72604 bcm7252s -# / | \ | | | | | | | | | -# BOXMODEL hd51 bre2ze4k h7 hd60 hd61 vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse +# BOXTYPE armbox ----- + +# / | +# BOXSERIES hd5x hd6x +# | | +# BOXFAMILY bcm7251s hi3798m +# / | \ / | \ +# BOXMODEL hd51 bre2ze4k h7 hd60 hd61 multiboxse + +# BOXTYPE armbox + ------ + ---- + -------- + ------- + ---- + +# / | \ \ \ \ \ +# BOXSERIES vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse +# | | | | | | | +# BOXFAMILY bcm7376 bcm7278 bcm7444s bcm72604 bcm7252s +# | | | | | | | +# BOXMODEL vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse # - Mipsbox -------------------------------------------------------------------- @@ -157,7 +165,7 @@ else ifneq ($(BOXMODEL),) BOXTYPE = armbox BOXSERIES = hd5x BOXFAMILY = bcm7251s - else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd60 hd61)) + else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd60 hd61 multiboxse)) BOXTYPE = armbox BOXSERIES = hd6x BOXFAMILY = hi3798m @@ -231,6 +239,8 @@ else ifeq ($(BOXMODEL),hd60) BOXNAME = "AX/Mut@nt HD60" else ifeq ($(BOXMODEL),hd61) BOXNAME = "AX/Mut@nt HD61" +else ifeq ($(BOXMODEL),multiboxse) + BOXNAME = "Maxytec Multibox SE 4K" else ifeq ($(BOXMODEL),vusolo4k) BOXNAME = "VU+ Solo 4K" else ifeq ($(BOXMODEL),vuduo4k) @@ -251,7 +261,7 @@ endif BOXMODELS = nevis apollo shiner kronos kronos_v2 BOXMODELS += hd51 bre2ze4k h7 -BOXMODELS += hd60 hd61 +BOXMODELS += hd60 hd61 multiboxse BOXMODELS += vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse BOXMODELS += vuduo diff --git a/make/environment-linux.mk b/make/environment-linux.mk index 0aeed4bb..c1af1099 100644 --- a/make/environment-linux.mk +++ b/make/environment-linux.mk @@ -65,6 +65,19 @@ else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd61)) BOOT_PARTITION = 4 +else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),multiboxse)) + KERNEL_VERSION = 4.4.35 + KERNEL_DATE = 20200219 + KERNEL_DIR = linux-$(KERNEL_VERSION) + KERNEL_SOURCE = linux-$(KERNEL_VERSION)-$(KERNEL_DATE)-arm.tar.gz + KERNEL_SITE = http://source.mynonpublic.com/maxytec + + KERNEL_BRANCH = $(empty) + KERNEL_DTB = $(KERNEL_OBJ_DIR)/arch/$(TARGET_ARCH)/boot/dts/hi3798mv200.dtb + KERNEL_CONFIG = $(PKG_FILES_DIR)/kernel-hd6x.defconfig + + BOOT_PARTITION = 4 + else ifeq ($(BOXMODEL),vusolo4k) KERNEL_VERSION = 3.14.28-1.8 KERNEL_DIR = linux @@ -230,7 +243,7 @@ KERNEL_MAKE_VARS += \ ifeq ($(BOXMODEL),$(filter $(BOXMODEL),vuduo)) KERNEL_IMAGE = vmlinux -else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd60 hd61)) +else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd60 hd61 multiboxse)) KERNEL_IMAGE = uImage else KERNEL_IMAGE = zImage @@ -239,7 +252,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)) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 hd60 hd61 multiboxse)) KERNEL_MAKE_TARGETS += $(notdir $(KERNEL_DTB)) endif diff --git a/make/flash-images.mk b/make/flash-images.mk index f2dd6154..0ee77acc 100644 --- a/make/flash-images.mk +++ b/make/flash-images.mk @@ -67,7 +67,7 @@ ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7)) make flash-image-hd5x make flash-image-hd5x-multi endif -ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd60 hd61)) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd60 hd61 multiboxse)) make flash-image-hd6x make flash-image-hd6x-single endif @@ -254,17 +254,16 @@ HD6X_PARTITONS_SOURCE = $(BOXMODEL)-partitions-$(HD6X_PARTITONS_DATE).zip HD6X_RECOVERY_DATE = 20200424 HD6X_RECOVERY_SOURCE = $(BOXMODEL)-recovery-$(HD6X_RECOVERY_DATE).zip -HD6X_MULTI_DISK_VERSION = 1.0 -HD6X_MULTI_DISK_SITE = http://downloads.mutant-digital.net/$(BOXMODEL) +HD6X_MULTI_RECOVERY_SITE = http://downloads.mutant-digital.net/$(BOXMODEL) $(DL_DIR)/$(HD6X_BOOTARGS_SOURCE): - $(download) $(HD6X_MULTI_DISK_SITE)/$(HD6X_BOOTARGS_SOURCE) + $(download) $(HD6X_MULTI_RECOVERY_SITE)/$(HD6X_BOOTARGS_SOURCE) $(DL_DIR)/$(HD6X_PARTITONS_SOURCE): - $(download) $(HD6X_MULTI_DISK_SITE)/$(HD6X_PARTITONS_SOURCE) + $(download) $(HD6X_MULTI_RECOVERY_SITE)/$(HD6X_PARTITONS_SOURCE) $(DL_DIR)/$(HD6X_RECOVERY_SOURCE): - $(download) $(HD6X_MULTI_DISK_SITE)/$(HD6X_RECOVERY_SOURCE) + $(download) $(HD6X_MULTI_RECOVERY_SITE)/$(HD6X_RECOVERY_SOURCE) flash-image-hd6x-multi-recovery: $(DL_DIR)/$(HD6X_BOOTARGS_SOURCE) flash-image-hd6x-multi-recovery: $(DL_DIR)/$(HD6X_PARTITONS_SOURCE) @@ -330,7 +329,103 @@ flash-image-hd6x-multi-recovery: | $(IMAGE_DIR) zip -r $(IMAGE_DIR)/$(IMAGE_NAME)_multi_recovery.zip * rm -rf $(IMAGE_BUILD_DIR) -flash-image-hd6x-single: flash-image-hd6x-multi-recovery +# multiboxse +MULTIBOXSE_IMAGE_NAME = disk +MULTIBOXSE_BOOT_IMAGE = bootoptions.img +MULTIBOXSE_IMAGE_LINK = $(HD6X_IMAGE_NAME).ext4 + +# partition offsets/sizes +MULTIBOXSE_BOOTOPTIONS_PARTITION_SIZE = 2048 +MULTIBOXSE_IMAGE_ROOTFS_SIZE = 1024M + +MULTIBOXSE_BOOTARGS_DATE = 20201110 +MULTIBOXSE_BOOTARGS_SOURCE = multiboxse-bootargs-$(MULTIBOXSE_BOOTARGS_DATE).zip +MULTIBOXSE_FASTBOOT_DATE = 20201110 +MULTIBOXSE_FASTBOOT_SOURCE = multiboxse-fastboot-$(MULTIBOXSE_FASTBOOT_DATE).zip +MULTIBOXSE_PARAM_DATE = 20200630 +MULTIBOXSE_PARAM_SOURCE = 3798mv200-param-$(MULTIBOXSE_PARAM_DATE).zip +MULTIBOXSE_RECOVERY_DATE = 20201110 +MULTIBOXSE_RECOVERY_SOURCE = multiboxse-recovery-$(MULTIBOXSE_RECOVERY_DATE).zip + +MULTIBOXSE_MULTI_RECOVERY_SITE = http://source.mynonpublic.com/maxytec + +$(DL_DIR)/$(MULTIBOXSE_BOOTARGS_SOURCE): + $(download) $(MULTIBOXSE_MULTI_RECOVERY_SITE)/$(MULTIBOXSE_BOOTARGS_SOURCE) + +$(DL_DIR)/$(MULTIBOXSE_FASTBOOT_SOURCE): + $(download) $(MULTIBOXSE_MULTI_RECOVERY_SITE)/$(MULTIBOXSE_FASTBOOT_SOURCE) + +$(DL_DIR)/$(MULTIBOXSE_PARAM_SOURCE): + $(download) $(MULTIBOXSE_MULTI_RECOVERY_SITE)/$(MULTIBOXSE_PARAM_SOURCE) + +$(DL_DIR)/$(MULTIBOXSE_RECOVERY_SOURCE): + $(download) $(MULTIBOXSE_MULTI_RECOVERY_SITE)/$(MULTIBOXSE_RECOVERY_SOURCE) + +flash-image-multiboxse-multi-recovery: $(DL_DIR)/$(MULTIBOXSE_BOOTARGS_SOURCE) +flash-image-multiboxse-multi-recovery: $(DL_DIR)/$(MULTIBOXSE_FASTBOOT_SOURCE) +flash-image-multiboxse-multi-recovery: $(DL_DIR)/$(MULTIBOXSE_PARAM_SOURCE) +flash-image-multiboxse-multi-recovery: $(DL_DIR)/$(MULTIBOXSE_RECOVERY_SOURCE) +flash-image-multiboxse-multi-recovery: | $(IMAGE_DIR) + rm -rf $(IMAGE_BUILD_DIR) + $(INSTALL) -d $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR) + unzip -o $(DL_DIR)/$(MULTIBOXSE_BOOTARGS_SOURCE) -d $(IMAGE_BUILD_DIR) + unzip -o $(DL_DIR)/$(MULTIBOXSE_FASTBOOT_SOURCE) -d $(IMAGE_BUILD_DIR) + unzip -o $(DL_DIR)/$(MULTIBOXSE_PARAM_SOURCE) -d $(IMAGE_BUILD_DIR) + unzip -o $(DL_DIR)/$(MULTIBOXSE_RECOVERY_SOURCE) -d $(IMAGE_BUILD_DIR) + $(INSTALL_EXEC) $(IMAGE_BUILD_DIR)/update_bootargs_$(BOXMODEL).bin $(ROOTFS)$(datadir)/update_bootargs_$(BOXMODEL).bin + dd if=/dev/zero of=$(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR)/$(MULTIBOXSE_BOOT_IMAGE) bs=1024 count=$(MULTIBOXSE_BOOTOPTIONS_PARTITION_SIZE) + mkfs.msdos -S 512 $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR)/$(MULTIBOXSE_BOOT_IMAGE) + echo "bootcmd=setenv bootargs \$$(bootargs) \$$(bootargs_common); mmc read 0 0x1000000 0x3BD000 0x8000; bootm 0x1000000; run bootcmd_fallback" > $(IMAGE_BUILD_DIR)/STARTUP + echo "bootargs=root=/dev/mmcblk0p23 rootsubdir=linuxrootfs1 rootfstype=ext4 kernel=/dev/mmcblk0p19" >> $(IMAGE_BUILD_DIR)/STARTUP + echo "bootcmd=setenv bootargs \$$(bootargs) \$$(bootargs_common); run bootcmd_android; run bootcmd_fallback" > $(IMAGE_BUILD_DIR)/STARTUP_ANDROID + echo "bootargs=androidboot.selinux=disabled androidboot.serialno=0123456789" >> $(IMAGE_BUILD_DIR)/STARTUP_ANDROID + echo "bootcmd=setenv bootargs \$$(bootargs) \$$(bootargs_common); run bootcmd_android; run bootcmd_fallback" > $(IMAGE_BUILD_DIR)/STARTUP_ANDROID_DISABLE_LINUXSE + echo "bootargs=androidboot.selinux=disabled androidboot.serialno=0123456789" >> $(IMAGE_BUILD_DIR)/STARTUP_ANDROID_DISABLE_LINUXSE + echo "bootcmd=setenv bootargs \$$(bootargs) \$$(bootargs_common); mmc read 0 0x1000000 0x3BD000 0x8000; bootm 0x1000000; run bootcmd_fallback" > $(IMAGE_BUILD_DIR)/STARTUP_LINUX_1 + echo "bootargs=root=/dev/mmcblk0p23 rootsubdir=linuxrootfs1 rootfstype=ext4 kernel=/dev/mmcblk0p19" >> $(IMAGE_BUILD_DIR)/STARTUP_LINUX_1 + echo "bootcmd=setenv bootargs \$$(bootargs) \$$(bootargs_common); mmc read 0 0x1000000 0x3C5000 0x8000; bootm 0x1000000; run bootcmd_fallback" > $(IMAGE_BUILD_DIR)/STARTUP_LINUX_2 + echo "bootargs=root=/dev/mmcblk0p23 rootsubdir=linuxrootfs2 rootfstype=ext4 kernel=/dev/mmcblk0p20" >> $(IMAGE_BUILD_DIR)/STARTUP_LINUX_2 + echo "bootcmd=setenv bootargs \$$(bootargs) \$$(bootargs_common); mmc read 0 0x1000000 0x3CD000 0x8000; bootm 0x1000000; run bootcmd_fallback" > $(IMAGE_BUILD_DIR)/STARTUP_LINUX_3 + echo "bootargs=root=/dev/mmcblk0p23 rootsubdir=linuxrootfs3 rootfstype=ext4 kernel=/dev/mmcblk0p21" >> $(IMAGE_BUILD_DIR)/STARTUP_LINUX_3 + echo "bootcmd=setenv bootargs \$$(bootargs) \$$(bootargs_common); mmc read 0 0x1000000 0x3D5000 0x8000; bootm 0x1000000; run bootcmd_fallback" > $(IMAGE_BUILD_DIR)/STARTUP_LINUX_4 + echo "bootargs=root=/dev/mmcblk0p23 rootsubdir=linuxrootfs4 rootfstype=ext4 kernel=/dev/mmcblk0p22" >> $(IMAGE_BUILD_DIR)/STARTUP_LINUX_4 + echo "bootcmd=setenv bootargs \$$(bootargs_common); mmc read 0 0x1000000 0x1000 0x9000; bootm 0x1000000" > $(IMAGE_BUILD_DIR)/STARTUP_RECOVERY + $(INSTALL_DATA) -D $(PACKAGE_DIR)/bootmenu/files/$(BOXMODEL)/bootmenu.conf $(IMAGE_BUILD_DIR)/bootmenu.conf + mcopy -i $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR)/$(MULTIBOXSE_BOOT_IMAGE) -v $(IMAGE_BUILD_DIR)/STARTUP :: + mcopy -i $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR)/$(MULTIBOXSE_BOOT_IMAGE) -v $(IMAGE_BUILD_DIR)/STARTUP_ANDROID :: + mcopy -i $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR)/$(MULTIBOXSE_BOOT_IMAGE) -v $(IMAGE_BUILD_DIR)/STARTUP_ANDROID_DISABLE_LINUXSE :: + mcopy -i $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR)/$(MULTIBOXSE_BOOT_IMAGE) -v $(IMAGE_BUILD_DIR)/STARTUP_LINUX_1 :: + mcopy -i $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR)/$(MULTIBOXSE_BOOT_IMAGE) -v $(IMAGE_BUILD_DIR)/STARTUP_LINUX_2 :: + mcopy -i $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR)/$(MULTIBOXSE_BOOT_IMAGE) -v $(IMAGE_BUILD_DIR)/STARTUP_LINUX_3 :: + mcopy -i $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR)/$(MULTIBOXSE_BOOT_IMAGE) -v $(IMAGE_BUILD_DIR)/STARTUP_LINUX_4 :: + mcopy -i $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR)/$(MULTIBOXSE_BOOT_IMAGE) -v $(IMAGE_BUILD_DIR)/STARTUP_RECOVERY :: + mcopy -i $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR)/$(MULTIBOXSE_BOOT_IMAGE) -v $(IMAGE_BUILD_DIR)/bootmenu.conf :: + mv $(IMAGE_BUILD_DIR)/pq_param.bin $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR) + mv $(IMAGE_BUILD_DIR)/baseparam.img $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR) + echo boot-recovery > $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR)/misc-boot.img + rm -rf $(IMAGE_BUILD_DIR)/STARTUP* + rm -rf $(IMAGE_BUILD_DIR)/*.conf + rm -rf $(IMAGE_BUILD_DIR)/*.txt + rm -rf $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR)/*.txt + rm -rf $(IMAGE_BUILD_DIR)/$(MULTIBOXSE_IMAGE_LINK) + cp $(SUPPORT_DIR)/splash-images/ni-splash-$(BOXSERIES).img $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR)/logo.img + echo $(IMAGE_NAME)_recovery > $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR)/recoveryversion + echo "***** ACHTUNG *****" >$(IMAGE_BUILD_DIR)/recovery_$(BOXMODEL)_lies.mich + echo "Das RECOVERY wird nur benötigt wenn es Probleme beim Zugriff auf das MULTIBOOT MENÜ gibt." >> $(IMAGE_BUILD_DIR)/recovery_$(BOXMODEL)_lies.mich + echo "Das $(IMAGE_NAME)_multi_recovery.zip sollte normalerweise nur einmal installiert werden (oder wenn es ein Update gibt)." >> $(IMAGE_BUILD_DIR)/recovery_$(BOXMODEL)_lies.mich + echo "Dies ist erforderlich, um Probleme mit dem Images zuvermeiden, wenn sich der Aufbau der Partition (bootargs) ändert." >> $(IMAGE_BUILD_DIR)/recovery_$(BOXMODEL)_lies.mich + echo "Die Änderungen können alle Daten im Flash löschen. Nur installieren, wenn es notwendig ist." >> $(IMAGE_BUILD_DIR)/recovery_$(BOXMODEL)_lies.mich + echo "***** ATTENTION *****" > $(IMAGE_BUILD_DIR)/recovery_$(BOXMODEL)_read.me + echo "This RECOVERY is only needed when you have issues access the MULTIBOOT MENU." >> $(IMAGE_BUILD_DIR)/recovery_$(BOXMODEL)_read.me + echo "The $(IMAGE_NAME)_multi_recovery.zip should been installed just once (or if there is an update)." >> $(IMAGE_BUILD_DIR)/recovery_$(BOXMODEL)_read.me + echo "This is necessary to avoid problems with the image if the partition structure (bootargs) changes." >> $(IMAGE_BUILD_DIR)/recovery_$(BOXMODEL)_read.me + echo "A small change can destroy all your installed images. So you better leave it and don't install it if it's not needed." >> $(IMAGE_BUILD_DIR)/recovery_$(BOXMODEL)_read.me + $(CD) $(IMAGE_BUILD_DIR); \ + zip -r $(IMAGE_DIR)/$(IMAGE_NAME)_multi_recovery.zip * + rm -rf $(IMAGE_BUILD_DIR) + +flash-image-hd6x-single: $(if $(filter $(BOXMODEL),hd60 hd61),flash-image-hd6x-multi-recovery) +flash-image-hd6x-single: $(if $(filter $(BOXMODEL),multiboxse),flash-image-multiboxse-multi-recovery) flash-image-hd6x-single: | $(IMAGE_DIR) rm -rf $(IMAGE_BUILD_DIR) $(INSTALL) -d $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR) @@ -358,8 +453,6 @@ flash-image-vuplus: | $(IMAGE_DIR) tar -cvf $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR)/rootfs.tar -C $(ROOTFS) . >/dev/null 2>&1; \ bzip2 $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR)/rootfs.tar # Create minimal image - echo $(IMAGE_DATE) - echo $(IMAGE_NAME) $(CD) $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR); \ tar -czf $(IMAGE_DIR)/$(IMAGE_NAME).tgz kernel_auto.bin rootfs.tar.bz2 $(call create_md5file,$(IMAGE_NAME).tgz) diff --git a/make/linux-kernel.mk b/make/linux-kernel.mk index eb21920c..807bce61 100644 --- a/make/linux-kernel.mk +++ b/make/linux-kernel.mk @@ -20,7 +20,7 @@ GFUTURES_4_10_PATCH = \ gfutures/4_10_reserve_dvb_adapter_0.patch \ gfutures/4_10_t230c2.patch -# arm hd60/hd61 +# arm hd60/hd61/multiboxse GFUTURES_4_4_PATCH = \ gfutures/4_4_0001-remote.patch \ gfutures/4_4_0002-log2-give-up-on-gcc-constant-optimizations.patch \ @@ -154,6 +154,9 @@ HD60_PATCH = \ HD61_PATCH = \ $(GFUTURES_4_4_PATCH) +MULTIBOXSE_PATCH = \ + $(GFUTURES_4_4_PATCH) + VUSOLO4K_PATCH = \ $(VUPLUS_3_14_PATCH) \ vuplus/3_14_linux_rpmb_not_alloc.patch \ @@ -210,7 +213,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) $(KERNEL_MAKE_VARS) silentoldconfig -ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 hd60 hd61)) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 hd60 hd61 multiboxse)) $(INSTALL_DATA) $(PKG_FILES_DIR)/initramfs-subdirboot.cpio.gz $(KERNEL_OBJ_DIR) endif $(TOUCH) diff --git a/make/target-blobs.mk b/make/target-blobs.mk index f92690dd..d8847e75 100644 --- a/make/target-blobs.mk +++ b/make/target-blobs.mk @@ -8,9 +8,9 @@ blobs: $(BLOBS_DEPENDENCIES) $(MAKE) firmware $(MAKE) $(BOXMODEL)-drivers -ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 hd60 hd61 vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse)) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 hd60 hd61 multiboxse vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse)) $(MAKE) $(BOXMODEL)-libgles - ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd60 hd61)) + ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd60 hd61 multiboxse)) $(MAKE) $(BOXMODEL)-libs endif endif @@ -67,6 +67,10 @@ HD61_DRIVERS_VERSION = 20200731 HD61_DRIVERS_SOURCE = hd61-drivers-$(KERNEL_VERSION)-$(HD61_DRIVERS_VERSION).zip HD61_DRIVERS_SITE = http://source.mynonpublic.com/gfutures +MULTIBOXSE_DRIVERS_VERSION = 20201204 +MULTIBOXSE_DRIVERS_SOURCE = multiboxse-drivers-$(KERNEL_VERSION)-$(MULTIBOXSE_DRIVERS_VERSION).zip +MULTIBOXSE_DRIVERS_SITE = http://source.mynonpublic.com/maxytec + ifeq ($(VUPLUS_DRIVERS_LATEST),yes) VUSOLO4K_DRIVERS_VERSION = 20190424 else @@ -170,7 +174,8 @@ h7-drivers: $(DL_DIR)/$(BOXMODEL_DRIVERS_SOURCE) | $(TARGET_DIR) $(TOUCH) hd60-drivers \ -hd61-drivers: $(DL_DIR)/$(BOXMODEL_DRIVERS_SOURCE) | $(TARGET_DIR) +hd61-drivers \ +multiboxse-drivers: $(DL_DIR)/$(BOXMODEL_DRIVERS_SOURCE) | $(TARGET_DIR) $(INSTALL) -d $(TARGET_modulesdir)/extra unzip -o $(DL_DIR)/$(BOXMODEL_DRIVERS_SOURCE) -d $(TARGET_modulesdir)/extra $(TARGET_RM) $(TARGET_modulesdir)/extra/hi_play.ko @@ -219,6 +224,11 @@ HD61_LIBGLES_DIR = $(empty) HD61_LIBGLES_SOURCE = hd61-mali-$(HD61_LIBGLES_VERSION).zip HD61_LIBGLES_SITE = http://downloads.mutant-digital.net/hd61 +MULTIBOXSE_LIBGLES_VERSION = 20190104 +MULTIBOXSE_LIBGLES_DIR = $(empty) +MULTIBOXSE_LIBGLES_SOURCE = maxytec-mali-3798mv200-$(MULTIBOXSE_LIBGLES_VERSION).zip +MULTIBOXSE_LIBGLES_SITE = http://source.mynonpublic.com/maxytec + HD6X_LIBGLES_HEADERS_SOURCE = libgles-mali-utgard-headers.zip HD6X_LIBGLES_HEADERS_SITE = https://github.com/HD-Digital/meta-gfutures/raw/release-6.2/recipes-bsp/mali/files @@ -285,7 +295,8 @@ hd6x-libgles-headers: $(DL_DIR)/$(HD6X_LIBGLES_HEADERS_SOURCE) | $(TARGET_DIR) $(TOUCH) hd60-libgles \ -hd61-libgles: $(DL_DIR)/$(BOXMODEL_LIBGLES_SOURCE) | $(TARGET_DIR) +hd61-libgles \ +multiboxse-libgles: $(DL_DIR)/$(BOXMODEL_LIBGLES_SOURCE) | $(TARGET_DIR) unzip -o $(DL_DIR)/$(BOXMODEL_LIBGLES_SOURCE) -d $(TARGET_libdir) $(CD) $(TARGET_libdir); \ ln -sf libMali.so libmali.so; \ @@ -324,6 +335,11 @@ HD61_LIBS_DIR = hiplay HD61_LIBS_SOURCE = gfutures-libs-3798mv200-$(HD61_LIBS_VERSION).zip HD61_LIBS_SITE = http://source.mynonpublic.com/gfutures +MULTIBOXSE_LIBS_VERSION = 20200622 +MULTIBOXSE_LIBS_DIR = hiplay +MULTIBOXSE_LIBS_SOURCE = maxytec-libs-3798mv200-$(MULTIBOXSE_LIBS_VERSION).zip +MULTIBOXSE_LIBS_SITE = http://source.mynonpublic.com/maxytec + # ----------------------------------------------------------------------------- BOXMODEL_LIBS_VERSION = $($(call UPPERCASE,$(BOXMODEL))_LIBS_VERSION) @@ -337,7 +353,8 @@ $(DL_DIR)/$(BOXMODEL_LIBS_SOURCE): endif hd60-libs \ -hd61-libs: $(DL_DIR)/$(BOXMODEL_LIBS_SOURCE) | $(TARGET_DIR) +hd61-libs \ +multiboxse-libs: $(DL_DIR)/$(BOXMODEL_LIBS_SOURCE) | $(TARGET_DIR) $(REMOVE)/$(BOXMODEL_LIBS_DIR) unzip -o $(DL_DIR)/$(BOXMODEL_LIBS_SOURCE) -d $(BUILD_DIR)/$(BOXMODEL_LIBS_DIR) $(INSTALL) -d $(TARGET_libdir)/hisilicon diff --git a/make/target-scripts.mk b/make/target-scripts.mk index 76b7d495..9372e491 100644 --- a/make/target-scripts.mk +++ b/make/target-scripts.mk @@ -59,12 +59,12 @@ $(TARGET_sysconfdir)/init.d/hostname: $(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/hostname.init $(@) $(TARGET_sysconfdir)/init.d/partitions-by-name: -ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 hd60 hd61)) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 hd60 hd61 multiboxse)) $(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/partitions-by-name.init $(@) endif $(TARGET_sysconfdir)/init.d/proc: -ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 hd60 hd61 vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse vuduo)) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 hd60 hd61 multiboxse vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse vuduo)) $(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/proc.init $(@) $(UPDATE-RC.D) $(@F) start 90 S . endif @@ -78,7 +78,7 @@ ifeq ($(PERSISTENT_VAR_PARTITION),yes) endif $(TARGET_sysconfdir)/init.d/resizerootfs: -ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 hd60 hd61)) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7 hd60 hd61 multiboxse)) $(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/resizerootfs.init $(@) endif @@ -86,19 +86,19 @@ $(TARGET_sysconfdir)/init.d/sys_update.sh: $(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/sys_update.sh $(@) $(TARGET_sysconfdir)/init.d/sendsigs: -ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd60 hd61)) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd60 hd61 multiboxse)) $(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/sendsigs.init $(@) $(UPDATE-RC.D) $(@F) start 85 0 . endif $(TARGET_sysconfdir)/init.d/umountfs: -ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd60 hd61)) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd60 hd61 multiboxse)) $(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/umountfs.init $(@) $(UPDATE-RC.D) $(@F) start 86 0 . endif $(TARGET_sysconfdir)/init.d/suspend: -ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd60 hd61)) +ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd60 hd61 multiboxse)) $(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/suspend.init $(@) $(UPDATE-RC.D) $(@F) start 89 0 . endif diff --git a/support/config.example b/support/config.example index 0c35891e..fd027c32 100644 --- a/support/config.example +++ b/support/config.example @@ -34,6 +34,9 @@ MAINTAINER = $(shell whoami) # Air Digital Zgemma H7 #BOXMODEL = h7 +# Maxytec Multibox SE 4K +#BOXMODEL = multiboxse + # Edison #BOXMODEL = osmio4k #BOXMODEL = osmio4kse diff --git a/support/online-update/get-image.php b/support/online-update/get-image.php index e85156e7..a2763277 100644 --- a/support/online-update/get-image.php +++ b/support/online-update/get-image.php @@ -13,7 +13,7 @@ $debug = false; $mmc = false; $recovery = false; -if ($boxmodel == "hd60-mmc" || $boxmodel == "hd61-mmc") +if ($boxmodel == "hd60-mmc" || $boxmodel == "hd61-mmc" || $boxmodel == "multiboxse-mmc") { $boxtype = "armbox"; @@ -21,6 +21,8 @@ if ($boxmodel == "hd60-mmc" || $boxmodel == "hd61-mmc") $boxmodel = "hd60"; elseif ($boxmodel == "hd61-mmc") $boxmodel = "hd61"; + elseif ($boxmodel == "multiboxse-mmc") + $boxmodel = "multiboxse"; $mmc = true; } @@ -72,7 +74,7 @@ elseif ($boxtype == "armbox" || $boxtype == "arm") $boxtype_sc = "arm"; if ($mmc || $recovery) { - if ($boxmodel == "hd60" || $boxmodel == "hd61") + if ($boxmodel == "hd60" || $boxmodel == "hd61" || $boxmodel == "multiboxse") { if ($mmc) $add_str = "_single_mmc"; diff --git a/support/online-update/update.php b/support/online-update/update.php index aba565bf..8d7a907e 100644 --- a/support/online-update/update.php +++ b/support/online-update/update.php @@ -59,6 +59,12 @@ if ($revision == 1) // libstb-hal $boxseries = "hd6x"; $boxmodel = "hd61"; } + elseif ($boxname == "multibox se 4k") + { + $boxtype_sc = "arm"; + $boxseries = "hd6x"; + $boxmodel = "multiboxse"; + } elseif ($boxname == "solo4k" || $boxname == "duo4k" || $boxname == "duo4kse" || $boxname == "ultimo4k" || $boxname == "zero4k" || $boxname == "uno4k" || $boxname == "uno4kse") { $boxtype_sc = "arm";