Browse Source

- add Maxytec Multibox SE 4K

master
vanhofen 4 years ago
parent
commit
957986617c
  1. 2
      Makefile
  2. 28
      make/environment-box.mk
  3. 17
      make/environment-linux.mk
  4. 111
      make/flash-images.mk
  5. 7
      make/linux-kernel.mk
  6. 27
      make/target-blobs.mk
  7. 12
      make/target-scripts.mk
  8. 3
      support/config.example
  9. 6
      support/online-update/get-image.php
  10. 6
      support/online-update/update.php

2
Makefile

@ -85,6 +85,7 @@ config.local: $(eval BOXMODEL=hd51)
@echo " 11) AX/Mutant HD51" @echo " 11) AX/Mutant HD51"
@echo " 12) AX/Mutant HD60" @echo " 12) AX/Mutant HD60"
@echo " 13) AX/Mutant HD61" @echo " 13) AX/Mutant HD61"
@echo " 14) Maxytec Multibox SE 4K"
@echo " 21) WWIO BRE2ZE4K" @echo " 21) WWIO BRE2ZE4K"
@echo " 31) Air Digital Zgemma H7" @echo " 31) Air Digital Zgemma H7"
@echo " 41) VU+ Solo 4k" @echo " 41) VU+ Solo 4k"
@ -107,6 +108,7 @@ config.local: $(eval BOXMODEL=hd51)
11) boxmodel=hd51;; \ 11) boxmodel=hd51;; \
12) boxmodel=hd60;; \ 12) boxmodel=hd60;; \
13) boxmodel=hd61;; \ 13) boxmodel=hd61;; \
13) boxmodel=multiboxse;; \
21) boxmodel=bre2ze4k;; \ 21) boxmodel=bre2ze4k;; \
31) boxmodel=h7;; \ 31) boxmodel=h7;; \
41) boxmodel=vusolo4k;; \ 41) boxmodel=vusolo4k;; \

28
make/environment-box.mk

@ -15,13 +15,21 @@
# - Armbox -------------------------------------------------------------------- # - Armbox --------------------------------------------------------------------
# BOXTYPE armbox ---- + -- + ------ + ----- + ------- + -------- + ------ + ----- + # BOXTYPE armbox ----- +
# / | \ \ \ \ \ \ \ # / |
# BOXSERIES hd5x hd6x vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse # BOXSERIES hd5x hd6x
# | | | | | | | | | # | |
# BOXFAMILY bcm7251s hi3798m bcm7376 bcm7278 bcm7444s bcm72604 bcm7252s # BOXFAMILY bcm7251s hi3798m
# / | \ | | | | | | | | | # / | \ / | \
# BOXMODEL hd51 bre2ze4k h7 hd60 hd61 vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse # 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 -------------------------------------------------------------------- # - Mipsbox --------------------------------------------------------------------
@ -157,7 +165,7 @@ else ifneq ($(BOXMODEL),)
BOXTYPE = armbox BOXTYPE = armbox
BOXSERIES = hd5x BOXSERIES = hd5x
BOXFAMILY = bcm7251s BOXFAMILY = bcm7251s
else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd60 hd61)) else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd60 hd61 multiboxse))
BOXTYPE = armbox BOXTYPE = armbox
BOXSERIES = hd6x BOXSERIES = hd6x
BOXFAMILY = hi3798m BOXFAMILY = hi3798m
@ -231,6 +239,8 @@ else ifeq ($(BOXMODEL),hd60)
BOXNAME = "AX/Mut@nt HD60" BOXNAME = "AX/Mut@nt HD60"
else ifeq ($(BOXMODEL),hd61) else ifeq ($(BOXMODEL),hd61)
BOXNAME = "AX/Mut@nt HD61" BOXNAME = "AX/Mut@nt HD61"
else ifeq ($(BOXMODEL),multiboxse)
BOXNAME = "Maxytec Multibox SE 4K"
else ifeq ($(BOXMODEL),vusolo4k) else ifeq ($(BOXMODEL),vusolo4k)
BOXNAME = "VU+ Solo 4K" BOXNAME = "VU+ Solo 4K"
else ifeq ($(BOXMODEL),vuduo4k) else ifeq ($(BOXMODEL),vuduo4k)
@ -251,7 +261,7 @@ endif
BOXMODELS = nevis apollo shiner kronos kronos_v2 BOXMODELS = nevis apollo shiner kronos kronos_v2
BOXMODELS += hd51 bre2ze4k h7 BOXMODELS += hd51 bre2ze4k h7
BOXMODELS += hd60 hd61 BOXMODELS += hd60 hd61 multiboxse
BOXMODELS += vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse BOXMODELS += vusolo4k vuduo4k vuduo4kse vuultimo4k vuzero4k vuuno4k vuuno4kse
BOXMODELS += vuduo BOXMODELS += vuduo

