diff options
-rw-r--r-- | target/linux/mediatek/dts/mt7623a-unielec-u7623-02-emmc-512m.dts | 10 | ||||
-rw-r--r-- | target/linux/mediatek/dts/mt7623a-unielec-u7623-02.dts | 12 | ||||
-rw-r--r-- | target/linux/mediatek/dts/mt7623a-unielec-u7623-02.dtsi (renamed from target/linux/mediatek/dts/mt7623a-unielec-u7623-02-emmc.dtsi) | 5 | ||||
-rw-r--r-- | target/linux/mediatek/image/Config.in | 4 | ||||
-rw-r--r-- | target/linux/mediatek/image/Makefile | 12 | ||||
-rwxr-xr-x | target/linux/mediatek/image/gen_mt7623_emmc_img.sh | 30 | ||||
-rwxr-xr-x | target/linux/mediatek/image/gen_mtk_mmc_img.sh | 147 | ||||
-rw-r--r-- | target/linux/mediatek/image/mt7623.mk | 110 | ||||
-rw-r--r-- | target/linux/mediatek/image/mt7623a_unielec_u7623-uEnv.txt | 20 | ||||
-rw-r--r-- | target/linux/mediatek/mt7623/base-files/etc/board.d/02_network | 3 | ||||
-rw-r--r-- | target/linux/mediatek/mt7623/base-files/lib/preinit/07_set_iface_mac | 16 | ||||
-rwxr-xr-x | target/linux/mediatek/mt7623/base-files/lib/upgrade/platform.sh | 38 | ||||
-rw-r--r-- | target/linux/mediatek/mt7623/config-5.10 | 1 |
13 files changed, 95 insertions, 313 deletions
diff --git a/target/linux/mediatek/dts/mt7623a-unielec-u7623-02-emmc-512m.dts b/target/linux/mediatek/dts/mt7623a-unielec-u7623-02-emmc-512m.dts index 822ca3fd49..609bb8f109 100644 --- a/target/linux/mediatek/dts/mt7623a-unielec-u7623-02-emmc-512m.dts +++ b/target/linux/mediatek/dts/mt7623a-unielec-u7623-02-emmc-512m.dts @@ -4,11 +4,15 @@ */ /dts-v1/; -#include "mt7623a-unielec-u7623-02-emmc.dtsi" +#include "mt7623a-unielec-u7623-02.dtsi" / { - model = "UniElec U7623-02 eMMC (512M RAM)"; - compatible = "unielec,u7623-02-emmc-512m", "unielec,u7623-02-emmc", "mediatek,mt7623"; + model = "UniElec U7623-02 eMMC (legacy loader, 512M RAM)"; + compatible = "unielec,u7623-02-emmc-512m", "unielec,u7623-02", "mediatek,mt7623"; + + chosen { + bootargs = "root=/dev/mmcblk0p2 rootfstype=squashfs,f2fs console=ttyS0,115200 blkdevparts=mmcblk0:3M@6M(recovery),256M@9M(root)"; + }; memory@80000000 { device_type = "memory"; diff --git a/target/linux/mediatek/dts/mt7623a-unielec-u7623-02.dts b/target/linux/mediatek/dts/mt7623a-unielec-u7623-02.dts new file mode 100644 index 0000000000..bcd81ba6da --- /dev/null +++ b/target/linux/mediatek/dts/mt7623a-unielec-u7623-02.dts @@ -0,0 +1,12 @@ +// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) +/* + * Copyright 2018 Kristian Evensen <kristian.evensen@gmail.com> + */ + +/dts-v1/; +#include "mt7623a-unielec-u7623-02.dtsi" + +/ { + model = "UniElec U7623-02 eMMC"; + compatible = "unielec,u7623-02", "mediatek,mt7623"; +}; diff --git a/target/linux/mediatek/dts/mt7623a-unielec-u7623-02-emmc.dtsi b/target/linux/mediatek/dts/mt7623a-unielec-u7623-02.dtsi index 46db0985d6..50c7f3e88e 100644 --- a/target/linux/mediatek/dts/mt7623a-unielec-u7623-02-emmc.dtsi +++ b/target/linux/mediatek/dts/mt7623a-unielec-u7623-02.dtsi @@ -8,7 +8,7 @@ #include "mt6323.dtsi" / { - compatible = "unielec,u7623-02-emmc", "mediatek,mt7623"; + compatible = "unielec,u7623-02", "mediatek,mt7623"; aliases { serial0 = &uart2; @@ -21,8 +21,7 @@ }; chosen { - bootargs = "root=/dev/mmcblk0p2 rootfstype=squashfs,f2fs console=ttyS0,115200 blkdevparts=mmcblk0:3M@6M(recovery),256M@9M(root)"; - stdout-path = "serial2:115200n8"; + stdout-path = "serial0:115200n8"; }; cpus { diff --git a/target/linux/mediatek/image/Config.in b/target/linux/mediatek/image/Config.in deleted file mode 100644 index 63329d386a..0000000000 --- a/target/linux/mediatek/image/Config.in +++ /dev/null @@ -1,4 +0,0 @@ -config MTK_BOOT_PARTSIZE - int "Boot (SD Card/eMMC) filesystem partition size (in MiB)" - depends on TARGET_mediatek_mt7623_DEVICE_unielec_u7623-emmc || TARGET_DEVICE_mediatek_mt7623_DEVICE_unielec_u7623-emmc - default 32 diff --git a/target/linux/mediatek/image/Makefile b/target/linux/mediatek/image/Makefile index 7aa7a7285c..4c17e5845a 100644 --- a/target/linux/mediatek/image/Makefile +++ b/target/linux/mediatek/image/Makefile @@ -6,17 +6,7 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk -define Build/sysupgrade-emmc - rm -f $@.recovery - mkfs.fat -C $@.recovery 3070 - - ./gen_$(SUBTARGET)_emmc_img.sh $@ \ - $(IMAGE_KERNEL) \ - $@.recovery \ - $(IMAGE_ROOTFS) -endef - -# default all platform image(fit) build +# default all platform image(fit) build define Device/Default PROFILES = Default $$(DEVICE_NAME) KERNEL_NAME := Image diff --git a/target/linux/mediatek/image/gen_mt7623_emmc_img.sh b/target/linux/mediatek/image/gen_mt7623_emmc_img.sh deleted file mode 100755 index b9eedf80b4..0000000000 --- a/target/linux/mediatek/image/gen_mt7623_emmc_img.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -# -# This script is used only to create the "legacy" image for UniElec U7623, -# suitable for upgrading from the vendor OpenWrt or from OpenWrt 19.07. -# -OUTPUT_FILE=$1 -KERNEL_FILE=$2 -RECOVERY_FILE=$3 -ROOTFS_FILE=$4 - -BS=512 - -# These two offsets are relative to the absolute location of the kernel on the mmc -# (0xA00), so their position in the image is -2560 blocks -# -# They must be kept in sync with the default command line for U7623. -# blkdevparts=mmcblk0:3M@6M(recovery),256M@9M(root)" -# -# For upgrading from the vendor firmware, the total image must fit in its -# MTD 'firmware' partition, which is typically 36MiB. - -# In the legacy image, the uImage starts at block 0xa00. Allow 4864 KiB (9728) blocks. -RECOVERY_OFFSET=9728 -# The recovery image is 3MiB, or 6144 blocks. -ROOTFS_OFFSET=15872 - -dd bs="$BS" of="$OUTPUT_FILE" if="$KERNEL_FILE" -dd bs="$BS" of="$OUTPUT_FILE" if="$RECOVERY_FILE" seek="$RECOVERY_OFFSET" -dd bs="$BS" of="$OUTPUT_FILE" if="$ROOTFS_FILE" seek="$ROOTFS_OFFSET" -dd if=/dev/zero of="$OUTPUT_FILE" bs=128k count=1 oflag=append conv=notrunc diff --git a/target/linux/mediatek/image/gen_mtk_mmc_img.sh b/target/linux/mediatek/image/gen_mtk_mmc_img.sh deleted file mode 100755 index 7e19e1a39e..0000000000 --- a/target/linux/mediatek/image/gen_mtk_mmc_img.sh +++ /dev/null @@ -1,147 +0,0 @@ -#!/bin/bash -# SPDX-License-Identifier: GPL-2.0-only -# -# Copyright © 2019 Alexey Loukianov <lx2@lexa2.ru> -# Copyright © 2020 David Woodhouse <dwmw2@infradead.org> - -# Generates a bootable SD card image for Banana Pi R2 (and probably -# other similar boards) as documented at -# http://www.fw-web.de/dokuwiki/doku.php?id=en:bpi-r2:storage -# -# The first sector must contain the SDMMC_BOOT header shown -# below, and also contains the MBR partition table in the end -# of the sector. The partition table must contain no active -# partitions. -# -# The second sector must contain the BRLYT header, and the -# special preloader image goes in sector 4; 2KiB into the image. -# -# The preloader loads U-Boot from sector 640; 320KiB into the image. -# The location and the size (512KiB) are fixed and not read from -# the partition table. We set up a partition for it merely for -# our own convenience for upgrades, etc. -# -# The second partition is a FAT file system containing the kernel -# image and a uboot.env file, which is provided to this script as -# $4 (bootfs image). Its size is configurable with the -# CONFIG_MTK_BOOT_PARTSIZE option; by default 32MiB. -# -# The root filesystem comes next in the third partition. -# -# -# ------------------------ Sector Offset -# | MBR + SDMMC_BOOT | 0 0x0 -# |----------------------| -# | BRLYT header | 1 0x200 -# |----------------------| -# . . -# . . -# |----------------------| -# | | 4 0x800 -# | | -# | Preloader | -# . . -# . . -# | | 639 -# |----------------------| -# | MBR partition #1 | 640 0x50000 -# | | -# | U-Boot | -# . . -# . . -# | | 1663 -# |----------------------| -# | MBR partition #2 | -# | | -# | FAT partition | ( MTK_BOOT_PARTSIZE -# . . default 32MiB ) -# . (kernel, uEnv) . -# | | -# |----------------------| -# | MBR partition #3 | -# | | -# | Root partition | -# | | ( TARGET_ROOTFS_PARTSIZE -# | (squashfs+overlay | default 104MiB ) -# . or ext4, etc.) . -# . . -# | | -# ------------------------ -# -# For eMMC boot, everything up to and including the preloader must be -# written to /dev/mmcblk0boot0, with the SDMMC_BOOT header changed to -# read EMMC_BOOT\0 instead. -# -# The contents of the main eMMC are identical to the SD card layout, -# with the preloader loading 512KiB of U-Boot starting at 0x50000. - -usage() { - echo "SYNTAX: $0 sd <file> <preloader image> <u-boot image> <u-boot offset> <bootfs image> <rootfs image> <bootfs size> <rootfs size>" - echo " OR: $0 emmc <file> <preloader image>" - exit 1 -} - -set -e - -PRELOADER_OFFSET=2 # 2KiB - -SDMMC_BOOT="SDMMC_BOOT\x00\x00\x01\x00\x00\x00\x00\x02\x00\x00" -EMMC_BOOT="EMMC_BOOT\x00\x00\x00\x01\x00\x00\x00\x00\x02\x00\x00" -BRLYT="BRLYT\x00\x00\x00\x01\x00\x00\x00\x00\x08\x00\x00\ -\x00\x08\x00\x00\x42\x42\x42\x42\x08\x00\x01\x00\x00\x08\x00\x00\ -\x00\x08\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" - -case $1 in - sd) - [ $# -eq 9 ] || usage - OUTPUT="$2" - PRELOADER="$3" - UBOOT="$4" - UBOOTOFS="$5" - BOOTFS="$6" - ROOTFS="$7" - BOOTFSSIZE="$8" - ROOTFSSIZE="$9" - - head=4 - sect=63 - - set $(ptgen -o $OUTPUT -h $head -s $sect -a 0 -l 1024 \ - -t 41 -p 512k@${UBOOTOFS} \ - -t c -p ${BOOTFSSIZE}M \ - -t 83 -p ${ROOTFSSIZE}M ) - - UBOOT_OFFSET="$(($1 / 512))" - UBOOT_SIZE="$(($2 / 512))" - BOOTFS_OFFSET="$(($3 / 512))" - BOOTFS_SIZE="$(($4 / 512))" - ROOTFS_OFFSET="$(($5 / 512))" - ROOTFS_SIZE="$(($6 / 512))" - - echo -en "${SDMMC_BOOT}" | dd bs=1 of="${OUTPUT}" seek=0 conv=notrunc - echo -en "${BRLYT}" | dd bs=1 of="${OUTPUT}" seek=512 conv=notrunc - - # For eMMC-only boards like U7623 the preloader doesn't need to be included in the - # main image as it's only ever needed in the eMMC boot partition. - if [ -r ${PRELOADER} ]; then - dd bs=1024 if="${PRELOADER}" of="${OUTPUT}" seek="${PRELOADER_OFFSET}" conv=notrunc - fi - dd bs=512 if="${UBOOT}" of="${OUTPUT}" seek="${UBOOT_OFFSET}" conv=notrunc - dd bs=512 if="${BOOTFS}" of="${OUTPUT}" seek="${BOOTFS_OFFSET}" conv=notrunc - dd bs=512 if="${ROOTFS}" of="${OUTPUT}" seek="${ROOTFS_OFFSET}" conv=notrunc - dd bs=128k if=/dev/zero of="${OUTPUT}" count=1 oflag=append conv=notrunc - ;; - emmc) - [ $# -eq 3 ] || usage - OUTPUT="$2" - PRELOADER="$3" - - echo -en "${EMMC_BOOT}" | dd bs=1 of="${OUTPUT}" seek=0 - echo -en "${BRLYT}" | dd bs=1 of="${OUTPUT}" seek=512 conv=notrunc - - dd bs=1024 if="${PRELOADER}" of="${OUTPUT}" seek="${PRELOADER_OFFSET}" conv=notrunc - ;; - *) - usage - ;; -esac diff --git a/target/linux/mediatek/image/mt7623.mk b/target/linux/mediatek/image/mt7623.mk index 1d7745f1d6..cad3dd2b93 100644 --- a/target/linux/mediatek/image/mt7623.mk +++ b/target/linux/mediatek/image/mt7623.mk @@ -1,5 +1,5 @@ KERNEL_LOADADDR := 0x80008000 -DEVICE_VARS += UBOOT_TARGET UBOOT_OFFSET UBOOT_ENVSIZE +DEVICE_VARS += UBOOT_TARGET UBOOT_OFFSET UBOOT_IMAGE # The bootrom of MT7623 expects legacy MediaTek headers present in # exactly the location also used for the primary GPT partition table. @@ -55,7 +55,7 @@ DEVICE_VARS += UBOOT_TARGET UBOOT_OFFSET UBOOT_ENVSIZE define Build/mt7623-mbr cp $@ $@.tmp 2>/dev/null || true ptgen -o $@.tmp -h 4 -s 63 -a 0 -l 1024 \ - -t 0x41 -N uboot -p 3584k@320k \ + -t 0x41 -N uboot -p 1M@$(UBOOT_OFFSET) \ -t 0xea -N recovery -p 40M@4M \ $(if $(findstring sdmmc,$1), \ -t 0x2e -N production -p $(CONFIG_TARGET_ROOTFS_PARTSIZE)M@48M \ @@ -81,7 +81,12 @@ define Build/append-preloader endef define Build/append-bootloader - cat $(STAGING_DIR_IMAGE)/$1-u-boot.bin >> $@ + cat $(STAGING_DIR_IMAGE)/$1-$(UBOOT_IMAGE) >> $@ +endef + +define Build/scatterfile + ./gen_scatterfile.sh $(subst mt,MT,$(SUBTARGET)) "$1" \ + $(subst -scatter.txt,,$(notdir $@)) "$(DEVICE_TITLE)" > $@ endef define Device/bananapi_bpi-r2 @@ -89,84 +94,69 @@ define Device/bananapi_bpi-r2 DEVICE_MODEL := BPi-R2 DEVICE_DTS := mt7623n-bananapi-bpi-r2 DEVICE_PACKAGES := mkf2fs e2fsprogs kmod-usb3 kmod-ata-ahci - UBOOT_ENVSIZE := 0x10000 UBOOT_OFFSET := 320k UBOOT_TARGET := mt7623n_bpir2 - UBOOT_PATH := $(STAGING_DIR_IMAGE)/mt7623n_bpir2-u-boot.bin + UBOOT_IMAGE := u-boot.bin + UBOOT_PATH := $(STAGING_DIR_IMAGE)/$$(UBOOT_TARGET)-$$(UBOOT_IMAGE) IMAGES := sysupgrade.itb KERNEL := kernel-bin | gzip KERNEL_INITRAMFS_SUFFIX := -recovery.itb KERNEL_INITRAMFS := kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb with-initrd IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb external-static-with-rootfs | append-metadata - ARTIFACT/preloader.bin := append-preloader $$(UBOOT_TARGET) + ARTIFACT/preloader.bin := mt7623-mbr emmc |\ + pad-to 2k | append-preloader $$(UBOOT_TARGET) ARTIFACT/u-boot.bin := append-uboot ARTIFACT/sdcard.img.gz := mt7623-mbr sdmmc |\ pad-to 2k | append-preloader $$(UBOOT_TARGET) |\ - pad-to 320k | append-bootloader $$(UBOOT_TARGET) |\ + pad-to $$(UBOOT_OFFSET) | append-bootloader $$(UBOOT_TARGET) |\ pad-to 4092k | mt7623-mbr emmc |\ pad-to 4M | append-image-stage initramfs-recovery.itb |\ pad-to 48M | append-image squashfs-sysupgrade.itb |\ gzip - ARTIFACTS = u-boot.bin preloader.bin scatter.txt sdcard.img.gz + ARTIFACTS := u-boot.bin preloader.bin sdcard.img.gz SUPPORTED_DEVICES := bananapi,bpi-r2 endef TARGET_DEVICES += bananapi_bpi-r2 - -ifneq ($(CONFIG_MTK_BOOT_PARTSIZE),) -BOOTFS_BLOCK_SIZE := 1024 -BOOTFS_BLOCKS := $(shell echo $$(($(CONFIG_MTK_BOOT_PARTSIZE)*1024*1024/$(BOOTFS_BLOCK_SIZE)))) -endif - -define Build/mtk-mmc-img - rm -f $@.boot - mkfs.fat -C $@.boot $(BOOTFS_BLOCKS) - - if [ -r $(STAGING_DIR_IMAGE)/$(UBOOT_TARGET)-preloader.bin ]; then \ - ./gen_mtk_mmc_img.sh emmc $@.emmc \ - $(STAGING_DIR_IMAGE)/$(UBOOT_TARGET)-preloader.bin; \ - mcopy -i $@.boot $@.emmc ::eMMCboot.bin; \ - fi - mkenvimage -s $(UBOOT_ENVSIZE) -o $(STAGING_DIR_IMAGE)/$(UBOOT_TARGET)-uboot.env $(UBOOT_TARGET)-uEnv.txt - mcopy -i $@.boot $(STAGING_DIR_IMAGE)/$(UBOOT_TARGET)-uboot.env ::uboot.env - mcopy -i $@.boot $(IMAGE_KERNEL) ::uImage - ./gen_mtk_mmc_img.sh sd $@ \ - $(STAGING_DIR_IMAGE)/$(UBOOT_TARGET)-preloader.bin \ - $(STAGING_DIR_IMAGE)/$(UBOOT_TARGET)-u-boot*.bin \ - $(UBOOT_OFFSET) \ - $@.boot \ - $(IMAGE_ROOTFS) \ - $(CONFIG_MTK_BOOT_PARTSIZE) \ - 104 -endef - -define Build/scatterfile - ./gen_scatterfile.sh $(subst mt,MT,$(SUBTARGET)) "$1" \ - $(subst -scatter.txt,,$(notdir $@)) "$(DEVICE_TITLE)" > $@ -endef - - -# Full eMMC image including U-Boot and partition table -define Device/unielec_u7623-emmc +define Device/unielec_u7623-02 DEVICE_VENDOR := UniElec - DEVICE_MODEL := U7623 - DEVICE_VARIANT := eMMC + DEVICE_MODEL := U7623-02 # When we use FIT images, U-Boot will populate the /memory node with the correct # memory size discovered from the preloader, so we don't need separate builds. - DEVICE_DTS := mt7623a-unielec-u7623-02-emmc-512m + DEVICE_DTS := mt7623a-unielec-u7623-02 DEVICE_DTS_DIR := ../dts - SUPPORTED_DEVICES := unielec,u7623-02-emmc-512m - UBOOT_ENVSIZE := 0x1000 + DEVICE_PACKAGES := kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 kmod-mmc \ + mkf2fs e2fsprogs kmod-usb-ohci kmod-usb2 kmod-usb3 kmod-ata-ahci UBOOT_OFFSET := 256k UBOOT_TARGET := mt7623a_unielec_u7623 - IMAGES := img.gz - IMAGE/img.gz := mtk-mmc-img | gzip | append-metadata - DEVICE_PACKAGES := kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 kmod-mmc \ - mkf2fs e2fsprogs kmod-usb-ohci kmod-usb2 kmod-usb3 kmod-ata-ahci-mtk - ARTIFACT/scatter.txt := scatterfile $$(firstword $$(FILESYSTEMS))-$$(firstword $$(IMAGES)) - ARTIFACTS := scatter.txt + UBOOT_IMAGE := u-boot-mtk.bin + UBOOT_PATH := $(STAGING_DIR_IMAGE)/$$(UBOOT_TARGET)-$$(UBOOT_IMAGE) + IMAGES := sysupgrade.itb + KERNEL := kernel-bin | gzip + KERNEL_INITRAMFS_SUFFIX := -recovery.itb + KERNEL_INITRAMFS := kernel-bin | gzip | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd + IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata + ARTIFACT/u-boot.bin := append-uboot +# vendor Preloader seems not to care about SDMMC_BOOT/EMMC_BOOT header, +# but OpenWrt expects 'SDMM' magic for sysupgrade. + ARTIFACT/emmc.img.gz := mt7623-mbr sdmmc |\ + pad-to $$(UBOOT_OFFSET) | append-bootloader $$(UBOOT_TARGET) |\ + pad-to 4M | append-image-stage initramfs-recovery.itb |\ + pad-to 48M | append-image squashfs-sysupgrade.itb |\ + gzip | append-metadata + ARTIFACT/scatter.txt := scatterfile emmc.img.gz + ARTIFACTS := u-boot.bin scatter.txt emmc.img.gz + SUPPORTED_DEVICES += unielec,u7623-02-emmc-512m +endef +TARGET_DEVICES += unielec_u7623-02 + + +# Legacy helper for U7623 board +define Build/fat-recovery-fs + rm -f $@.recovery + mkfs.fat -C $@.recovery 3070 + cat $@.recovery >> $@ endef -TARGET_DEVICES += unielec_u7623-emmc # Legacy partial image for U7623 # This preserves the vendor U-Boot and starts with a uImage at 0xA00 @@ -180,9 +170,13 @@ define Device/unielec_u7623-02-emmc-512m-legacy KERNEL := kernel-bin | append-dtb | uImage none KERNEL_INITRAMFS := kernel-bin | append-dtb | uImage none DEVICE_PACKAGES := kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 kmod-mmc \ - mkf2fs e2fsprogs kmod-usb-ohci kmod-usb2 kmod-usb3 kmod-ata-ahci-mtk + mkf2fs e2fsprogs kmod-usb-ohci kmod-usb2 kmod-usb3 kmod-ata-ahci-mtk \ + partx-utils IMAGES := sysupgrade-emmc.bin.gz - IMAGE/sysupgrade-emmc.bin.gz := sysupgrade-emmc | gzip | append-metadata + IMAGE/sysupgrade-emmc.bin.gz := append-kernel |\ + pad-to 4864k | fat-recovery-fs |\ + pad-to 7936k | append-rootfs |\ + gzip | append-metadata SUPPORTED_DEVICES := unielec,u7623-02-emmc-512m endef TARGET_DEVICES += unielec_u7623-02-emmc-512m-legacy diff --git a/target/linux/mediatek/image/mt7623a_unielec_u7623-uEnv.txt b/target/linux/mediatek/image/mt7623a_unielec_u7623-uEnv.txt deleted file mode 100644 index 5e5f8cae73..0000000000 --- a/target/linux/mediatek/image/mt7623a_unielec_u7623-uEnv.txt +++ /dev/null @@ -1,20 +0,0 @@ -# Boot menu for UniElec U7623 -# Copyright © 2020 David Woodhouse <dwmw2@infradead.org> - -kernel=uImage -loadaddr=0x88000000 -dtaddr=0x83f00000 -fdt_high=0xafffffff - -console=ttyS0,115200 -bootopts=rootfstype=squashfs,ext4 rootwait - -# Create the command line (with appropriate root=) and boot the Linux FIT image. -boot1=setenv bootargs "console=${console} root=${rootdev} ${bootopts}";printenv bootargs;\ - fatload mmc ${partition} ${loadaddr} ${kernel}; bootm - -bootmenu_0=Boot from eMMC.=setenv partition 0:2;setenv rootdev /dev/mmcblk0p3;run boot1 -bootmenu_default=0 - -bootdelay=0 -bootcmd=bootmenu diff --git a/target/linux/mediatek/mt7623/base-files/etc/board.d/02_network b/target/linux/mediatek/mt7623/base-files/etc/board.d/02_network index 2006248530..aeab04001a 100644 --- a/target/linux/mediatek/mt7623/base-files/etc/board.d/02_network +++ b/target/linux/mediatek/mt7623/base-files/etc/board.d/02_network @@ -9,6 +9,7 @@ mediatek_setup_interfaces() case $board in bananapi,bpi-r2|\ + unielec,u7623-02|\ unielec,u7623-02-emmc-512m) ucidef_set_interfaces_lan_wan "lan0 lan1 lan2 lan3" "wan" ;; @@ -20,6 +21,8 @@ mediatek_setup_macs() local board="$1" case $board in + bananapi,bpi-r2|\ + unielec,u7623-02|\ unielec,u7623-02-emmc-512m) ucidef_set_interface_macaddr "wan" "$(cat /sys/class/net/wan/address)" ;; diff --git a/target/linux/mediatek/mt7623/base-files/lib/preinit/07_set_iface_mac b/target/linux/mediatek/mt7623/base-files/lib/preinit/07_set_iface_mac index 7b165df565..424fe50be2 100644 --- a/target/linux/mediatek/mt7623/base-files/lib/preinit/07_set_iface_mac +++ b/target/linux/mediatek/mt7623/base-files/lib/preinit/07_set_iface_mac @@ -42,22 +42,8 @@ preinit_set_mac_address() { local rootpart case $(board_name) in - bananapi,bpi-r2|\ unielec,u7623-02-emmc-512m) - rootpart=$(cat /proc/cmdline) - rootpart="${rootpart##*root=}" - rootpart="${rootpart%% *}" - case $rootpart in - /dev/mmcblk0p2) # Legacy U7623 image - set_recovery_mac_address /dev/mmcblk0p1 - ;; - /dev/mmcblk0p3) # U7623 or Banana Pi R2 eMMC - set_recovery_mac_address /dev/mmcblk0p2 - ;; - /dev/mmcblk1p3) # Banana Pi R2 SD - set_recovery_mac_address /dev/mmcblk1p2 - ;; - esac + set_recovery_mac_address /dev/mmcblk0p1 ;; esac } diff --git a/target/linux/mediatek/mt7623/base-files/lib/upgrade/platform.sh b/target/linux/mediatek/mt7623/base-files/lib/upgrade/platform.sh index 452a533db0..e885f460e9 100755 --- a/target/linux/mediatek/mt7623/base-files/lib/upgrade/platform.sh +++ b/target/linux/mediatek/mt7623/base-files/lib/upgrade/platform.sh @@ -2,8 +2,8 @@ REQUIRE_IMAGE_METADATA=1 RAMFS_COPY_BIN='fwtool' -# Full system upgrade including preloader for MediaTek SoCs on eMMC or SD -mtk_mmc_full_upgrade() { +# Legacy full system upgrade including preloader for MediaTek SoCs on eMMC or SD +legacy_mtk_mmc_full_upgrade() { local diskdev partdev diff oldrecovery if grep -q root=/dev/mmcblk0p2 /proc/cmdline; then @@ -26,7 +26,7 @@ mtk_mmc_full_upgrade() { fi sync - if [ "$SAVE_PARTITIONS" = "1" ]; then + if [ "$UPGRADE_OPT_SAVE_PARTITIONS" = "1" ]; then get_partitions "/dev/$diskdev" bootdisk #extract the boot sector from the image @@ -83,18 +83,18 @@ platform_do_upgrade() { local board=$(board_name) case "$board" in - bananapi,bpi-r2) + bananapi,bpi-r2|\ + unielec,u7623-02) export_bootdevice export_partdevice fitpart 3 [ "$fitpart" ] || return 1 EMMC_KERN_DEV="/dev/$fitpart" emmc_do_upgrade "$1" ;; - unielec,u7623-02-emmc-512m) local magic="$(get_magic_long "$1")" if [ "$magic" = "53444d4d" ]; then - mtk_mmc_full_upgrade "$1" + legacy_mtk_mmc_full_upgrade "$1" else # Old partial image starting with uImage # Keep the persistent random mac address (if it exists) recoverydev=mmcblk0p1 @@ -120,17 +120,14 @@ platform_do_upgrade() { esac } -PART_NAME=firmware - platform_check_image() { - local board=$(board_name) local magic="$(get_magic_long "$1")" - local diskdev partdev diff [ "$#" -gt 1 ] && return 1 - case "$board" in - bananapi,bpi-r2) + case "$(board_name)" in + bananapi,bpi-r2|\ + unielec,u7623-02) [ "$magic" != "d00dfeed" ] && { echo "Invalid image type." return 1 @@ -140,19 +137,17 @@ platform_check_image() { # Can always upgrade to the new-style full image [ "$magic" = "53444d4d" ] && return 0 + # need to update to new bootchain via full image first + [ "$magic" = "d00dfeed" ] && { + echo "Please use full eMMC image to update bootloader first." + return 1 + } + # Legacy uImage directly at 0xA00 on the eMMC. [ "$magic" != "27051956" ] && { echo "Invalid image type." return 1 } - rootpart=$(cat /proc/cmdline) - rootpart="${rootpart##*root=}" - rootpart="${rootpart%% *}" - [ "$rootpart" != "/dev/mmcblk0p2" ] && { - echo "Cannot downgrade to legacy image." - return 1 - } - return 0 ;; *) echo "Sysupgrade is not supported on your board yet." @@ -165,7 +160,8 @@ platform_check_image() { platform_copy_config() { case "$(board_name)" in - bananapi,bpi-r2) + bananapi,bpi-r2|\ + unielec,u7623-02) emmc_copy_config ;; unielec,u7623-02-emmc-512m) diff --git a/target/linux/mediatek/mt7623/config-5.10 b/target/linux/mediatek/mt7623/config-5.10 index 308a08413b..09ecc16ef2 100644 --- a/target/linux/mediatek/mt7623/config-5.10 +++ b/target/linux/mediatek/mt7623/config-5.10 @@ -391,7 +391,6 @@ CONFIG_MODULES_USE_ELF_REL=y # CONFIG_MOUSE_PS2 is not set # CONFIG_MOUSE_SERIAL is not set # CONFIG_MOUSE_VSXXXAA is not set -CONFIG_MTD_BLOCK2MTD=y CONFIG_MTD_CMDLINE_PARTS=y # CONFIG_MTD_NAND_MTK_BMT is not set # CONFIG_MTD_PARSER_TRX is not set |