I'm trying to understand the boot behavior differences between Qualcomm IPQ and MediaTek MT798x platforms regarding eMMC partitioning. Based on my observations:
Qualcomm IPQ series routers appear to boot directly from the user data partition (not using eMMC's dedicated boot partitions).
MediaTek MT798x series (e.g., MT7986/MT7988) consistently uses the eMMC boot partitions (Boot1/Boot2) for initial boot stages.
Key questions:
Is this understanding technically accurate?
Why would MediaTek leverage boot partitions while Qualcomm uses user data?
mediatek`s bringup/boot process is more open to outside observers. In case of mediatek there is a good chance all boot chain (bringup+uboot) can be compiled from source (type u-boot in firmware-selector) , while for qualcomm best chance is to put kernel with same loading offsets where closed bootloader expects one to appear.
In summary qca boot partitions (cf EFI+grub on a PC) are untouched.
Yes, I understand what you said. We can build BL2, BL31 and BL32(uboot) for MediaTek platform. AFAIK, the OpenWRT source puts the BL2 into the EMMC boot partition for BL1 in the bootrom to boot. For example, check this commit 1:
eMMC Flash instructions:
1. SSH to RAX3000M, and backup everything, especially 'factory' part.
('data' partition can be ignored, it's useless.)
2. Write new GPT table:
dd if=openwrt-mediatek-filogic-cmcc_rax3000m-emmc-gpt.bin of=/dev/mmcblk0 bs=512 seek=0 count=34 conv=fsync
3. Erase and write new BL2:
echo 0 > /sys/block/mmcblk0boot0/force_ro
dd if=/dev/zero of=/dev/mmcblk0boot0 bs=512 count=8192 conv=fsync
dd if=openwrt-mediatek-filogic-cmcc_rax3000m-emmc-preloader.bin of=/dev/mmcblk0boot0 bs=512 conv=fsync
In step 3, we can see BL2 is flashed into boot partition.
My question is if the BL1 of MediaTek supports booting the BL2 from eMMC user data partition.