17
make/environment-linux.mk

@ -65,6 +65,19 @@ else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd61))
BOOT_PARTITION = 4 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) else ifeq ($(BOXMODEL),vusolo4k)
KERNEL_VERSION = 3.14.28-1.8 KERNEL_VERSION = 3.14.28-1.8
KERNEL_DIR = linux KERNEL_DIR = linux
@ -230,7 +243,7 @@ KERNEL_MAKE_VARS += \
ifeq ($(BOXMODEL),$(filter $(BOXMODEL),vuduo)) ifeq ($(BOXMODEL),$(filter $(BOXMODEL),vuduo))
KERNEL_IMAGE = vmlinux KERNEL_IMAGE = vmlinux
else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd60 hd61)) else ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd60 hd61 multiboxse))
KERNEL_IMAGE = uImage KERNEL_IMAGE = uImage
else else
KERNEL_IMAGE = zImage KERNEL_IMAGE = zImage
@ -239,7 +252,7 @@ endif
KERNEL_MAKE_TARGETS = $(KERNEL_IMAGE) KERNEL_MAKE_TARGETS = $(KERNEL_IMAGE)
# build also the kernel-dtb for arm-hd5x and arm-hd6x # 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)) KERNEL_MAKE_TARGETS += $(notdir $(KERNEL_DTB))
endif endif

111
make/flash-images.mk

@ -67,7 +67,7 @@ ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd51 bre2ze4k h7))
make flash-image-hd5x make flash-image-hd5x
make flash-image-hd5x-multi make flash-image-hd5x-multi
endif endif
ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd60 hd61)) ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd60 hd61 multiboxse))
make flash-image-hd6x make flash-image-hd6x
make flash-image-hd6x-single make flash-image-hd6x-single
endif endif
@ -254,17 +254,16 @@ HD6X_PARTITONS_SOURCE = $(BOXMODEL)-partitions-$(HD6X_PARTITONS_DATE).zip
HD6X_RECOVERY_DATE = 20200424 HD6X_RECOVERY_DATE = 20200424
HD6X_RECOVERY_SOURCE = $(BOXMODEL)-recovery-$(HD6X_RECOVERY_DATE).zip HD6X_RECOVERY_SOURCE = $(BOXMODEL)-recovery-$(HD6X_RECOVERY_DATE).zip
HD6X_MULTI_DISK_VERSION = 1.0 HD6X_MULTI_RECOVERY_SITE = http://downloads.mutant-digital.net/$(BOXMODEL)
HD6X_MULTI_DISK_SITE = http://downloads.mutant-digital.net/$(BOXMODEL)
$(DL_DIR)/$(HD6X_BOOTARGS_SOURCE): $(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): $(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): $(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_BOOTARGS_SOURCE)
flash-image-hd6x-multi-recovery: $(DL_DIR)/$(HD6X_PARTITONS_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 * zip -r $(IMAGE_DIR)/$(IMAGE_NAME)_multi_recovery.zip *
rm -rf $(IMAGE_BUILD_DIR) 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) flash-image-hd6x-single: | $(IMAGE_DIR)
rm -rf $(IMAGE_BUILD_DIR) rm -rf $(IMAGE_BUILD_DIR)
$(INSTALL) -d $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR) $(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; \ tar -cvf $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR)/rootfs.tar -C $(ROOTFS) . >/dev/null 2>&1; \
bzip2 $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR)/rootfs.tar bzip2 $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR)/rootfs.tar
# Create minimal image # Create minimal image
echo $(IMAGE_DATE)
echo $(IMAGE_NAME)
$(CD) $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR); \ $(CD) $(IMAGE_BUILD_DIR)/$(IMAGE_SUBDIR); \
tar -czf $(IMAGE_DIR)/$(IMAGE_NAME).tgz kernel_auto.bin rootfs.tar.bz2 tar -czf $(IMAGE_DIR)/$(IMAGE_NAME).tgz kernel_auto.bin rootfs.tar.bz2
$(call create_md5file,$(IMAGE_NAME).tgz) $(call create_md5file,$(IMAGE_NAME).tgz)

7
make/linux-kernel.mk

