[][Refactor eMMC image of MT7981 fpga]
[Description]
Refactor eMMC image of MT7981 fpga
The whole image format is changed:
- Kernel and rootfs reside in individual partitions.
- rootfs_data split from rootfs partition using loop device with offset.
- Upgrading firmware usig tarball with saving config files supported.
- No recovery partition needed.
- No GPT partition offset and size restricted.
Important note:
Please select the following packages to make emmc firmware upgrading work:
e2fsprogs mkf2fs blkid blockdev losetup kmod-fs-ext4 kmod-fs-f2fs
[Release-log]
N/A
Change-Id: I9b7612b24ff0d6f62d080e709192bb298cb2444a
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/5607081
diff --git a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7981-fpga-emmc.dts b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7981-fpga-emmc.dts
index 9bce9f6..6c3a197 100644
--- a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7981-fpga-emmc.dts
+++ b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7981-fpga-emmc.dts
@@ -6,7 +6,7 @@
chosen {
bootargs = "console=ttyS0,115200n1 loglevel=8 \
earlycon=uart8250,mmio32,0x11002000 \
- root=/dev/mmcblk0p7 rootfstype=squashfs,f2fs";
+ root=PARTLABEL=rootfs rootfstype=squashfs,f2fs";
};
memory {
diff --git a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7981-fpga-sd.dts b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7981-fpga-sd.dts
index 5d1caaa..deca60b 100644
--- a/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7981-fpga-sd.dts
+++ b/target/linux/mediatek/files-5.4/arch/arm64/boot/dts/mediatek/mt7981-fpga-sd.dts
@@ -2,11 +2,11 @@
#include "mt7981-fpga.dtsi"
/ {
model = "MediaTek MT7981 FPGA";
- compatible = "mediatek,mt7981-fpga-emmc";
+ compatible = "mediatek,mt7981-fpga-sd";
chosen {
bootargs = "console=ttyS0,115200n1 loglevel=8 \
earlycon=uart8250,mmio32,0x11002000 \
- root=/dev/mmcblk0p7 rootfstype=squashfs,f2fs";
+ root=PARTLABEL=rootfs rootfstype=squashfs,f2fs";
};
memory {
diff --git a/target/linux/mediatek/image/mt7981.mk b/target/linux/mediatek/image/mt7981.mk
index 359351d..ce977b7 100755
--- a/target/linux/mediatek/image/mt7981.mk
+++ b/target/linux/mediatek/image/mt7981.mk
@@ -131,9 +131,24 @@
DEVICE_VENDOR := MediaTek
DEVICE_MODEL := mt7981-fpga-emmc
DEVICE_DTS := mt7981-fpga-emmc
+ SUPPORTED_DEVICES := mediatek,mt7981-fpga-emmc
DEVICE_DTS_DIR := $(DTS_DIR)/mediatek
- DEVICE_PACKAGES := mkf2fs e2fsprogs kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1 kmod-mmc
- IMAGES := sysupgrade-emmc.bin.gz
- IMAGE/sysupgrade-emmc.bin.gz := sysupgrade-emmc | gzip | append-metadata
+ DEVICE_PACKAGES := mkf2fs e2fsprogs blkid blockdev losetup kmod-fs-ext4 \
+ kmod-mmc kmod-fs-f2fs kmod-fs-vfat kmod-nls-cp437 \
+ kmod-nls-iso8859-1
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
endef
TARGET_DEVICES += mt7981-fpga-emmc
+
+define Device/mt7981-fpga-sd
+ DEVICE_VENDOR := MediaTek
+ DEVICE_MODEL := mt7981-fpga-sd
+ DEVICE_DTS := mt7981-fpga-sd
+ SUPPORTED_DEVICES := mediatek,mt7981-fpga-sd
+ DEVICE_DTS_DIR := $(DTS_DIR)/mediatek
+ DEVICE_PACKAGES := mkf2fs e2fsprogs blkid blockdev losetup kmod-fs-ext4 \
+ kmod-mmc kmod-fs-f2fs kmod-fs-vfat kmod-nls-cp437 \
+ kmod-nls-iso8859-1
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
+endef
+TARGET_DEVICES += mt7981-fpga-sd