|
@@ -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 $@ [email protected] 2>/dev/null || true
|
|
|
ptgen -o [email protected] -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 [email protected]
|
|
|
- mkfs.fat -C [email protected] $(BOOTFS_BLOCKS)
|
|
|
-
|
|
|
- if [ -r $(STAGING_DIR_IMAGE)/$(UBOOT_TARGET)-preloader.bin ]; then \
|
|
|
- ./gen_mtk_mmc_img.sh emmc [email protected] \
|
|
|
- $(STAGING_DIR_IMAGE)/$(UBOOT_TARGET)-preloader.bin; \
|
|
|
- mcopy -i [email protected] [email protected] ::eMMCboot.bin; \
|
|
|
- fi
|
|
|
- mkenvimage -s $(UBOOT_ENVSIZE) -o $(STAGING_DIR_IMAGE)/$(UBOOT_TARGET)-uboot.env $(UBOOT_TARGET)-uEnv.txt
|
|
|
- mcopy -i [email protected] $(STAGING_DIR_IMAGE)/$(UBOOT_TARGET)-uboot.env ::uboot.env
|
|
|
- mcopy -i [email protected] $(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) \
|
|
|
- [email protected] \
|
|
|
- $(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 [email protected]
|
|
|
+ mkfs.fat -C [email protected] 3070
|
|
|
+ cat [email protected] >> $@
|
|
|
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
|