@ -20,7 +20,7 @@ GFUTURES_4_10_PATCH = \
gfutures/4_10_reserve_dvb_adapter_0.patch \ gfutures/4_10_reserve_dvb_adapter_0.patch \
gfutures/4_10_t230c2.patch gfutures/4_10_t230c2.patch
# arm hd60/hd61 # arm hd60/hd61/multiboxse
GFUTURES_4_4_PATCH = \ GFUTURES_4_4_PATCH = \
gfutures/4_4_0001-remote.patch \ gfutures/4_4_0001-remote.patch \
gfutures/4_4_0002-log2-give-up-on-gcc-constant-optimizations.patch \ gfutures/4_4_0002-log2-give-up-on-gcc-constant-optimizations.patch \
@ -154,6 +154,9 @@ HD60_PATCH = \
HD61_PATCH = \ HD61_PATCH = \
$(GFUTURES_4_4_PATCH) $(GFUTURES_4_4_PATCH)
MULTIBOXSE_PATCH = \
$(GFUTURES_4_4_PATCH)
VUSOLO4K_PATCH = \ VUSOLO4K_PATCH = \
$(VUPLUS_3_14_PATCH) \ $(VUPLUS_3_14_PATCH) \
vuplus/3_14_linux_rpmb_not_alloc.patch \ vuplus/3_14_linux_rpmb_not_alloc.patch \
@ -210,7 +213,7 @@ kernel.do_prepare: | $(DEPS_DIR) $(BUILD_DIR)
$(MKDIR)/$(KERNEL_MODULES) $(MKDIR)/$(KERNEL_MODULES)
$(INSTALL_DATA) $(KERNEL_CONFIG) $(KERNEL_OBJ_DIR)/.config $(INSTALL_DATA) $(KERNEL_CONFIG) $(KERNEL_OBJ_DIR)/.config
$(MAKE) -C $(BUILD_DIR)/$(KERNEL_DIR) $(KERNEL_MAKE_VARS) silentoldconfig $(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) $(INSTALL_DATA) $(PKG_FILES_DIR)/initramfs-subdirboot.cpio.gz $(KERNEL_OBJ_DIR)
endif endif
$(TOUCH) $(TOUCH)

27
make/target-blobs.mk

@ -8,9 +8,9 @@
blobs: $(BLOBS_DEPENDENCIES) blobs: $(BLOBS_DEPENDENCIES)
$(MAKE) firmware $(MAKE) firmware
$(MAKE) $(BOXMODEL)-drivers $(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 $(MAKE) $(BOXMODEL)-libgles
ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd60 hd61)) ifeq ($(BOXMODEL),$(filter $(BOXMODEL),hd60 hd61 multiboxse))
$(MAKE) $(BOXMODEL)-libs $(MAKE) $(BOXMODEL)-libs
endif endif
endif endif
@ -67,6 +67,10 @@ HD61_DRIVERS_VERSION = 20200731
HD61_DRIVERS_SOURCE = hd61-drivers-$(KERNEL_VERSION)-$(HD61_DRIVERS_VERSION).zip HD61_DRIVERS_SOURCE = hd61-drivers-$(KERNEL_VERSION)-$(HD61_DRIVERS_VERSION).zip
HD61_DRIVERS_SITE = http://source.mynonpublic.com/gfutures 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) ifeq ($(VUPLUS_DRIVERS_LATEST),yes)
VUSOLO4K_DRIVERS_VERSION = 20190424 VUSOLO4K_DRIVERS_VERSION = 20190424
else else
@ -170,7 +174,8 @@ h7-drivers: $(DL_DIR)/$(BOXMODEL_DRIVERS_SOURCE) | $(TARGET_DIR)
$(TOUCH) $(TOUCH)
hd60-drivers \ 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 $(INSTALL) -d $(TARGET_modulesdir)/extra
unzip -o $(DL_DIR)/$(BOXMODEL_DRIVERS_SOURCE) -d $(TARGET_modulesdir)/extra unzip -o $(DL_DIR)/$(BOXMODEL_DRIVERS_SOURCE) -d $(TARGET_modulesdir)/extra
$(TARGET_RM) $(TARGET_modulesdir)/extra/hi_play.ko $(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_SOURCE = hd61-mali-$(HD61_LIBGLES_VERSION).zip
HD61_LIBGLES_SITE = http://downloads.mutant-digital.net/hd61 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_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 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) $(TOUCH)
hd60-libgles \ 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) unzip -o $(DL_DIR)/$(BOXMODEL_LIBGLES_SOURCE) -d $(TARGET_libdir)
$(CD) $(TARGET_libdir); \ $(CD) $(TARGET_libdir); \
ln -sf libMali.so libmali.so; \ 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_SOURCE = gfutures-libs-3798mv200-$(HD61_LIBS_VERSION).zip
HD61_LIBS_SITE = http://source.mynonpublic.com/gfutures 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) BOXMODEL_LIBS_VERSION = $($(call UPPERCASE,$(BOXMODEL))_LIBS_VERSION)
@ -337,7 +353,8 @@ $(DL_DIR)/$(BOXMODEL_LIBS_SOURCE):
endif endif
hd60-libs \ 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) $(REMOVE)/$(BOXMODEL_LIBS_DIR)
unzip -o $(DL_DIR)/$(BOXMODEL_LIBS_SOURCE) -d $(BUILD_DIR)/$(BOXMODEL_LIBS_DIR) unzip -o $(DL_DIR)/$(BOXMODEL_LIBS_SOURCE) -d $(BUILD_DIR)/$(BOXMODEL_LIBS_DIR)
$(INSTALL) -d $(TARGET_libdir)/hisilicon $(INSTALL) -d $(TARGET_libdir)/hisilicon

12
make/target-scripts.mk

@ -59,12 +59,12 @@ $(TARGET_sysconfdir)/init.d/hostname:
$(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/hostname.init $(@) $(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/hostname.init $(@)
$(TARGET_sysconfdir)/init.d/partitions-by-name: $(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 $(@) $(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/partitions-by-name.init $(@)
endif endif
$(TARGET_sysconfdir)/init.d/proc: $(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 $(@) $(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/proc.init $(@)
$(UPDATE-RC.D) $(@F) start 90 S . $(UPDATE-RC.D) $(@F) start 90 S .
endif endif
@ -78,7 +78,7 @@ ifeq ($(PERSISTENT_VAR_PARTITION),yes)
endif endif
$(TARGET_sysconfdir)/init.d/resizerootfs: $(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 $(@) $(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/resizerootfs.init $(@)
endif endif
@ -86,19 +86,19 @@ $(TARGET_sysconfdir)/init.d/sys_update.sh:
$(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/sys_update.sh $(@) $(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/sys_update.sh $(@)
$(TARGET_sysconfdir)/init.d/sendsigs: $(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 $(@) $(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/sendsigs.init $(@)
$(UPDATE-RC.D) $(@F) start 85 0 . $(UPDATE-RC.D) $(@F) start 85 0 .
endif endif
$(TARGET_sysconfdir)/init.d/umountfs: $(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 $(@) $(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/umountfs.init $(@)
$(UPDATE-RC.D) $(@F) start 86 0 . $(UPDATE-RC.D) $(@F) start 86 0 .
endif endif
$(TARGET_sysconfdir)/init.d/suspend: $(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 $(@) $(INSTALL_EXEC) -D $(TARGET_FILES)/scripts/suspend.init $(@)
$(UPDATE-RC.D) $(@F) start 89 0 . $(UPDATE-RC.D) $(@F) start 89 0 .
endif endif

3
support/config.example

@ -34,6 +34,9 @@ MAINTAINER = $(shell whoami)
# Air Digital Zgemma H7 # Air Digital Zgemma H7
#BOXMODEL = h7 #BOXMODEL = h7
# Maxytec Multibox SE 4K
#BOXMODEL = multiboxse
# Edison # Edison
#BOXMODEL = osmio4k #BOXMODEL = osmio4k
#BOXMODEL = osmio4kse #BOXMODEL = osmio4kse

6
support/online-update/get-image.php

@ -13,7 +13,7 @@ $debug = false;
$mmc = false; $mmc = false;
$recovery = false; $recovery = false;
if ($boxmodel == "hd60-mmc" || $boxmodel == "hd61-mmc") if ($boxmodel == "hd60-mmc" || $boxmodel == "hd61-mmc" || $boxmodel == "multiboxse-mmc")
{ {
$boxtype = "armbox"; $boxtype = "armbox";
@ -21,6 +21,8 @@ if ($boxmodel == "hd60-mmc" || $boxmodel == "hd61-mmc")
$boxmodel = "hd60"; $boxmodel = "hd60";
elseif ($boxmodel == "hd61-mmc") elseif ($boxmodel == "hd61-mmc")
$boxmodel = "hd61"; $boxmodel = "hd61";
elseif ($boxmodel == "multiboxse-mmc")
$boxmodel = "multiboxse";
$mmc = true; $mmc = true;
} }
@ -72,7 +74,7 @@ elseif ($boxtype == "armbox" || $boxtype == "arm")
$boxtype_sc = "arm"; $boxtype_sc = "arm";
if ($mmc || $recovery) if ($mmc || $recovery)
{ {
if ($boxmodel == "hd60" || $boxmodel == "hd61") if ($boxmodel == "hd60" || $boxmodel == "hd61" || $boxmodel == "multiboxse")
{ {
if ($mmc) if ($mmc)
$add_str = "_single_mmc"; $add_str = "_single_mmc";

6
support/online-update/update.php

@ -59,6 +59,12 @@ if ($revision == 1) // libstb-hal
$boxseries = "hd6x"; $boxseries = "hd6x";
$boxmodel = "hd61"; $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") elseif ($boxname == "solo4k" || $boxname == "duo4k" || $boxname == "duo4kse" || $boxname == "ultimo4k" || $boxname == "zero4k" || $boxname == "uno4k" || $boxname == "uno4kse")
{ {
$boxtype_sc = "arm"; $boxtype_sc = "arm";

Loading…
Cancel
Save